2015-02-03
Fast Bulk Inserts into SQLite
Fast Bulk Inserts into SQLite
http://blog.quibb.org/2010/08/fast-bulk-inserts-into-sqlite/
Finding Duplicates with SQL
SELECT email, COUNT(email) AS NumOccurrences FROM users GROUP BY email HAVING ( COUNT(email) > 1 )
Finding rows that occur exactly once
SELECT email FROM users GROUP BY email HAVING ( COUNT(email) = 1 )
http://blog.quibb.org/2010/08/fast-bulk-inserts-into-sqlite/
Finding Duplicates with SQL
SELECT email, COUNT(email) AS NumOccurrences FROM users GROUP BY email HAVING ( COUNT(email) > 1 )
Finding rows that occur exactly once
SELECT email FROM users GROUP BY email HAVING ( COUNT(email) = 1 )
SQL 參數化查詢
MySQL
MySQL 的參數格式是以 "?" 字元加上參數名稱而成。
UPDATE myTable SET c1 = ?c1, c2 = ?c2, c3 = ?c3 WHERE c4 = ?c4
PostgreSQL/SQLite
PostgreSQL 和 SQLite 的參數格式是以 「:」 加上參數名而成。當然,也支援類似 Access 的匿名參數。
UPDATE "myTable" SET "c1" = :c1, "c2" = :c2, "c3" = :c3 WHERE "c4" = :c4
參數化查詢是防止SQL Injection的另一種方法,但對我目前的case來說沒必要,
mysql_real_escape_string 就能搞定的東西我認為沒必要再複雜化,
或用Active Record就已經處理好這些問題了,
只是怕以後會用到,先學起來。
reference:
http://zh.wikipedia.org/wiki/%E5%8F%83%E6%95%B8%E5%8C%96%E6%9F%A5%E8%A9%A2
MySQL 的參數格式是以 "?" 字元加上參數名稱而成。
UPDATE myTable SET c1 = ?c1, c2 = ?c2, c3 = ?c3 WHERE c4 = ?c4
PostgreSQL/SQLite
PostgreSQL 和 SQLite 的參數格式是以 「:」 加上參數名而成。當然,也支援類似 Access 的匿名參數。
UPDATE "myTable" SET "c1" = :c1, "c2" = :c2, "c3" = :c3 WHERE "c4" = :c4
參數化查詢是防止SQL Injection的另一種方法,但對我目前的case來說沒必要,
mysql_real_escape_string 就能搞定的東西我認為沒必要再複雜化,
或用Active Record就已經處理好這些問題了,
只是怕以後會用到,先學起來。
reference:
http://zh.wikipedia.org/wiki/%E5%8F%83%E6%95%B8%E5%8C%96%E6%9F%A5%E8%A9%A2
標籤:
database,
mysql,
postgresql,
sqlite
訂閱:
文章 (Atom)