當前位置:首頁 > 電腦軟件 > 數(shù)據(jù)庫類 > Sqlite3(小型關(guān)系型數(shù)據(jù)庫)官方版

Sqlite3(小型關(guān)系型數(shù)據(jù)庫)官方版

版本:v3.17.0 大?。?.53M 語言:簡體中文 類別:數(shù)據(jù)庫類
  • 類型:國產(chǎn)軟件
  • 授權(quán):免費軟件
  • 更新:2023-11-27
  • 環(huán)境:Windows11,Windows10,Windows8,Windows7
  • 本地下載
9
0% 0%

情介紹

開發(fā)軟件的用戶對于數(shù)據(jù)庫都不會陌生,這款sqlite3官方版就是一款小巧切好用的關(guān)系型數(shù)據(jù)庫,也是一款能夠代替MySql的數(shù)據(jù)庫,目前已經(jīng)綁定到了PHP5.0上,就像我們的ASP和access結(jié)合一樣。如果你是一位網(wǎng)頁PHP開發(fā)人員,那么這個sqlite3就是你必須掌握使用的東西,并且這款軟件的設(shè)計目標是嵌入式的設(shè)計,所以目前已經(jīng)有很多嵌入式產(chǎn)品在使用這個數(shù)據(jù)庫,而且由于軟件的資源占用非常低,所以諸多嵌入設(shè)備都開始使用這個數(shù)據(jù)庫來存儲數(shù)據(jù),讓我們的嵌入式設(shè)備有更多的資源運行。
sqlite3是目前世界最棒的小型數(shù)據(jù)庫,大名鼎鼎的瀏覽器Firefox就是使用這個數(shù)據(jù)庫,所以大家可不要小看這個數(shù)據(jù)庫的潛力,而且還能夠和眾多的程序語言相結(jié)合,比如Tcl、PHP、JAVA等等。

sqlite3官方版操作入門

sqlite提供的是一些C函數(shù)接口,你可以用這些函數(shù)操作數(shù)據(jù)庫。通過使用這些接口,傳遞一些標準 sql 語句(以 char * 類型)給 sqlite 函數(shù),sqlite 就會為你操作數(shù)據(jù)庫。
sqlite 跟MS的access一樣是文件型數(shù)據(jù)庫,就是說,一個數(shù)據(jù)庫就是一個文件,此數(shù)據(jù)庫里可以建立很多的表,可以建立索引、觸發(fā)器等等,但是,它實際上得到的就是一個文件。備份這個文件就備份了整個數(shù)據(jù)庫。
sqlite 不需要任何數(shù)據(jù)庫引擎,這意味著如果你需要 sqlite 來保存一些用戶數(shù)據(jù),甚至都不需要安裝數(shù)據(jù)庫(如果你做個小軟件還要求人家必須裝了sqlserver 才能運行,那也太黑心了)。

常用SQL語句

創(chuàng)建表:  create  table 表名(元素名 類型,…); 
刪除表:  drop  table 表名;              
插入數(shù)據(jù): insert  into 表名 values(, , ,) ;   
創(chuàng)建索引: create [unique] index 索引名on 表名(col….); 
刪除索引: drop index 索引名(索引是不可更改的,想更改必須刪除重新建)
刪除數(shù)據(jù): delete from 表名;              
更新數(shù)據(jù): update 表名 set 字段=’修改后的內(nèi)容’ where 條件; 
增加一個列: Alter table 表名 add column 字段 數(shù)據(jù)類型;  
選擇查詢:   select 字段(以”,”隔開) from 表名 where 條件; 
日期和時間: Select datetime('now') 
日期:   select date('now');        
時間:  select time('now');   
總數(shù):select count(*) from table1;
求和:select sum(field1) from table1;
平均:select avg(field1) from table1;
最大:select max(field1) from table1;
最?。簊elect min(field1) from table1;
排序:select 字段 from table1 order by 字段(desc或asc)  ;(降序或升序)
分組:select 字段 from table1 group by 字段,字段…  ;
限制輸出:select 字段 from table1 limit x offset y;
    = select 字段 from table1 limit y , x;
(備注:跳過y行,取x行數(shù)據(jù))
(操作仍待完善)…

支持的數(shù)據(jù)類型介紹

