SQLite³£¼ûÎÊÌâ½â´ð
1¡¢ÈçºÎ½¨Á¢×Ô¶¯Ôö³¤×Ö¶Î?
¼ò¶Ì»Ø´ð£ºÉùÃ÷Ϊ INTEGER PRIMARY KEY µÄÁн«»á×Ô¶¯Ôö³¤¡£
³¤Ò»µãµÄ´ð°¸£º Èç¹ûÄãÉùÃ÷±íµÄÒ»ÁÐΪ INTEGER PRIMARY KEY£¬ÄÇô£¬ ÿµ±ÄãÔÚ¸ÃÁÐÉϲåÈëÒ»NULLֵʱ£¬ NULL×Ô¶¯±»×ª»»ÎªÒ»¸ö±È¸ÃÁÐÖÐ×î´óÖµ´ó1µÄÒ»¸öÕûÊý£¬Èç¹û±íÊǿյģ¬ ½«»áÊÇ1¡£ (Èç¹ûÊÇ×î´ó¿ÉÄܵÄÖ÷¼ü 9223372036854775807£¬ÄǸö£¬½«¼üÖµ½«ÊÇËæ»úδʹÓõÄÊý¡££© È磬ÓÐÏÂÁÐ±í£º
CREATE TABLE t1(
¡¡a INTEGER PRIMARY KEY,
¡¡b INTEGER
);
¡¡¡¡ÔڸñíÉÏ£¬ÏÂÁÐÓï¾ä
INSERT INTO t1 VALUES(NULL,123);
¡¡¡¡ÔÚÂß¼ÉϵȼÛÓÚ£º
INSERT INTO t1 VALUES((SELECT max(a) from t1)+1,123);
¡¡¡¡ÓÐÒ»¸öеÄAPI½Ð×ö sqlite3_last_insert_rowid()£¬ Ëü½«·µ»Ø×î½ü²åÈëµÄÕûÊýÖµ¡£
¡¡¡¡×¢Òâ¸ÃÕûÊý»á±È±íÖиÃÁÐÉϵIJåÈë֮ǰµÄ×î´óÖµ´ó1¡£ ¸Ã¼üÖµÔÚµ±Ç°µÄ±íÖÐÊÇΨһµÄ¡£µ«ÓпÉÄÜÓëÒÑ´Ó±íÖÐɾ³ýµÄÖµÖØµþ¡£ ÒªÏ뽨Á¢ÔÚÕû¸ö±íµÄÉúÃüÖÜÆÚÖÐΨһµÄ¼üÖµ£¬ÐèÒªÔÚ INTEGER PRIMARY KEY ÉÏÔö¼ÓAUTOINCREMENTÉùÃ÷¡£ÄÇô£¬ÐµļüÖµ½«»á±È¸Ã±íÖÐÔøÄÜ´æÔÚ¹ýµÄ×î´óÖµ´ó1¡£ Èç¹û×î´ó¿ÉÄܵÄÕûÊýÖµÔÚÊý¾Ý±íÖÐÔø¾´æÔÚ¹ý£¬INSERT½«»áʧ°Ü£¬ ²¢·µ»ØSQLITE_FULL´íÎó´úÂë¡£
(2)SQLiteÖ§³ÖºÎÖÖÊý¾ÝÀàÐÍ£¿
¡¡¡¡²Î¼û http://www.sqlite.org/datatype3.html.
(3)SQLiteÔÊÐíÏòÒ»¸öintegerÐÍ×Ö¶ÎÖвåÈë×Ö·û´®£¡
¡¡¡¡ÕâÊÇÒ»¸öÌØÐÔ£¬¶ø²»ÊÇÒ»¸öbug¡£SQLite²»Ç¿ÖÆÊý¾ÝÀàÐÍÔ¼Êø¡£ ÈκÎÊý¾Ý¶¼¿ÉÒÔ²åÈëÈκÎÁС£Äã¿ÉÒÔÏòÒ»¸öÕûÐÍÁÐÖвåÈëÈÎÒⳤ¶ÈµÄ×Ö·û´®£¬ Ïò²¼¶ûÐÍÁÐÖвåÈ븡µãÊý£¬»òÕßÏò×Ö·ûÐÍÁÐÖвåÈëÈÕÆÚÐÍÖµ¡£ ÔÚ CREATE TABLE ÖÐËùÖ¸¶¨µÄÊý¾ÝÀàÐͲ»»áÏÞÖÆÔÚ¸ÃÁÐÖвåÈëÈκÎÊý¾Ý¡£ ÈκÎÁоù¿É½ÓÊÜÈÎÒⳤ¶ÈµÄ×Ö·û´®£¨Ö»ÓÐÒ»ÖÖÇé¿ö³ýÍ⣺ ±ê־ΪINTEGER PRIMARY KEYµÄÁÐÖ»ÄÜ´æ´¢64λÕûÊý£¬ µ±ÏòÕâÖÖÁÐÖвåÊý¾Ý³ýÕûÊýÒÔÍâµÄÊý¾Ýʱ£¬½«»á²úÉú´íÎó¡£
¡¡¡¡µ«SQLiteȷʵʹÓÃÉùÃ÷µÄÁÐÀàÐÍÀ´Ö¸Ê¾ÄãËùÆÚÍûµÄ¸ñʽ¡£ËùÒÔ£¬ ÀýÈçÄãÏòÒ»¸öÕûÐÍÁÐÖвåÈë×Ö·û´®Ê±£¬SQLite»áÊÔͼ½«¸Ã×Ö·û´®×ª»»³ÉÒ»¸öÕûÊý¡£ Èç¹û¿ÉÒÔת»»£¬Ëü½«²åÈë¸ÃÕûÊý£»·ñÔò£¬½«²åÈë×Ö·û´®¡£ ÕâÖÖÌØÐÔÓÐʱ±»³ÆÎª ÀàÐÍ»òÁÐÇ׺ÍÐÔ(type or column affinity).
(4)ΪʲôSQLite²»ÔÊÐíÔÚͬһ¸ö±í²»Í¬µÄÁ½ÐÐÉÏʹÓÃ0ºÍ0.0×÷Ö÷¼ü£¿
¡¡¡¡Ö÷¼ü±ØÐëÊÇÊýÖµÀàÐÍ£¬½«Ö÷¼ü¸ÄΪTEXTÐͽ«²»Æð×÷Óá£
¡¡¡¡Ã¿Ò»ÐбØÐëÓÐÒ»¸öΨһµÄÖ÷¼ü¡£¶ÔÓÚÒ»¸öÊýÖµÐÍÁУ¬ SQLiteÈÏΪ '0' ºÍ '0.0' ÊÇÏàͬµÄ£¬ ÒòΪËûÃÇÔ
Ïà¹ØÎĵµ£º
sqlite¹Ù·½Õ¾
http://www.sqlite.org/
SQL Syntax
http://www.sqlite.org/lang.html
sqliteÖÐÎÄÕ¾
http://www.sqlite.com.cn/
http://www.sqlitechina.org/
½¨Á¢Êý¾Ý¿âµµ°¸
ÓÃsqlite3½¨Á¢Êý¾Ý¿âµÄ·½·¨ºÜ¼òµ¥£¬Ö»ÒªÔÚshellϼüÈ루ÒÔÏÂ$·ûºÅΪshellÌáʾºÅ£¬ÇëÎð¼üÈ룩£º
$ sqlite3 foo.db
Èç¹ûĿ¼ÏÂûÓÐfo ......
°ÝGoogleµÄScott Hessͬ־Ëù´Í£¬SQLiteÒ²ÍÆ³öÁËÈ«ÎÄËÑË÷¹¦ÄÜ¡£
SQLiteͨ¹ý½¨Á¢Ò»¸öÐéÄâ±í£¬½«ÊäÈëµÄÎÄ×Ö¸ù¾Ý¿Õ¸ñ¡¢±êµã·ûºÏµÈ¹æÔò½øÐзִʣ¬×éÖ¯³ÉÒ»¿ÃBÊ÷£¬ÒÔ´ËÀ´Ìá¸ßËÑË÷ËÙ¶È¡£
ÈçºÎʹÓÃÕâÒ»¹¦ÄÜ£¬ÐÔÄÜÉÏÈçºÎ£¬´ó¼Ò¸÷×ÔÑо¿È¥°É¡£
ÔÚÕâÀ ......
1¡¢.back ?DB? FILE ±¸·ÝDB(ĬÈÏΪmain)µ½Îļþ
2¡¢.bail ON|OFF Óöµ½Ò»¸ö´íÎó¿ÛÍ£Ö¹£¬¸ÃֵĬÈÏΪOFF
3¡¢.databases Áоٸ½¼Óµ½Êý¾Ý¿âµÄÊý¾Ý¿âÃûºÍÎļþÃû
4¡¢.dump ?TABLE? ... ÓÃSQLÎı¾¸ñʽÁоÙÊý¾Ý¿â£¬Èç¹ûÖ¸¶¨TABLE£¬½ö½öÁÐ¾ÙÆ¥ÅäµÄ±í£¬LIKEÀàÐÍTABLE
5¡¢.echo ON|OFF ÉèÖÃechoµÄ״̬ ......
¸ã¶¨ÁËÒ»¸öÀ§ÈÅÐí¾ÃµÄÎÊÌ⣬ÔÀ´sqliteÖеÄÖ÷¼üÒ²ÊÇ¿ÉÒÔÉèÖÃΪ×ÔÔöµÄ£º£©·½·¨¾ÍÊÇÉùÃ÷Ϊ INTEGER PRIMARY KEY µÄ×ֶοÉÒÔ×Ô¶¯Ôö¼Ó¡£
ÍøÉϲ鵽×ÊÁÏ˵£¬´Ó SQLite µÄ 2.3.4 °æ±¾¿ªÊ¼£¬Èç¹û½«Ò»¸ö±íÖеÄÒ»¸ö×Ö¶ÎÉùÃ÷Ϊ INTEGER PRIMARY KEY£¬ÄÇôֻÐèÏò¸Ã±íµÄ¸Ã×ֶβåÈëÒ»¸ö NULL Öµ£¬ ......
ÔÚSQLÖÐÓÐÈçÏÂÁ½ÖÖ·½·¨¿ÉÒÔʵÏÖ½«Ò»¸ö±íÖÐÊý¾Ýµ½ÁíÒ»¸ö±íÖÐ
1> select ... into new_tablename from ... where ...
2> insert (into) old_tablename select ... from ... where ...
Çø±ðÊÇǰÕß°ÑÊý¾Ý²åÈëÒ»¸öÐÂ±í£¨ÏȽ¨Á¢±í£¬ÔÙ²åÈëÊý¾Ý£©£¬
ºóÕßÊǰÑÊý¾Ý²åÈëÒѾ´æÔÚµÄÒ»¸ö±íÖУ¬ÎÒ¸öÈËϲ»¶ºóÕߣ¬Òò ......