命令:sql
DDL-數據定義:數據庫
CREATE -- 建立一個新的表,一個表的視圖,或者數據庫中的其餘對象ide
ALTER -- 修改數據庫中的某個已有的數據對象,好比一個表ui
DROP -- 刪除整個表,或者表的視圖,或者數據庫中的其餘對象編碼
DML - 數據操做:spa
INSERT -- 建立一條記錄命令行
UPDATE -- 修改記錄code
DELETE -- 刪除記錄sqlite
DQL - 數據查詢:對象
SELECT -- 從一個或多個表中檢索某些記錄
可使用 . help 命令來獲取各類重要的SQLite 點命令的列表;
可使用 .show 命令來獲取SQLite命令提示符的默認設置;
sqlite> .show echo: off eqp: off explain: auto headers: off mode: list nullvalue: "" output: stdout colseparator: "|" rowseparator: "\n" stats: off width: filename: :memory:
也可使用屬性的方法改變設置
sqlite>.header on sqlite>.mode column sqlite>.timer on
SQLite 存儲類:
NULL | 值是一個 NULL 值 |
INTEGER | 值是一個帶符號的整數根據值的大小,存儲在 一、二、三、四、6 或 8 字節中。 |
REAL | 值是一個浮點值,存儲爲 8 字節的 IEEE 浮點數字。 |
TEXT | 值是一個文本字符串,使用數據庫編碼(UTF-八、UTF-16BE 或 UTF-16LE)存儲。 |
BLOB | 值是一個 blob 數據,徹底根據它的輸入存儲。 |
使用命令 sqlite3 testDB.db 來建立一個新的數據庫
E:\SQLite3>sqlite3 testDB.db SQLite version 3.25.0 2018-09-15 04:01:47 Enter ".help" for usage hints.
一旦數據庫被建立,就可使用 .databases 命令來查看它是否在數據庫列表中
sqlite> .databases main: E:\SQLite3\testDB.db
可使用 .quit 命令退出 sqlite提示符
sqlite> .quit E:\SQLite3>
能夠在命令行中使用 SQLite.dump 點命令來導出完整的數據庫在一個文本文件中
E:\SQLite3>sqlite3 testDB.db .dump > testDB.sql
上面的命令將轉換整個 testDB.db 數據庫的內容到 SQLite 的語句中,並將其轉儲到 testDB.sql 中。你能夠經過簡單的方式從生產的testDB.db 恢復
E:\SQLite3>sqlite3 testDB.db < testDB.sql
此時的數據庫是空的,一旦數據庫中有表和數據,能夠進行嘗試。
若是想要附加一個現有的數據庫 testDB.db ,則 ATTACH DATABASE 語句將以下所示
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
使用 .database 命令來顯示附加的數據庫
sqlite> .database main: TEST: E:\SQLite3\testDB.db
數據庫名稱 main 和temp 被保留用於主數據庫和存儲臨時表及其它臨時數據對象的數據庫。這兩個數據庫名稱能夠用於每一個數據庫鏈接,且不該該被用於附加,不然將獲得一個警告消息。
SQLite的 DETACH DTABASE 語句是用來把命名數據庫從一個數據庫鏈接分離和遊離出來,鏈接是以前使用 ATTACH 語句附加的。若是同一個數據庫文件已經被附加上多個別名,DETACH 命令將只斷開給定名稱的鏈接,而其他的仍然有效。您沒法分離 main 或 temp 數據庫。
若是數據庫是在內存中或者是臨時數據庫,則該數據庫將被摧毀,且內容將會丟失。
SQLite 的 DETACH DATABASE 的基本語句的基本語法以下:
DETACH DATABASE 'Alias-Name';
假設已經建立一個數據庫並給他附加了‘TEST’ 和 ‘XING',使用.database 命令,咱們能夠看到以下:
main:
TEST: E:\SQLite3\testDB.db
XING: E:\SQLite3\testDB.db
如今嘗試把'XING' 從 testDB.db 中分離出來,以下:
sqlite> DETACH DATABASE 'XING';
若是如今再次檢查,會發現testDB.db 任與 main 保持鏈接
sqlite> .database main: TEST: E:\SQLite3\testDB.db