NULL  值為NULL
INTEGER 值為帶符號的整型,根據(jù)類別用1,2,3,4,6,8字節(jié)存儲
REAL  值為浮點型,8字節(jié)存儲
TEXT  值為text字符串,使用數(shù)據(jù)庫編碼(UTF-8, UTF-16BE or UTF-16-LE)存儲
BLOB  值為二進制數(shù)據(jù),具體看實際輸入
但實際上,sqlite3也接受如下的數(shù)據(jù)類型:
smallint   16 位元的整數(shù)
interger    32 位元的整數(shù)
decimal(p,s)  p 精確值和 s 大小的十進位整數(shù),精確值p是指全部有幾個數(shù)(digits)大小值 ,s是指小數(shù)點後有幾位數(shù)。如果沒有特別指定,則系統(tǒng)會設(shè)為 p=5; s=0 。
float     32位元的實數(shù)。
double     64位元的實數(shù)。
char(n)     n 長度的字串,n不能超過 254。
varchar(n)   長度不固定且其最大長度為 n 的字串,n不能超過 4000。
graphic(n)   和 char(n) 一樣,不過其單位是兩個字元 double-bytes, n不能超過127。這個形態(tài)是為了支援兩個字元長度的字體,例如中文字。
vargraphic(n)  可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000。
date     包含了 年份、月份、日期。
time     包含了 小時、分鐘、秒。
timestamp   包含了 年、月、日、時、分、秒、千分之一秒。
如果將聲明表的一列設(shè)置為 INTEGER PRIMARY KEY,則具有:
1.每當你在該列上插入一NULL值時, NULL自動被轉(zhuǎn)換為一個比該列中最大值大1的一個整數(shù);
2.如果表是空的, 將會是1;
算術(shù)函數(shù)
abs(X)返回給定數(shù)字表達式的絕對值。
max(X,Y[,...])返回表達式的最大值。
min(X,Y[,...])返回表達式的最小值。
random(*)返回隨機數(shù)。
round(X[,Y])返回數(shù)字表達式并四舍五入為指定的長度或精度。
字符處理函數(shù)
length(X)返回給定字符串表達式的字符個數(shù)。
lower(X)將大寫字符數(shù)據(jù)轉(zhuǎn)換為小寫字符數(shù)據(jù)后返回字符表達式。
upper(X)返回將小寫字符數(shù)據(jù)轉(zhuǎn)換為大寫的字符表達式。
substr(X,Y,Z)返回表達式的一部分。
randstr()
quote(A)
like(A,B)
確定給定的字符串是否與指定的模式匹配。
glob(A,B)
條件判斷函數(shù)
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
集合函數(shù)
avg(X)返回組中值的平均值。
count(X)返回組中項目的數(shù)量。
max(X)返回組中值的最大值。
min(X)返回組中值的最小值。
sum(X)返回表達式中所有值的和。
其他函數(shù)
typeof(X)返回數(shù)據(jù)的類型。
last_insert_rowid()返回最后插入的數(shù)據(jù)的 ID 。
sqlite_version(*)返回 SQLite 的版本。
change_count()返回受上一語句影響的行數(shù)。
last_statement_change_count()
二.有關(guān)事務(wù)的操作
(成批操作的時候,啟動事務(wù),比不啟動事務(wù)快n倍)
開始事物處理
BEGIN  TRANSACTION;
…………..
進行對數(shù)據(jù)庫操作
…………..
事物提交
COMMIT;
具體事例如下:
假設(shè)有一個 t1 表,其中有 "a", "b", "c" 三列, 如果要刪除列 c ,以下過程描述如何做:
BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;

更新日志

v3.17.0版本
R-Tree擴展提高了25%的性能。
在可用時使用編譯器內(nèi)置函數(shù)(例如:__builtin_bswap32()或_byteswap_ulong())進行字節(jié)交換。
使用sqlite3_blob鍵/值訪問對象而不是SQL從R-Tree節(jié)點中拉出內(nèi)容
其他各種增強功能,如循環(huán)展開。
添加SQLITE_DEFAULT_LOOKASIDE編譯時選項。
將默認后備大小從512,125增加到1200,100,因為這樣可以提供更好的性能,而每個連接只添加56KB的額外內(nèi)存。對內(nèi)存敏感的應用程序可以在編譯時,啟動時或運行時恢復舊的默認值。
使用編譯器內(nèi)置__builtin_sub_overflow(),__builtin_add_overflow()和__builtin_mul_overflow()(如果可用)。(使用SQLITE_DISABLE_INTRINSIC編譯時選項可以省略所有編譯器內(nèi)建函數(shù)。)
添加了SQLITE_ENABLE_NULL_TRIM編譯時選項,這可能會導致某些應用程序的數(shù)據(jù)庫文件大大減小,從而有可能與舊版本的SQLite不兼容。
將SQLITE_DEFAULT_PCACHE_INITSZ從100更改為20,以提高性能。
添加了SQLITE_UINT64_TYPE編譯時選項作為SQLITE_INT64_TYPE的模擬。
在單遍而不是兩遍中執(zhí)行一些UPDATE操作。
增強會話擴展以支持WITHOUTROWID表。
修復了具有數(shù)十萬行的多行VALUES子句創(chuàng)建視圖時的性能問題和潛在的堆棧溢出。
添加了sha1.c擴展。
在命令行shell中,增強“.mode”命令,以便它恢復模式“l(fā)ine”,“l(fā)ist”,“column”和“tcl”的默認列和行分隔符。
增強SQLITE_DIRECT_OVERFLOW_READ選項,以便它在WAL模式下工作,只要正在讀取的頁面不在WAL文件中。
增強LEMON解析器生成器,以便它可以將解析器對象存儲為堆棧變量,而不是從堆分配空間,并利用合并中的增強。
其他性能改進。使用大約6.5%的CPU周期。

載地址

  • 電腦版
Sqlite3(小型關(guān)系型數(shù)據(jù)庫)官方版 v3.17.0綠色版

網(wǎng)友評論

0條評論
(您的評論需要經(jīng)過審核才能顯示)