乙個小時內學習 SQLite 資料庫

2022-02-17 21:34:51 字數 4919 閱讀 4665

1. 介紹

sqlite 是乙個開源的嵌入式關聯式資料庫,實現自包容、零配置、支援事務的sql資料庫引擎。 其特點是高度便攜、使用方便、結構緊湊、高效、可靠。 與其他資料庫管理系統不同,sqlite 的安裝和執行非常簡單,在大多數情況下 - 只要確保sqlite的二進位制檔案存在即可開始建立、連線和使用資料庫。如果您正在尋找乙個嵌入式資料庫專案或解決方案,sqlite是絕對值得考慮。

2. 安裝

sqlite on windows

注意: 是 sqlite 的編譯版本號

將 zip 檔案解壓到你的磁碟,並將解壓後的目錄新增到系統的 path 變數中,以方便在命令列中執行 sqlite 命令。

sqlite on linux

在 多個 linux 發行版提供了方便的命令來獲取 sqlite:

1

/*

for debian or ubuntu /*

2

$sudoapt-getinstallsqlite3

sqlite3-dev

3

4

/*

for redhat, centos, or fedora/*

5

$

yuminstallsqlite3

sqlite3-dev

sqlite on mac os x

如果你正在使用 mac os 雪豹或者更新版本的系統,那麼系統上已經裝有 sqlite 了。

3. 建立首個 sqlite 資料庫

現在你已經安裝了 sqlite 資料庫,接下來我們建立首個資料庫。在命令列視窗中輸入如下命令來建立乙個名為  test.db 的資料庫。

1

sqlite3test.db

建立表:

1

sqlite>

create table mytable(idinteger

primary key, value text);

2

3

2

columns were created.

該錶包含乙個名為 id 的主鍵欄位和乙個名為 value 的文字字段。

注意: 最少必須為新建的資料庫建立乙個表或者檢視,這麼才能將資料庫儲存到磁碟中,否則資料庫不會被建立。

接下來往表裡中寫入一些資料:

1

sqlite>insertintomytable(id,

value)values(1,'micheal');

2

sqlite>insertintomytable(id,

value)values(2,'jenny');

3

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

4

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

查詢資料:

1

sqlite>select*frommytable;

2

1|micheal

3

2|jenny

4

3|francis

5

4|kerk

設定格式化查詢結果:

1

sqlite>

.modecolumn;

2

sqlite>

.headeron;

3

sqlite>select*fromtest;

4

id         

value

5

-----------

-------------

6

1          

micheal

7

2          

jenny

8

3          

francis

9

4          

kerk

.mode column 將設定為列顯示模式,.header 將顯示列名。

修改表結構,增加列:

1

sqlite>altertablemytableaddcolumnemail

textnotnull''collatenocase;;

建立檢視:

1

sqlite>createviewnameviewasselect*frommytable;

建立索引:

1

sqlite>createindextest_idxonmytable(value);

4. 一些有用的 sqlite 命令

顯示表結構:

sqlite> .schema [table]

獲取所有表和檢視:

sqlite > .tables 

獲取指定表的索引列表:

sqlite > .indices [table ]

匯出資料庫到 sql 檔案:

sqlite > .output [filename ]

sqlite > .dump 

sqlite > .output stdout

從 sql 檔案匯入資料庫:

sqlite > .read [filename ]

格式化輸出資料到 csv 格式:

sqlite >.output [filename.csv ]

sqlite >.separator , 

sqlite >

select

* from test; 

sqlite >.output stdout

從 csv 檔案匯入資料到表中:

sqlite >create table newtable (

id integer primary key, value

text ); 

sqlite >.import [filename.csv ] newtable 

備份資料庫:

/* usage: sqlite3 [database] .dump >

[filename]

*/sqlite3 mytable.db .dump > backup.sql

恢復資料庫:

/* usage: sqlite3 [database ]

<

[filename ]

*/sqlite3 mytable.db < backup.sql

乙個小時內學習SQLite資料庫

1.介紹 sqlite 是乙個開源的嵌入式關聯式資料庫,實現自包容 零配置 支援事務的sql資料庫引擎。其特點是高度便攜 使用方便 結構緊湊 高效 可靠。與其他資料庫管理系統不同,sqlite 的安裝和執行非常簡單,在大多數情況下 只要確保sqlite的二進位制檔案存在即可開始建立 連線和使用資料庫...

乙個小時內學習SQLite資料庫

2012 05 11 10 24 紅薯 oschina 字型大小 t t sqlite 是乙個開源的嵌入式關聯式資料庫,實現自包容 零配置 支援事務的sql資料庫引擎。其特點是高度便攜 使用方便 結構緊湊 高效 可靠。與其他資料庫管理系統不同,sqlite 的安裝和執行非常簡單,在大多數情況下 只要...

乙個小時內學習SQLite資料庫

sqlite 是乙個開源的嵌入式關聯式資料庫,實現自包容 零配置 支援事務的sql資料庫引擎。其特點是高度便攜 使用方便 結構緊湊 高效 可靠。與其他資料庫管理系統不同,sqlite 的安裝和執行非常簡單,在大多數情況下 只要確保sqlite的二進位制檔案存在即可開始建立 連線和使用資料庫。如果您正...