乙個小時內學習SQLite資料庫

2021-06-19 18:14:53 字數 3824 閱讀 1166

1. 介紹

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

2. 安裝

sqlite on windows

sqlite-shell-win32-x86-.zip

sqlite-dll-win32-x86-.zip

注意: 是 sqlite 的編譯版本號

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

sqlite-amalgamation-.zip

sqlite on linux

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

/* 

fordebian 

orubuntu /*  

$ sudo apt-get install sqlite3 sqlite3-dev  

/* for

redhat, centos, 

orfedora/*  

$ yum install sqlite3 sqlite3-dev 

sqlite on mac os x

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

3. 建立首個 sqlite 資料庫

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

sqlite3 test.db 

建立表:

sqlite> 

create

table

mytable(id 

integer

primary

key, value text);  

2 columns were created.  

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

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

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

sqlite> 

insert

into

mytable(id, value) 

values

(1, 

'micheal'

);  

sqlite> 

insert

into

mytable(id, value) 

values

(2, 

'jenny'

);  

sqlite> 

insert

into

mytable(value) 

values

('francis'

);  

sqlite> 

insert

into

mytable(value) 

values

('kerk'

);

查詢資料:

sqlite> 

select

* from

test;  

1|micheal  

2|jenny  

3|francis  

4|kerk 

設定格式化查詢結果:

sqlite> .mode 

column

;  sqlite> .header 

on;  

sqlite> 

select

* from

test;  

id          value  

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

1           micheal  

2           jenny  

3           francis  

4           kerk 

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

修改表結構,增加列:

sqlite> 

alter

table

mytable 

addcolumn

email text 

notnull

''collate

nocase;; 

建立檢視:

sqlite> 

create

view

nameview 

asselect

* from

mytable; 

建立索引:

sqlite> 

create

index

test_idx 

onmytable(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資料庫

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

乙個小時內學習SQLite資料庫

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

乙個小時內學習SQLite資料庫

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