sqlite基礎(chǔ)教程

1. 介紹

SQLite 是一個(gè)開源的嵌入式關(guān)系數(shù)據(jù)庫机错,實(shí)現(xiàn)自包容爬范、零配置、支持事務(wù)的SQL數(shù)據(jù)庫引擎弱匪。 其特點(diǎn)是高度便攜青瀑、使用方便、結(jié)構(gòu)緊湊萧诫、高效斥难、可靠。 與其他數(shù)據(jù)庫管理系統(tǒng)不同帘饶,SQLite 的安裝和運(yùn)行非常簡(jiǎn)單哑诊,在大多數(shù)情況下 - 只要確保SQLite的二進(jìn)制文件存在即可開始創(chuàng)建华望、連接和使用數(shù)據(jù)庫津辩。如果您正在尋找一個(gè)嵌入式數(shù)據(jù)庫項(xiàng)目或解決方案,SQLite是絕對(duì)值得考慮僚害。

2. 安裝

SQLite on Windows

1)進(jìn)入 SQL 下載頁面:http://www.sqlite.org/download.html

2)下載 Windows 下的預(yù)編譯二進(jìn)制文件包:

sqlite-shell-win32-x86-.zip

sqlite-dll-win32-x86-.zip

注意: 是 sqlite 的編譯版本號(hào)

將 zip 文件解壓到你的磁盤缴饭,并將解壓后的目錄添加到系統(tǒng)的 PATH 變量中暑劝,以方便在命令行中執(zhí)行 sqlite 命令。

可選: 如果你計(jì)劃發(fā)布基于 sqlite 數(shù)據(jù)庫的應(yīng)用程序颗搂,你還需要下載源碼以便編譯和利用其 API

sqlite-amalgamation-.zip

SQLite on Linux

在 多個(gè) Linux 發(fā)行版提供了方便的命令來獲取 SQLite:

/*ForDebianorUbuntu?/*

$?sudo?apt-get?install?sqlite3?sqlite3-dev

/*ForRedHat,?CentOS,orFedora/*

$?yum?install?SQLite3?sqlite3-dev

SQLite on Mac OS X

如果你正在使用 Mac OS 雪豹或者更新版本的系統(tǒng)担猛,那么系統(tǒng)上已經(jīng)裝有 SQLite 了。

3. 創(chuàng)建首個(gè) SQLite 數(shù)據(jù)庫

現(xiàn)在你已經(jīng)安裝了 SQLite 數(shù)據(jù)庫,接下來我們創(chuàng)建首個(gè)數(shù)據(jù)庫毁习。在命令行窗口中輸入如下命令來創(chuàng)建一個(gè)名為 test.db 的數(shù)據(jù)庫智嚷。

sqlite3?test.db

創(chuàng)建表:

sqlite>createtablemytable(idintegerprimarykey,?value?text);

2?columns?were?created.

該表包含一個(gè)名為 id 的主鍵字段和一個(gè)名為 value 的文本字段。

注意: 最少必須為新建的數(shù)據(jù)庫創(chuàng)建一個(gè)表或者視圖纺且,這么才能將數(shù)據(jù)庫保存到磁盤中盏道,否則數(shù)據(jù)庫不會(huì)被創(chuàng)建。

接下來往表里中寫入一些數(shù)據(jù):

sqlite>insertintomytable(id,?value)values(1,'Micheal');

sqlite>insertintomytable(id,?value)values(2,'Jenny');

sqlite>insertintomytable(value)values('Francis');

sqlite>insertintomytable(value)values('Kerk');

查詢數(shù)據(jù):

sqlite>select*fromtest;

1|Micheal

2|Jenny

3|Francis

4|Kerk

設(shè)置格式化查詢結(jié)果:

sqlite>?.modecolumn;

sqlite>?.headeron;

sqlite>select*fromtest;

id??????????value

-----------?-------------

1???????????Micheal

2???????????Jenny

3???????????Francis

4???????????Kerk

.mode column 將設(shè)置為列顯示模式载碌,.header 將顯示列名猜嘱。

修改表結(jié)構(gòu),增加列:

sqlite>altertablemytableaddcolumnemail?textnotnull''collatenocase;;

創(chuàng)建視圖:

sqlite>createviewnameviewasselect*frommytable;

創(chuàng)建索引:

sqlite>createindextest_idxonmytable(value);

4. 一些有用的 SQLite 命令

顯示表結(jié)構(gòu):

sqlite>?.schema[table]

獲取所有表和視圖:

sqlite?>?.tables

獲取指定表的索引列表:

sqlite?>?.indices?[table]

導(dǎo)出數(shù)據(jù)庫到 SQL 文件:

sqlite?>?.output[filename?]

sqlite?>?.dump

sqlite?>?.outputstdout

從 SQL 文件導(dǎo)入數(shù)據(jù)庫:

sqlite?>?.read[filename?]

格式化輸出數(shù)據(jù)到 CSV 格式:

sqlite?>.output[filename.csv?]

sqlite?>.separator?,

sqlite?>select*fromtest;

sqlite?>.outputstdout

從 CSV 文件導(dǎo)入數(shù)據(jù)到表中:

sqlite?>createtablenewtable?(?idintegerprimarykey,?value?text?);

sqlite?>.import?[filename.csv?]?newtable

備份數(shù)據(jù)庫:

/*?usage:?sqlite3?[database]?.dump?>?[filename]?*/

sqlite3?mytable.db?.dump?>?backup.sql

恢復(fù)數(shù)據(jù)庫:

/*?usage:?sqlite3?[database]?<?[filename?]?*/

sqlite3?mytable.db?<?backup.sq

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嫁艇,一起剝皮案震驚了整個(gè)濱河市朗伶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌步咪,老刑警劉巖论皆,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異猾漫,居然都是意外死亡点晴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門悯周,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粒督,“玉大人,你說我怎么就攤上這事禽翼⊥篱希” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵闰挡,是天一觀的道長(zhǎng)锐墙。 經(jīng)常有香客問我,道長(zhǎng)长酗,這世上最難降的妖魔是什么溪北? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮花枫,結(jié)果婚禮上刻盐,老公的妹妹穿的比我還像新娘掏膏。我一直安慰自己劳翰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布馒疹。 她就那樣靜靜地躺著佳簸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上生均,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天听想,我揣著相機(jī)與錄音,去河邊找鬼马胧。 笑死汉买,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的佩脊。 我是一名探鬼主播蛙粘,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼威彰!你這毒婦竟也來了出牧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤歇盼,失蹤者是張志新(化名)和其女友劉穎舔痕,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豹缀,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伯复,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耿眉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片边翼。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸣剪,靈堂內(nèi)的尸體忽然破棺而出组底,到底是詐尸還是另有隱情,我是刑警寧澤筐骇,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布债鸡,位于F島的核電站,受9級(jí)特大地震影響铛纬,放射性物質(zhì)發(fā)生泄漏厌均。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一告唆、第九天 我趴在偏房一處隱蔽的房頂上張望棺弊。 院中可真熱鬧,春花似錦擒悬、人聲如沸模她。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侈净。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間畜侦,已是汗流浹背元扔。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留旋膳,地道東北人澎语。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像验懊,于是被迫代替她去往敵國和親咏连。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容