SQLiteÓï·¨ PRAGMA
SQLiteÖ§³ÖµÄ±àÒëÖ¸Áî(pragma)
PRAGMAÃüÁî
ÊÇÓÃÓÚÐÞ¸ÄSQlite¿â»ò²éѯSQLite¿âÄÚ²¿Êý¾Ý(non-table)µÄÌØÊâÃüÁî¡£PRAGMA ÃüÁîʹÓÃÓëÆäËüSQLiteÃüÁî(e.g. SELECT, INSERT)ÏàͬµÄ½Ó¿Ú£¬µ«ÔÚÈçÏÂÖØÒª·½ÃæÓëÆäËüÃüÁͬ:
ÔÚδÀ´µÄSQLite°æ±¾Öв¿·Öpragma¿ÉÄܱ»É¾³ý»òÌí¼Ó£¬Ð¡ÐÄʹÓá£
µ±Ê¹ÓÃδ֪µÄpragmaÓï¾äʱ²»²úÉú±¨´í¡£Î´ÖªµÄpragma½ö½ö»á±»ºöÂÔ£¬¼´ÊÇ˵ÈôÊÇ´ò´íÁËpragmaÓï¾äSQLite²»»áÌáʾÓû§¡£
һЩpragmaÔÚSQL±àÒë½×¶ÎÉúЧ¶ø·ÇÖ´Ðн׶Ρ£¼´ÊÇ˵ÈôʹÓÃCÓïÑÔµÄsqlite3_compile(),
sqlite3_step(), sqlite3_finalize() API
(»òÀàËÆµÄ·â×°½Ó¿ÚÖÐ)£¬pragma¿ÉÄÜÔÚµ÷ÓÃsqlite3_compile()ÆÚ¼äÆð×÷Óá£
pragmaÃüÁî²»ÓëÆäËüSQLÒýÇæ¼æÈÝ¡£
¿ÉÓõÄpragmaÃüÁîÓÐÈçÏÂËĸö»ù±¾ÀàÐÍ£º
ÓÃÓڲ쿴µ±Ç°Êý¾Ý¿âµÄģʽ
¡£
ÓÃÓÚÐÞ¸ÄSQLite¿âµÄ²Ù×÷
»ò²éѯµ±Ç°µÄ²Ù×÷ģʽ¡£
ÓÃÓÚ²éѯ»òÐÞ¸ÄÁ½¸öÊý¾Ý¿âµÄ°æ±¾ºÅ
£¬schema-versionºÍuser-version.
ÓÃÓÚµ÷ÊÔ¿â
ºÍУÑéÊý¾Ý¿âÎļþ¡£
PRAGMAÃüÁîÓï·¨
sql-statement
::=
PRAGMA
name
[=
value
]
|
PRAGMA
function
(
arg
)
ʹÓÃÕûÊýÖµvalue
µÄpragmaÒ²¿ÉÒÔʹÓ÷ûºÅ±íʾ£¬×Ö·û´®"on
", "true
",ºÍ "yes
" µÈͬÓÚ1
£¬"off
", "false
",ºÍ "no
"µÈͬÓÚ0
. ÕâЩ×Ö·û´®´óСд²»Ãô¸ÐÇÒÎÞÐë½øÐÐÒýÓá£ÎÞ·¨Ê¶±ðµÄ×Ö·û´®±»µ±×÷1
ÇÒ²»»á±¨´í¡£value
·µ»ØÊ±ÊÇÕûÊý¡£
ÓÃÓÚÐÞ¸ÄSQLite¿âµÄ²Ù×÷µÄPragma
PRAGMA auto_vacuum;
PRAGMA auto_vacuum =
0 | 1
;
²éѯ»òÉèÖÃÊý¾Ý¿âµÄauto-vacuum±ê¼Ç¡£
Õý³£Çé¿öÏ£¬µ±Ìá½»Ò»¸ö´ÓÊý¾Ý¿âÖÐɾ³ýÊý¾ÝµÄÊÂÎñʱ£¬Êý¾Ý¿âÎļþ²»¸Ä±ä´óС¡£Î´Ê¹ÓõÄÎļþÒ³±»±ê¼Ç²¢ÔÚÒÔºóµÄÌí¼Ó²Ù×÷ÖÐ ÔÙ´ÎʹÓá£ÕâÖÖÇé¿öÏÂʹÓÃVACUUM
ÃüÁîÊÍ·Åɾ³ýµÃµ½µÄ¿Õ¼ä¡£
µ±¿ªÆôauto-vacuum£¬µ±Ìá½»Ò»¸ö´ÓÊý¾Ý¿âÖÐɾ³ýÊý¾ÝµÄÊÂÎñʱ£¬Êý¾Ý¿âÎļþ×Ô¶¯ÊÕËõ£¬ (VACUUMÃüÁîÔÚauto-vacuum¿ªÆôµÄÊý¾Ý¿âÖв»Æð×÷ÓÃ)¡£Êý¾Ý¿â»áÔÚÄÚ²¿´æ´¢Ò»Ð©ÐÅÏ¢ÒÔ±ãÖ§³ÖÕâÒ»¹¦ÄÜ£¬ÕâʹµÃ Êý¾Ý¿âÎļþ±È²»¿ªÆô¸ÃÑ¡ÏîʱÉÔ΢´óһЩ¡£
Ö»ÓÐÔÚÊý¾Ý¿âÖÐ佨Èκαíʱ²ÅÄܸıäauto-vacuum±ê¼Ç¡£ÊÔͼÔÚÒÑÓбíµÄÇé¿öÏÂÐ޸IJ»»áµ¼Ö±¨´í¡£
PRAGMA cache_size;
PRAGMA cache_size =
Number-of-pages
;
²éѯ»òÐÞ¸ÄSQLiteÒ»´Î´æ´¢ÔÚÄÚ´æÖеÄÊý¾Ý¿âÎļþÒ³Êý¡£Ã¿Ò³Ê¹ÓÃÔ¼1.5KÄڴ棬ȱʡµÄ»º´æ´óСÊÇ2000. ÈôÐèҪʹÓøıä´óÁ¿¶àÐеÄU
Ïà¹ØÎĵµ£º
Sqlite3.3.8ÒÆÖ²
1¡¢ÏÂÔØsqlite-3.3.8.tar.gzÔ´Âë°ü£¬½âѹtar –zxvf sqlite-3.3.8.tar.gz
2¡¢Cd sqlite-3.3.8
3¡¢ÊÖ¶¯ÐÞ¸Ämakefile Îļþ£¬Ä¿Â¼ÏÂÓÐÒ»¸ömakefile°¸ÀýÎļþ: Makefile.linux-gcc
4¡¢ÖØÃüÃûÒ»¸öMakefileÎļþ£¬cp Makefile.linux-gcc Makefile
5¡¢ ´ò¿ªMakefileÎļþ£ºvi Makefile
6¡¢&nb ......
sqlite-3.3.6±àÒë°²×°Óë½»²æ±àÒëÈ«¹ý³ÌÏêϸ¼Ç¼
ÏÂÎĽéÉܵÄÄÚÈݶ¼ÊÇ»ùÓÚ Linux RedHat 9.0 ƽ̨µÄ¡£
Ò»¡¢PC»ú±àÒë°²×°
ÇëÔĶÁÔÚ°²×°°üÀïµÄ INSTALL Îļþ¡£»òÕßʹÓÃPEAR installer with "pear install sqlite"¡£SQLiteÒѾÄÚÖÃÁË£¬Äã²»ÐèÒª°²×°Èκθ½¼ÓµÄÈí¼þ£¨additional software£©¡£
Windows users¿ÉÒÔÏÂÔØSQLiteÀ©Õ¹ ......
Ò»¡¢SQLite¼ò½é
SQLite ÊÇÓÃCÓïÑÔ±àдµÄ¿ªÔ´Êý¾Ý¿â£¬Ö÷ÒªÓÃÓÚǶÈëʽ£¬ÄãÒ²¿ÉÒÔ°ÑËü¼¯³ÉÔÚ×Ô¼ºµÄ×ÀÃæ³ÌÐòÖУ¬Ò²ÓÐÈ˽«ÆäÌæ´úAccess£¬ÓÃ×÷ºǫ́Êý¾Ý¿â¡£
SQLite Ö§³Ö¶àÊýSQL92±ê×¼£¬ÀýÈ磺Ë÷Òý¡¢ÏÞÖÆ¡¢´¥·¢ºÍ²é¿´Ö§³Ö¡£
Ö§³Ö NULL¡¢INTEGER¡¢REAL¡¢TEXT ºÍ BLOB Êý¾ÝÀàÐÍ£¬Ö§³ÖÊÂÎñ¡£
¶þ¡¢ÏÂÔØSQLite
SQLite¿ÉÒÔµ½¹Ù·½Õ¾µ ......
»¹Êdzõ̽£¬×öµÄÏîĿҪÓõ½ÇáÇɵı¾µØÊý¾Ý¿â£¬ÓÚÊÇÕÒÁË sqlite 3 ÊÔÓÃÖ®£¬»¹²»´í£¬¹»ÇáÇÉ¡£
ÉÏÕâ¶ùÈ¥ÏÂÔØ³ÌÐòºÍ²é¿´Îĵµ£º http://www.sqlite.org/download.html
Õâ»Ø¿ª·¢ÓõÄÊÇ C#£¬ÓÚÊÇÕÒÁ˸ö.NETµÄ¿â Finisar.SQLite £¬µ½Õâ¶ùÈ¥ÔØ http://adodotnetsqlite.sourceforge.net/
Òª¼ÇµÄÒ²²»ÊÇʲô´ó²»Á˵Ķ«Î÷£¬Ê¾ÀýÍøÕ¾É϶ ......
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú
²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»
ʹÓõ½¡£¾¡¹Ü ......