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' ÊÇÏàͬµÄ£¬ ÒòΪËûÃÇÔ
Ïà¹ØÎĵµ£º
ÔÚSQL ServerÖУ¬´´½¨±í¸ñµÄʱºò£¬¶ÔÓÚʱ¼äÁÐÓÐʱºòÎÒÃÇ¿ÉÒÔ¸ù¾ÝÐèÒªÖ¸¶¨Ä¬ÈÏֵΪµ±Ç°Ê±¼ä£¨Ò²¾ÍÊÇ˵¼Ç¼Éú³ÉµÄʱºòÓÐĬÈϵÄʱ¼ä´Á£©¡£ÀýÈ磺
create table log(
content varchar(256),
logtime datetime default getdate()
)
È» ......
°ÝGoogleµÄScott Hessͬ־Ëù´Í£¬SQLiteÒ²ÍƳöÁËÈ«ÎÄËÑË÷¹¦ÄÜ¡£
SQLiteͨ¹ý½¨Á¢Ò»¸öÐéÄâ±í£¬½«ÊäÈëµÄÎÄ×Ö¸ù¾Ý¿Õ¸ñ¡¢±êµã·ûºÏµÈ¹æÔò½øÐзִʣ¬×éÖ¯³ÉÒ»¿ÃBÊ÷£¬ÒÔ´ËÀ´Ìá¸ßËÑË÷Ëٶȡ£
ÈçºÎʹÓÃÕâÒ»¹¦ÄÜ£¬ÐÔÄÜÉÏÈçºÎ£¬´ó¼Ò¸÷×ÔÑо¿È¥°É¡£
ÔÚÕâÀ ......
¿ÉÒÔ½Ó×ÅÉÏÒ»²½²Ù×÷£¬Ö±½ÓÏòDOS´°¿ÚÊäÈë.helpÃüÁîÀ´²é¿´SQLiteµÄËùÓÐÃüÁîÐм°½âÊÍÈçÏ£º
F:\>sqlite3
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .help
Ò²¿ÉÒÔctrl+c½áÊøÃüÁÏëDOS´°¿Ú ÊäÈësqlite3Ö´ÐкóÔÙÊäÈë.helpÃüÁîÈçÏ£º
F:\>sqli ......
backup ?DB? FILE ±¸·ÝÊý¾Ý¿âµ½Îļþ£¬Ä¬Èϱ¸·ÝµÄÊÇmainÊý¾Ý¿â,Èç¹û²»¸½¼ÓÊý¾Ý¿â£¬test.dbÎļþÖÐĬÈϵÄÖ»ÓÐmainÊý¾Ý¿â¡£ ÃüÁî²Ù×÷¾ÙÀý£º
sqlite> .backup mydb.bak
sqlite>
´Ëʱ¿ÉÒÔÔÙFÅÌ¿´µ½mydb.bakÎļþ£¬ÓüÇʱ¾´ò¿ªËäÈ»ÊÇÂÒÂ룬µ«¿É¿ú¼ûÒ»°ß¡£
.restore ?DB? FILE ´Ó±¸·ÝÎļþ»¹ÔÊý¾ÝºÍ.backupÏà¶ÔÓ¦. ½ÓÉÏ ......
SQLiteÇý¶¯Ö§³ÖµÄSQL ÁÐÀàÐÍ
ÀàÐÍÃèÊö
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, BYTEA
²»ÏÞÖƳ¤¶ÈµÄ×Ö·û´®ÀàÐÍ. ¶þ½øÖÆÊý¾Ý±ØÐ밲ȫµØ±àÂë´æ´¢, ¼ûtextÀàÐÍ.
CHAR(), VARCHAR(), TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
²»ÏÞÖƳ¤¶ÈµÄ×Ö·û´®ÀàÐÍ. ²»»á±»½Ø¶Ï»òÕßÌî³ä
ENUM
²»ÏÞÖƳ¤¶ÈµÄ×Ö·û´®ÀàÐÍ. ²»Ïñ MySQL, ʹÓà ......