干貨|Sqlite數(shù)據(jù)庫(kù)知識(shí)必知必會(huì)(上篇)
點(diǎn)擊上方“IT共享之家”,進(jìn)行關(guān)注
回復(fù)“資料”可獲贈(zèng)Python學(xué)習(xí)福利
問世間,情是何物,直教人生死相許?
大家好,我是IT共享者,人稱皮皮。
前面幾天給大家分享了MySQL數(shù)據(jù)庫(kù)知識(shí),沒來得及看的小伙伴可以前往:Mysql查詢語(yǔ)句進(jìn)階知識(shí)集錦,一篇文章教會(huì)你進(jìn)行Mysql數(shù)據(jù)庫(kù)和數(shù)據(jù)表的基本操作,關(guān)于數(shù)據(jù)庫(kù)的安裝可以參考:手把手教你進(jìn)行Mysql5.x版本的安裝及解決安裝過程中的bug,今天皮皮繼續(xù)給大家分享數(shù)據(jù)庫(kù)知識(shí),但是換了一個(gè)主角,它就是Sqlite。
前言
前面我們學(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ǔ)類的值變動(dòng)長(zhǎng)度字符串,只能存英文,最多8000個(gè)字符固定長(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 BYDISTINCT 消除所有重復(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)期待!
我是皮皮,如果覺得文章不錯(cuò),記得三連噢,大家有問題也可以點(diǎn)擊下方的圖片,加我好友,交個(gè)朋友也好呀~
看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多的人
IT共享之家
入群請(qǐng)?jiān)谖⑿藕笈_(tái)回復(fù)【入群】
------------------- End -------------------
往期精彩文章推薦:
