SqliteÖÐÎÄÅÅÐòÑо¿
×ªÔØÊ±Çë×¢Ã÷³ö´¦ºÍ×÷ÕßÁªÏµ·½Ê½£ºhttp://blog.csdn.net/absurd
×÷ÕßÁªÏµ·½Ê½£ºLi XianJing <xianjimli at hotmail dot com>
¸üÐÂʱ¼ä£º2006-12-19
SqliteÊÇÒ»¸öÓÃCÓïÑÔʵÏÖµÄСÐÍSQLÊý¾Ý¿âÒýÇæ¡£ËüÌå»ýСÇɵ«¹¦ÄÜÇ¿´ó£¬¶ÔÓ²¼þ×ÊÔ´ÒªÇóºÜµÍ¶øÇÒÐÔÄܱíÏÖ׿Խ£¬·Ç³£ÊʺÏÓÚǶÈëʽӦÓû·¾³¡£×î½ü·¢ÏÖsqlite²¢²»Ö§³ÖÖÐÎÄ(Æ´Òô/±Ê»)ÅÅÐò£¬¶øÕâ¸ö¹¦ÄÜÓÖÊÇÎÒÃDZØÐèµÄ£¬ËùÒÔ»¨ÁËЩʱ¼äÈ¥Ñо¿¡£ÎÒ¶ÔSqliteµÄÁ˽âÖ»ÄÜËãÊÇÒµÓ༶£¬ÔÚÑо¿µÄ¹ý³Ì»òÐí×ßÁËЩÍä·£¬»òÐíÒѾÓÐÏÖ´æµÄËã·¨¿ÉÀûÓ㬲»¹ÜÔõôÑù£¬ÔÚÑо¿¹ý³ÌÖл¹ÊÇÓв»ÉÙÊÕ»ñ£¬Ð´³öÀ´ºÍ´ó¼Ò̽ÌÖһϡ£
ÎÒÃÇÖªµÀ£¬¼ÆËã»úÖеÄÿһ¸ö×Ö·û¶¼ÓÐÒ»¸öÄÚÂë¡£ÔÚĬÈÏÇé¿öÏ£¬¼ÆËã»úÅÅÐòʱ£¬±È½ÏÁ½¸ö×Ö·ûµÄ´óС¾ÍÊDZȽÏ×Ö·ûÄÚÂëµÄ´óС£¬Õâ¶ÔÓÚÓ¢ÎÄÀ´ËµÃ»ÓÐÎÊÌ⣬ÒòΪӢÎÄ×ÖĸµÄÄÚÂëÊǰ´×Öĸ˳ÐòµÝÔöµÄ¡£¶ÔÓÚÖÐÎÄÀ´Ëµ£¬¾Í±È½ÏÂé·³ÁË£ºÊ×ÏÈ£¬ÖÐÎĵÄÅÅÐò·½Ê½ÓжàÖÖ£¬±ÈÈç°´ÄÚÂëÅÅÐò¡¢°´Æ´ÒôÅÅÐòºÍ°´±Ê»ÅÅÐò£¬ÒªÍ¨¹ý²ÎÊýÖ¸¶¨ÅÅÐòµÄ·½Ê½£¬·ñÔò¼ÆËã»ú¾Í°´ÄÚÂëÅÅÐòÁË¡£Æä´Î£¬ºº×ÖµÄÄÚÂë˳Ðò¼´²»Í¬ÓÚÆ´Òô˳Ðò£¬Ò²²»Í¬ÓÚ°´±Ê»Ë³Ðò¡£ÔÚGB2312±àÂëÖУ¬ºº×Ö»ù±¾Éϰ´Æ´ÒôÅÅÐò£¨¾Ý˵ÓÐÀýÍ⣬²»Ì«Çå³þ£©¡£ÔÚGBKÖУ¬ËüÔÚGB2312»ù´¡ÉϽøÐÐÁËÀ©³ä£¬¼æÈÝGB2312ÖеÄËùÓÐ×Ö·û£¬ËùÒÔ²»Êǰ´Æ´ÒôÅÅÐòÁË¡£ÔÚUnicodeÖУ¬ºº×ÖµÄÅÅÁÐËÆºõ¸üûÓÐʲô¹æÂÉ¿ÉÑÔÁË¡£
ΪÁ˽â¾öÄÚÂë˳ÐòÓëÓû§Ï°¹ß˳Ðò(ÈçÆ´Òô˳Ðò)µÄ³åÍ»£¬ÔÚglibcµÄlocaleÊý¾ÝÀҪÇóÌṩÅÅÐò·½Ê½(collate)µÄÃèÊö¡£ÎÒ¿´ÁËÒ»ÏÂglibc-2.3.5ÌṩµÄlocaleÊý¾Ý£¬ÔÚ¼òÌåÖÐÎÄ(zh_CN)µÄlocaleÊý¾ÝÃèÊöÀ¹ØÓÚÅÅÐò·½Ê½µÄÃèÊöÈçÏ£º
% ISO 14651 collation sequence
LC_COLLATE
copy "iso14651_t1"
END LC_COLLATE
Ò²¾ÍÊÇ˵£¬ÕÕ³iso14651_t1µÄÅÅÐò·½Ê½¡£´ò¿ªiso14651_t1Îļþ¿´ÁËһϣ¬Ò²Ã»Óз¢ÏÖ¹ØÓÚÖÐÎĵÄÌØÊâ´¦Àí£¬¿ÉÒÔÍÆ¶ÏglibcĬÈϵÄÅÅÐò·½Ê½¾ÍÊǰ´unicodeÅÅÐò¡£
ËùÒÔ²»ÄÜÖ¸ÍûglibcÌṩÖÐÎÄÅÅÐò¹¦ÄÜ£¬Èç¹ûSQLiteÖ§³ÖÁËÖÐÎÄÅÅÐòÖ»ÄÜÊÇ×öÁËÌØÊâ´¦Àí¡£ä¯ÀÀÁËÒ»ÏÂSQLiteµÄ´úÂ룬ÕâÖÖÏ£ÍûËÆºõÒ²²»´ó¡£ÔÚÍøÉÏҲûÓв鵽Ïà¹ØµÄ×ÊÁϺͲ¹¶¡£¬¿´À´Ö»ÄÜ¿¿×Ô¼ºÁË¡£
²»¹ý£¬ÔÚä¯ÀÀSQLite´úÂëʱ»¹ÊÇÓÐЩÊÕ»ñ£¬ÖÁÉÙÖªµÀÁËËü±È½ÏÊý¾Ý¼Ç¼µÄ¹ý³Ì£º
1. sqlite3VdbeExecµ÷ÓÃsqlite3BtreeInsert°Ñ¼Ç¼²åÈëµ½Êʵ±µÄλÖá£
2. sqlite3BtreeInsertµ÷ÓÃsqlite3BtreeMovetoÕÒµ½Òª²åÈëµÄλÖá£
Ïà¹ØÎĵµ£º
ÎÒÏÖÔÚҪʹÓÃSQLite3.0´´½¨Ò»¸öÊý¾Ý¿â£¬È»ºóÔÚÊý¾Ý¿âÖд´½¨Ò»¸ö±í¸ñ¡£
Ê×ÏÈÒªÒýÈëSQLite3.0µÄlib¿â¡£È»ºó°üº¬Í·Îļþ#import <sqlite3.h>
¡¾1¡¿´ò¿ªÊý¾Ý¿â£¬Èç¹ûûÓУ¬ÄÇô´´½¨Ò»¸ö
sqlite3* database_;
-(BOOL) open{
NSArray *paths = NSSearchPathForDirectoriesInDomai ......
Ò»¡¢SQLite¼ò½é
SQLite ÊÇÓÃCÓïÑÔ±àдµÄ¿ªÔ´Êý¾Ý¿â£¬Ö÷ÒªÓÃÓÚǶÈëʽ£¬ÄãÒ²¿ÉÒÔ°ÑËü¼¯³ÉÔÚ×Ô¼ºµÄ×ÀÃæ³ÌÐòÖУ¬Ò²ÓÐÈ˽«ÆäÌæ´úAccess£¬ÓÃ×÷ºǫ́Êý¾Ý¿â¡£
SQLite Ö§³Ö¶àÊýSQL92±ê×¼£¬ÀýÈ磺Ë÷Òý¡¢ÏÞÖÆ¡¢´¥·¢ºÍ²é¿´Ö§³Ö¡£
Ö§³Ö NULL¡¢INTEGER¡¢REAL¡¢TEXT ºÍ BLOB Êý¾ÝÀàÐÍ£¬Ö§³ÖÊÂÎñ¡£
¶þ¡¢ÏÂÔØSQLite
SQLite¿ÉÒÔµ½¹Ù·½Õ ......
Step-1: Ê×ÏÈ將.mp3檔°¸·ÅÈëProjectµÄ/res/raw/裡£¬ÈçÏ£º
³Ìʽһ開ʼ執ÐУ¬½¨Á¢Ò»個資ÁÏ庫£¬º¬ÓÐBLOB欄룬ÈçÏÂÖ®Ö¸Á
sql ......
sqliteÊÇ
Ò»¸ö·Ç³£Ð¡ÇÉµÄ¿çÆ½Ì¨Ç¶ÈëʽÊý¾Ý¿â£¬Ëü±¾Éí²»Ìṩ¼ÓÃܹ¦ÄÜ£¬²»¹ýÉè¼ÆÕßÃ÷ÏÔÒ²¿¼ÂÇÁ˼ÓÃܵķ½°¸£¬ÎÒÃÇÔÚÔ´ÂëÖпÉÒÔÕÒµ½Á½¸öÔ¤ÁôµÄ¼ÓÃܽÓ
¿Ú£ºsqlite3_keyºÍsqlite3_rekey£¬¿ÉÒÔͨ¹ýʵÏÖÕâÁ½¸ö½Ó¿ÚÀ´´ïµ½¼ÓÃܵÄÄ¿µÄ¡£
ÈçºÎ¼ÓÃÜ£¬ÒѾÓкܶàÎÄÕÂÃèÊö£¬¿ÉÒԲο¼:¡¶
......
ÔÚ AndroidÖУ¬¶ÔÓÚÊý¾ÝµÄ´æÖü£¬Óм¸ÖÖ·½Ê½£¬ÓÐÎļþ·½Ê½£¬ÓÐÎļþʽÊý¾Ý¿â·½Ê½,Android×Ô´øÁËÒ»¸öSQLiteÊý¾Ý¿â£¬×öǶÈ뿪·¢µÄÈ˶ÔÕâ¸ö¿çƽ̨µÄ±¾µØÎļþÊý¾Ý¿âÒ»¶¨²»»áİÉú£¬ÔÚAndroid¶ÔÓÚÊý¾ÝµÄ·ÃÎÊ£¬Ìá³öÁËеķ½Ê½£¬ContentProvider·½Ê½£¬ÀàËÆÓÚMSµÄ ContentProvider·½Ê½µÄ£¬OLEDB£¬¼°ODBCͳһµÄÊý¾Ý·½Ê½¡£
ÎÒÃÇÊ×ÏÈÀ´¿´¿ ......