
Sqlite3(小型關(guān)系型數(shù)據(jù)庫)官方版
詳情介紹
開發(fā)軟件的用戶對于數(shù)據(jù)庫都不會(huì)陌生,這款sqlite3官方版就是一款小巧切好用的關(guān)系型數(shù)據(jù)庫,也是一款能夠代替MySql的數(shù)據(jù)庫,目前已經(jīng)綁定到了PHP5.0上,就像我們的ASP和access結(jié)合一樣。如果你是一位網(wǎng)頁P(yáng)HP開發(fā)人員,那么這個(gè)sqlite3就是你必須掌握使用的東西,并且這款軟件的設(shè)計(jì)目標(biāo)是嵌入式的設(shè)計(jì),所以目前已經(jīng)有很多嵌入式產(chǎn)品在使用這個(gè)數(shù)據(jù)庫,而且由于軟件的資源占用非常低,所以諸多嵌入設(shè)備都開始使用這個(gè)數(shù)據(jù)庫來存儲(chǔ)數(shù)據(jù),讓我們的嵌入式設(shè)備有更多的資源運(yùn)行。
sqlite3是目前世界最棒的小型數(shù)據(jù)庫,大名鼎鼎的瀏覽器Firefox就是使用這個(gè)數(shù)據(jù)庫,所以大家可不要小看這個(gè)數(shù)據(jù)庫的潛力,而且還能夠和眾多的程序語言相結(jié)合,比如Tcl、PHP、JAVA等等。
sqlite3官方版操作入門
sqlite提供的是一些C函數(shù)接口,你可以用這些函數(shù)操作數(shù)據(jù)庫。通過使用這些接口,傳遞一些標(biāo)準(zhǔn) sql 語句(以 char * 類型)給 sqlite 函數(shù),sqlite 就會(huì)為你操作數(shù)據(jù)庫。
sqlite 跟MS的access一樣是文件型數(shù)據(jù)庫,就是說,一個(gè)數(shù)據(jù)庫就是一個(gè)文件,此數(shù)據(jù)庫里可以建立很多的表,可以建立索引、觸發(fā)器等等,但是,它實(shí)際上得到的就是一個(gè)文件。備份這個(gè)文件就備份了整個(gè)數(shù)據(jù)庫。
sqlite 不需要任何數(shù)據(jù)庫引擎,這意味著如果你需要 sqlite 來保存一些用戶數(shù)據(jù),甚至都不需要安裝數(shù)據(jù)庫(如果你做個(gè)小軟件還要求人家必須裝了sqlserver 才能運(yùn)行,那也太黑心了)。
常用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 條件;
增加一個(gè)列: Alter table 表名 add column 字段 數(shù)據(jù)類型;
選擇查詢: select 字段(以”,”隔開) from 表名 where 條件;
日期和時(shí)間: Select datetime('now')
日期: select date('now');
時(shí)間: select time('now');
總數(shù):select count(*) from table1;
求和:select sum(field1) from table1;
平均:select avg(field1) from table1;
最大:select max(field1) from table1;
最小:select 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é)存儲(chǔ)
REAL 值為浮點(diǎn)型,8字節(jié)存儲(chǔ)
TEXT 值為text字符串,使用數(shù)據(jù)庫編碼(UTF-8, UTF-16BE or UTF-16-LE)存儲(chǔ)
BLOB 值為二進(jìn)制數(shù)據(jù),具體看實(shí)際輸入
但實(shí)際上,sqlite3也接受如下的數(shù)據(jù)類型:
smallint 16 位元的整數(shù)
interger 32 位元的整數(shù)
decimal(p,s) p 精確值和 s 大小的十進(jìn)位整數(shù),精確值p是指全部有幾個(gè)數(shù)(digits)大小值 ,s是指小數(shù)點(diǎn)後有幾位數(shù)。如果沒有特別指定,則系統(tǒng)會(huì)設(shè)為 p=5; s=0 。
float 32位元的實(shí)數(shù)。
double 64位元的實(shí)數(shù)。
char(n) n 長度的字串,n不能超過 254。
varchar(n) 長度不固定且其最大長度為 n 的字串,n不能超過 4000。
graphic(n) 和 char(n) 一樣,不過其單位是兩個(gè)字元 double-bytes, n不能超過127。這個(gè)形態(tài)是為了支援兩個(gè)字元長度的字體,例如中文字。
vargraphic(n) 可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000。
date 包含了 年份、月份、日期。
time 包含了 小時(shí)、分鐘、秒。
timestamp 包含了 年、月、日、時(shí)、分、秒、千分之一秒。
如果將聲明表的一列設(shè)置為 INTEGER PRIMARY KEY,則具有:
1.每當(dāng)你在該列上插入一NULL值時(shí), NULL自動(dòng)被轉(zhuǎn)換為一個(gè)比該列中最大值大1的一個(gè)整數(shù);
2.如果表是空的, 將會(huì)是1;
算術(shù)函數(shù)
abs(X)返回給定數(shù)字表達(dá)式的絕對值。
max(X,Y[,...])返回表達(dá)式的最大值。
min(X,Y[,...])返回表達(dá)式的最小值。
random(*)返回隨機(jī)數(shù)。
round(X[,Y])返回?cái)?shù)字表達(dá)式并四舍五入為指定的長度或精度。
字符處理函數(shù)
length(X)返回給定字符串表達(dá)式的字符個(gè)數(shù)。
lower(X)將大寫字符數(shù)據(jù)轉(zhuǎn)換為小寫字符數(shù)據(jù)后返回字符表達(dá)式。
upper(X)返回將小寫字符數(shù)據(jù)轉(zhuǎn)換為大寫的字符表達(dá)式。
substr(X,Y,Z)返回表達(dá)式的一部分。
randstr()
quote(A)
like(A,B)
確定給定的字符串是否與指定的模式匹配。
glob(A,B)
條件判斷函數(shù)
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
集合函數(shù)
avg(X)返回組中值的平均值。
count(X)返回組中項(xiàng)目的數(shù)量。
max(X)返回組中值的最大值。
min(X)返回組中值的最小值。
sum(X)返回表達(dá)式中所有值的和。
其他函數(shù)
typeof(X)返回?cái)?shù)據(jù)的類型。
last_insert_rowid()返回最后插入的數(shù)據(jù)的 ID 。
sqlite_version(*)返回 SQLite 的版本。
change_count()返回受上一語句影響的行數(shù)。
last_statement_change_count()
二.有關(guān)事務(wù)的操作
(成批操作的時(shí)候,啟動(dòng)事務(wù),比不啟動(dòng)事務(wù)快n倍)
開始事物處理
BEGIN TRANSACTION;
…………..
進(jìn)行對數(shù)據(jù)庫操作
…………..
事物提交
COMMIT;
具體事例如下:
假設(shè)有一個(gè) t1 表,其中有 "a", "b", "c" 三列, 如果要?jiǎng)h除列 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.53.0版本
修復(fù)WAL重置導(dǎo)致的數(shù)據(jù)庫損壞問題。
添加查詢結(jié)果格式化器(QRF)庫,用于在等寬字體屏幕上格式化SQL查詢結(jié)果,以提高可讀性。
將格式化方法添加到TCL接口中,以便可以從TCL訪問QRF。
QRF用于命令行界面(CLI)中的結(jié)果格式化,從而提升了顯示功能。
新的SQL語言特性:
增強(qiáng)ALTER TABLE功能,允許添加和移除NOT NULL和CHECK約束。
REINDEX EXPRESSIONS 語句用于重建表達(dá)式索引。(有助于修復(fù)過時(shí)的表達(dá)式索引。)
TEMP 觸發(fā)器的主體現(xiàn)在可以修改和/或查詢主模式中的表。
增強(qiáng)VACUUM INTO功能,以便在將URI文件名用作目標(biāo)且該文件名包含一個(gè)reserve=N(N介于0和255之間)查詢參數(shù)時(shí),將生成的數(shù)據(jù)庫副本的保留量設(shè)置為N。
下載地址
- 電腦版
- 本地下載通道:
- 江蘇電信下載
- 廣東電信下載
- 北京聯(lián)通下載
- 浙江電信下載
同類軟件
網(wǎng)友評論
共0條評論分類列表
類似軟件
-
visual foxpro 7.0 數(shù)據(jù)庫類 / 18.88M
-
sql server 2014中文版 數(shù)據(jù)庫類 / 2.2G
-
sybase sql anywhere(數(shù)據(jù)庫管理工具) v5.0官方版 數(shù)據(jù)庫類 / 14.03M
-
-
PowerDesigner v16.5.0.3982 數(shù)據(jù)庫類 / 475.26M
精彩推薦
換一換本類更新
-
Navicat for MariaDB官方版 v17.3.9 數(shù)據(jù)庫類 / 119.57M
查看 -
Navicat for Oracle(Oracle數(shù)據(jù)庫管理工具) v17.3.9 數(shù)據(jù)庫類 / 129.62M
查看 -
MySQL社區(qū)版 v9.5.0 數(shù)據(jù)庫類 / 169.06M
查看 -
JMP Pro 17 v17.1.0 數(shù)據(jù)庫類 / 1.37G
查看 -
MS SQL Maestro(數(shù)據(jù)庫管理軟件) v25.12.0.1 數(shù)據(jù)庫類 / 29.19M
查看



























贛公網(wǎng)安備 36010602000087號