SQLite ¼ò½é
SQLite ÊÇÒ»¸öʵÏÖÁËÍ걸µÄ£¨self-contained)£¬¿ÉǶÈëµÄ(embeddable)£¬ÁãÅäÖÃ(zero-configuration)µÄSQLÊý¾Ý¿âÒýÇæµÄСÐ͵ÄCº¯Êý¿â¡£Ëü°üº¬ÒÔϵÄÌØµã£º
.
ÊÂÎñ´¦ÀíÔ×Ó»¯(atomic)£¬Ò»Ö»¯(consistent)£¬³Ö¾Ã»¯(isolated)£¬¾øÔµ»¯(durable)£¬¼´Ê¹ÊÇÔÚϵͳ±ÀÀ£ºÍµôµçʱ
ÁãÅäÖ㬲»ÐèÒªÉèÖûòÕß¹ÜÀí
ʵÏÖÁËSQL92µÄ´ó²¿·Ý±ê×¼ £¨²»Ö§³ÖÌØÐÔ£©
Õû¸öµÄÊý¾Ý¿â±»´¢´æÔÚµ¥¸öµÄ´ÅÅÌÎļþÉÏ
Êý¾Ý¿âÎļþÄܹ»±»²»Í¬×Ö½ÚÐòµÄ»úÆ÷Ëù¹²ÓÃ
Ö§³ÖT×Ö½ÚºÍG×Ö½Ú´óСµÄ×Ö·û´®ºÍ¿é(blob)
СÐ͵ĴúÂëºÛ¼£(small code footprint)£¬ÍêÈ«ÅäÖúõÄСÓÚ250kiB£¬Ê¡ÂÔµôһЩ¿ÉÑ¡ÓõÄÌØÐԵĽ«Ð¡ÓÚ150KiB
´ó²¿·ÖµÄÒ»°ã²Ù×÷±ÈÁ÷ÐеÄC/SÊý¾Ý¿âÒª¿ì
¼òµ¥ÈÝÒ×ʹÓõÄAPI¡£
°üº¬ÁËTCLµÄ°ó¶¨£¬ÒÔ¼°ÆäËû¸÷ÖÖ²»Í¬µÄ¿ÉÓÃÓïÑԵİ󶨡£
´úÂëÓÐÁ¼ºÃµÄ×¢ÊÍ£¬²âÊÔ¸²¸ÇÂʳ¬¹ý98£¥
Äܹ»ÒÔµ¥¸ö¼òµ¥ANSI£CµÄÔ´ÎļþµÄÐÎʽÇáÒ׵IJåÈëµ½ÁíÒ»¸ö¹¤³ÌÖÐ
Í걸ÐÔ£¬Ã»ÓжîÍâµÄÒÀÀµ¹ØÏµ¡£
Ô´´úÂëÊǹ«¹²µÄ£¬ÓÃ;¹ã·º
SQLiteµÄ·¢ÐаæÖаüº¬ÁËÒ»¸ö¶ÀÁ¢µÄÃüÁîÐÐÈë¿Ú³ÌÐò£¨sqlite£©£¬Ëû¿ÉÒÔÓÃÀ´¹ÜÀíSQLiteÊý¾Ý¿â£¬²¢ÇÒÒ²¿ÉÒÔ×÷Ϊһ¸öʹÓÃSQLiteº¯Êý¿âµÄÒ»¸öÀý×Ó¡£
ÔÚ¹Ù·½ÍøÕ¾ÉÏÌṩÁË¿ìËÙÈëÃŽ̳̣¬Ò»°ãµÄÔÚlinuxÏÂÓÐC±à³ÌµÄÈË»ù±¾É϶¼ÄÜÁ˽⣬ֻÊǸоõÓеãǷȱ¡£
´´½¨database
$sqlite3 test.db
¾Í¿ÉÒÔ´´½¨ÄãËùÒªµÄdatabaseÁË£¬Äã¿ÉÒÔÔÚsqllite3ÖеÄÃüÁîÐеÄÌáʾ·ûºóÖÐÓÃsqlÓïÑÔ´´½¨Ìí¼Ó×Ô¼ºµÄ±íºÍÊý¾Ý£¬µ±È»ÄãÒ²¿ÉÒÔʹÓÃËûÌṩµÄCµÄapiÀ´×öÀàËÆµÄÊ¡£
ÏÂÃæµÄ³ÌÐòÊǹÙÍøÉϵÄÒ»¸öʵÀý,Ö÷ÒªµÄ¹¦ÄÜÊÇ»ù±¾µÄʵÏÖÁËÒ»¸öÀàËÆÓësqlite3ÃüÁîµÄ³ÌÐò
test.c
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main(int argc, char **argv){
sqlite3 *db;
char *zErrMsg = 0;
int rc;
Ïà¹ØÎĵµ£º
×î½ü¹«Ë¾ÐèÒª½«×ÀÃæÏµÍ³²¿Êðµ½PDAÉÏÃæÈ¥£¬Ñ¡ÔñÁËWM6×÷Ϊ²¿Êðƽ̨¡£ÔÚÑ¡ÔñÊý¾Ý¿â·½Ãæ³öÏÖÁËÒ»µã¹ËÂÇ£¬ÒòΪ¶ÔÓÚPDA¶øÑÔ£¬ÐÔÄÜÊÇÊ×Òª¿¼ÂǵÄÒòËØ¡£
ÔÚ¿ªÔ´µÄÊý¾Ý¿âSqliteºÍSQLCEÖ®¼äÅÇ»²£¬ËùÒÔÕë¶ÔÕâ¸öÇé¿ö£¬¶ÔSqliteºÍSQLCEÔÚWM6ÉÏÃæ×öÁËÐÔÄܲâÊÔ¡£ÎÒÒ²½«×Ô¼ºÔÚ×ö²âÊÔ¹ý³ÌÖÐÅöµ ......
1¡¢ÈçºÎ½¨Á¢×Ô¶¯Ôö³¤×Ö¶Î?
¼ò¶Ì»Ø´ð£ºÉùÃ÷Ϊ INTEGER PRIMARY KEY µÄÁн«»á×Ô¶¯Ôö³¤¡£
³¤Ò»µãµÄ´ð°¸£º Èç¹ûÄãÉùÃ÷±íµÄÒ»ÁÐΪ INTEGER PRIMARY KEY£¬ÄÇô£¬ ÿµ±ÄãÔÚ¸ÃÁÐÉϲåÈëÒ»NULLֵʱ£¬ NULL×Ô¶¯±»×ª»»ÎªÒ»¸ö±È¸ÃÁÐÖÐ×î´óÖµ´ó1µÄÒ»¸öÕûÊý£¬Èç¹û±íÊǿյģ¬ ½«»áÊÇ1¡ ......
sqlite-3.3.6±àÒë°²×°Óë½»²æ±àÒëÈ«¹ý³ÌÏêϸ¼Ç¼
ÏÂÎĽéÉܵÄÄÚÈݶ¼ÊÇ»ùÓÚ Linux RedHat 9.0 ƽ̨µÄ¡£
Ò»¡¢PC»ú±àÒë°²×°
ÇëÔĶÁÔÚ°²×°°üÀïµÄ INSTALL Îļþ¡£»òÕßʹÓÃPEAR installer with "pear install sqlite"¡£SQLiteÒѾÄÚÖÃÁË£¬Äã²»ÐèÒª°²×°Èκθ½¼ÓµÄÈí¼þ£¨additional software£©¡£
Windows users¿ÉÒÔÏÂÔØSQLiteÀ©Õ¹ ......
dbAccess.js
import System.Data; // we import our data class
import Mono.Data.SqliteClient; // we import our sqlite client
class dbAccess {
// variables for basic query access
private var connection : String;
private var dbcon : IDbConnection;
private ......