SQLite3是一款嵌入式的輕型數據庫軟件,該軟件所占內存較低,需要搭配嵌入式產品使用,能夠適用于Windows/Linux/Unix等主流的操作系統,需要搭配嵌入式產品使用,相比較于同種類軟件來講,其處理速度要快的多。


軟件亮點
你能夠用這些函數操作數據庫,通過使用這些接口,傳遞一些標準sql語句(以char*類型)給sqlite函數,SQLite3就會為你操作數據庫。
SQLite3跟MS的access一樣是文件型數據庫,就是說,一個數據庫就是一個文件,此數據庫里可以建立很多的表,可以建立索引、觸發器等等,但是,它實際上得到的就是一個文件。備份這個文件就備份了整個數據庫。
SQLite3不需要任何數據庫引擎,這意味著如果你需要sqlite來保存一些用戶數據,甚至都不需要安裝數據庫。
SQLite3特色
【算術函數】
abs(X)返回給定數字表達式的絕對值。
max(X,Y[,...])返回表達式的最大值。
min(X,Y[,...])返回表達式的最小值。
random(*)返回隨機數。
round(X[,Y])返回數字表達式并四舍五入為指定的長度或精度。
【字符處理函數】
length(X)返回給定字符串表達式的字符個數。
lower(X)將大寫字符數據轉換為小寫字符數據后返回字符表達式。
upper(X)返回將小寫字符數據轉換為大寫的字符表達式。
substr(X,Y,Z)返回表達式的一部分。
randstr()
quote(A)
like(A,B)
確定給定的字符串是否與指定的模式匹配。
glob(A,B)
【條件判斷函數】
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
【集合函數】
avg(X)返回組中值的平均值。
count(X)返回組中項目的數量。
max(X)返回組中值的最大值。
min(X)返回組中值的最小值。
sum(X)返回表達式中所有值的和。
【其他函數】
typeof(X)返回數據的類型。
last_insert_rowid()返回最后插入的數據的ID。
sqlite_version(*)返回SQLite的版本。
change_count()返回受上一語句影響的行數。
last_statement_change_count()
SQLite3命令操作
創建表:createtable表名(元素名類型,…);
刪除表:droptable表名;
插入數據:insertinto表名values(,,,);
創建索引:create[unique]index索引名on表名(col….);
刪除索引:dropindex索引名(索引是不可更改的,想更改必須刪除重新建)
刪除數據:deletefrom表名;
更新數據:update表名set字段=’修改后的內容’where條件;
增加一個列:Altertable表名addcolumn字段數據類型;
選擇查詢:select字段(以”,”隔開)from表名where條件;
日期和時間:Selectdatetime('now')
日期:selectdate('now');
時間:selecttime('now');
總數:selectcount(*)fromtable1;
求和:selectsum(field1)fromtable1;
平均:selectavg(field1)fromtable1;
最大:selectmax(field1)fromtable1;
最小:selectmin(field1)fromtable1;
排序:select字段fromtable1orderby字段(desc或asc);(降序或升序)
分組:select字段fromtable1groupby字段,字段…;
限制輸出:select字段fromtable1limitxoffsety;
SQLite3支持數據類型
NULL值為NULL
INTEGER值為帶符號的整型,根據類別用1,2,3,4,6,8字節存儲
REAL值為浮點型,8字節存儲
TEXT值為text字符串,使用數據庫編碼(UTF-8,UTF-16BEorUTF-16-LE)存儲
BLOB值為二進制數據,具體看實際輸入
但實際上,sqlite3也接受如下的數據類型:
smallint 16位元的整數
interger 32位元的整數
decimal(p,s)p精確值和s大小的十進位整數,精確值p是指全部有幾個數(digits)大小值,s是指小數點後有幾位數。如果沒有特別指定,則系統會設為p=5;s=0。
float 32位元的實數。
double 64位元的實數。
char(n)n長度的字串,n不能超過254。
varchar(n)長度不固定且其最大長度為n的字串,n不能超過4000。
graphic(n)和char(n)一樣,不過其單位是兩個字元double-bytes,n不能超過127。這個形態是為了支援兩個字元長度的字體,例如中文字。
vargraphic(n)可變長度且其最大長度為n的雙字元字串,n不能超過2000。
date包含了年份、月份、日期。
time包含了小時、分鐘、秒。
timestamp包含了年、月、日、時、分、秒、千分之一秒。
如果將聲明表的一列設置為INTEGERPRIMARYKEY,則具有:
1.每當你在該列上插入一NULL值時,NULL自動被轉換為一個比該列中最大值大1的一個整數;
2.如果表是空的,將會是1;