干貨|Sqlite數(shù)據(jù)庫(kù)知識(shí)必知必會(huì)(上篇)
前言
前面我們學(xué)習(xí)了很多數(shù)據(jù)庫(kù),雖然它們功能非常豐富,但是占用空間比較大,使得我們的系統(tǒng)負(fù)荷變大,這對(duì)于我們新手小白來說不是一個(gè)理想的選擇,于是乎,Sqlite閃亮登場(chǎng),它受人喜愛的真正原因正是因?yàn)樗銐蛐?,無需安裝和管理配置,簡(jiǎn)單容易上手,支持?jǐn)?shù)據(jù)庫(kù)的大小也有2TB,足夠我們個(gè)人開發(fā)愛好者使用了。
一、安裝
既然要學(xué)Sqlite,首先我們先安裝它們,前面我們說過,安裝它們無需太多過程,即免安裝,下載地址:
https://u062.com/dir/7715018-39794633-fbf2ca
我們下載好后直接將Sqlite的應(yīng)用程序加入到環(huán)境變量中即可隨意使用了,打開CMD,看到這種字樣,表示安裝成功,如圖:
二、圖形化界面管理
Sqlite已經(jīng)安裝上了,但是在命令提示符窗口操作總感覺不美觀,小編想這時(shí)候應(yīng)該需要一個(gè)圖形界面工具來操縱Sqlite,這樣就能更直觀的顯示數(shù)據(jù)了,這里我推薦SqliteAdmin,中文版的界面再加上簡(jiǎn)潔的界面設(shè)計(jì),如圖:
注意,此時(shí)的軟件還無法正常工作,因?yàn)樗€沒有可以解析Sqlite語(yǔ)句的動(dòng)態(tài)鏈接庫(kù),所以你還需要下載個(gè)動(dòng)態(tài)鏈接庫(kù),這里小編已經(jīng)準(zhǔn)備好了下載地址了,下載后直接復(fù)制到軟件的目錄即可,下載地址:
- https://u062.com/file/7715018-452195159
三、基本語(yǔ)法
Sqlite不像其它的數(shù)據(jù)庫(kù)以“;”結(jié)尾,而且它是以“.”開頭使得式子成立的。打開我們的SqliteAdmin,下面開始我們的裝逼之旅。
1.數(shù)據(jù)類型
- Null 空值
- SMALLLINT 短整型
- INTEGER 帶符號(hào)的整數(shù) 這個(gè)就是布爾類型 0(false)和 1(true)
- TINYINT 長(zhǎng)整型
- REAL 浮點(diǎn)值
- TEXT 大量文本字符串
- BLOB 二進(jìn)制對(duì)象
- NUMERIC 使用所有五個(gè)存儲(chǔ)類的值
- VARCHAR(n) 變動(dòng)長(zhǎng)度字符串,只能存英文,最多8000個(gè)字符
- CHAR(n) 固定長(zhǎng)度字符串
- DATA 年月日
- TIME 時(shí)分秒
- DOUBLE 雙精度浮點(diǎn)數(shù)
- FLOAT 單精度浮點(diǎn)數(shù)
- TIMESTAMP 存儲(chǔ)年月日時(shí)分秒
- NCHAR 存儲(chǔ)Unicode數(shù)據(jù)類型的固長(zhǎng)字符串 ,可存英文漢字,做多4000個(gè)字符
- NVARCHAR 存儲(chǔ)Unicode數(shù)據(jù)類型的變長(zhǎng)字符串
- NTEXT 存儲(chǔ)Unicode數(shù)據(jù)類型的大量文本字符串
- DATATIME 存儲(chǔ)日期時(shí)間
其實(shí)它的數(shù)據(jù)類型遠(yuǎn)不止這些,更多的數(shù)據(jù)類型需要大家發(fā)掘,這里小編列舉只是常用的數(shù)據(jù)類型罷了。
2.基本關(guān)鍵字
了解了數(shù)據(jù)類型,在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)用于操作時(shí)需要配套使用的關(guān)鍵字當(dāng)然也必須得了解,這樣才能提高開發(fā)效率。
- AND 與
- BETWEEN 最小值和最大值之間
- EXISTS 判斷是否存在
- IN 判斷某個(gè)值是否屬于另一個(gè)值
- NOT IN 判斷某個(gè)值是否不屬于另一個(gè)值
- LIKE 使用通配符比較值與另一個(gè)值 不區(qū)分大小寫 %(表示零個(gè),一個(gè)或者多個(gè)) _(表示一個(gè))
- GLOB 使用通配符將值與類似值進(jìn)行比較,并區(qū)分大小寫的 *(表示零個(gè)或多個(gè)) ?(表示一個(gè))
- LIMIT 限制滿足條件的值的數(shù)量
- ORDER BY 排序 ASC(升序) | DESC(降序)
- GROUP BY 數(shù)據(jù)聚合
- HAVING 過濾分組,使用前一定要使用GROUP BY
- DISTINCT 消除所有重復(fù)記錄
- NOT 不,常和in一起用
- OR 或
- IS NULL 判斷是否等于空值,類型運(yùn)算符
- IS 相當(dāng)于‘=’
- IS NOT 判斷是否不等于 相當(dāng)于“!=”
- UNIQUE 不重復(fù)
- UNION 消除所有重復(fù)行
- UNIONALL 不消除重復(fù)行
- WHERE 用于滿足某個(gè)條件時(shí)
- SELECT 選擇
- FROM 來自
- INSERT INTO 插入表數(shù)據(jù)
- PRIMARY Key 主列
- DEFAULT 默認(rèn)值
- CHECK 檢查
3.數(shù)據(jù)庫(kù)相關(guān)操作
1).創(chuàng)建數(shù)據(jù)庫(kù)文件
首先我們要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)文件,以“.db”結(jié)尾的文件,如下:
我們還可以在命令提示符里面創(chuàng)建數(shù)據(jù)庫(kù),如下所示:
這樣就創(chuàng)建了一個(gè)"test"的數(shù)據(jù)庫(kù)文件了,我們創(chuàng)建之后我們就進(jìn)入了"test"數(shù)據(jù)庫(kù)中了,然后就可以進(jìn)行其它操作了。
2).查看數(shù)據(jù)庫(kù)
- .database .databases 兩者即可
3).退出數(shù)據(jù)庫(kù)
- .quit
4).導(dǎo)出數(shù)據(jù)庫(kù)
- sqlite3 test.db .dump > test.sql
5).創(chuàng)建附加數(shù)據(jù)庫(kù)
- ATTACH DATABASE 'test1.db' as 'test1';
- ATTACH DATABASE 'test2.db' as 'test2';
上述操作是將所有數(shù)據(jù)庫(kù)數(shù)據(jù)都存放在了數(shù)據(jù)庫(kù)文件“test.db”中了,不過實(shí)際開發(fā)中不建議這么做,建議多做幾個(gè)數(shù)據(jù)庫(kù),或者將數(shù)據(jù)庫(kù)嵌入到其它數(shù)據(jù)庫(kù)中。
6).顯示附加數(shù)據(jù)庫(kù)
- .database .databases 兩者即可
7).分離數(shù)據(jù)庫(kù)
- DETACH DATABASE 'test1';
四、總結(jié)
這篇文章主要介紹了Sqlite數(shù)據(jù)庫(kù)的安裝、圖形化管理系統(tǒng)、基本數(shù)據(jù)類型、基本關(guān)鍵字和數(shù)據(jù)庫(kù)的相關(guān)操作,介紹了創(chuàng)建數(shù)據(jù)庫(kù)、查看數(shù)據(jù)庫(kù)、退出數(shù)據(jù)庫(kù)、導(dǎo)出數(shù)據(jù)庫(kù)、創(chuàng)建附加數(shù)據(jù)庫(kù)、顯示附加數(shù)據(jù)庫(kù)和分離數(shù)據(jù)庫(kù)的方法,干貨多多。下一篇文章繼續(xù)給大家分享Sqlite數(shù)據(jù)庫(kù)的數(shù)據(jù)表、索引、視圖、觸發(fā)器和事務(wù)操作知識(shí),敬請(qǐng)期待!
本文轉(zhuǎn)載自微信公眾號(hào)「IT共享之家」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系IT共享之家公眾號(hào)。