1.創建數據庫
$sqlite3 DatabaseName.db
查詢數據庫列表:
可以使用 SQLite 的 .database 命令來檢查它是否在數據庫列表中
退出sqlite>提示符:
sqlite>.quit
導出數據庫:
$sqlite3 testDB.db .dump > testDB.sql 上面的命令將轉換整個 testDB.db 數據庫的內容到 SQLite 的語句中,並將其轉儲到 ASCII 文本文件 testDB.sql 中。您可以通過簡單的方式從生成的 testDB.sql 恢復,如下所示: $sqlite3 testDB.db < testDB.sql
2.創建表
CREATE TABLE語法:
CREATE TABLE database_name.table_name( column1 datatype PRIMARY KEY(one or more columns), column2 datatype, column3 datatype, ..... columnN datatype, );
CREATE TABLE 是告訴數據庫系統創建一個新表的關鍵字。CREATE TABLE 語句后跟着表的唯一的名稱或標識。您也可以選擇指定帶有 table_name 的 database_name。
實例:
創建了一個 COMPANY 表,ID 作為主鍵,NOT NULL 的約束表示在表中創建紀錄時這些字段不能為 NULL: sqlite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
其中ID就是作為主鍵。主鍵的意思就是唯一標識符。不會出現重復。
ID,NAME,AGE這些都是列,也就是字段。
為什么要有主鍵?
比如用COMPANY中的NANE這個字段,有可能出現同名同姓的人,那么在這個時候就會出現檢索混亂的問題。所以增加主鍵,作為唯一標識符。
NOT NULL表示這個字段不能為空,必須要填寫。
.tables列出數據庫所有表:
sqlite>.tables COMPANY
.schema列出表的完整信息:
sqlite>.schema COMPANY CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
3.刪除表
DROP TABLE語法:
DROP TABLE database_name.table_name;
實例:
sqlite>.tables COMPANY
這意味着 COMPANY 表已存在數據庫中,接下來讓我們把它從數據庫中刪除,如下:
sqlite>DROP TABLE COMPANY; sqlite>
現在,如果嘗試 .TABLES 命令,那么將無法找到 COMPANY 表了:
sqlite>.tables sqlite>
4.向表中的字段添加數據
INSERT INTO
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN);
在這里,column1, column2,...columnN 是要插入數據的表中的列的名稱。也就是要插入到哪個字段。
如果要為表中的所有列添加值,您也可以不需要在 SQLite 查詢中指定列名稱。但要確保值的順序與列在表中的順序一致。SQLite 的 INSERT INTO 語法如下:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
實例:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (5, 'David', 27, 'Texas', 85000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );
也可以使用第二種語法在 COMPANY 表中創建一個記錄,如下所示:
INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );
5.獲取表中數據
SELECT語法:
SELECT column1, column2, columnN FROM table_name;
在這里,column1, column2...是表的字段,他們的值即是您要獲取的。如果您想獲取所有可用的字段,那么可以使用下面的語法:
SELECT * FROM table_name;
實例:
假設 COMPANY 表有以下記錄:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
使用 SELECT 語句獲取並顯示所有這些記錄。在這里,前兩個命令被用來設置正確格式化的輸出。
sqlite>.header on sqlite>.mode column sqlite> SELECT * FROM COMPANY;
最后,將得到以下的結果:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
如果只想獲取 COMPANY 表中指定的字段,則使用下面的查詢:
sqlite> SELECT ID, NAME, SALARY FROM COMPANY;
上面的查詢會產生以下結果:
ID NAME SALARY ---------- ---------- ---------- 1 Paul 20000.0 2 Allen 15000.0 3 Teddy 20000.0 4 Mark 65000.0 5 David 85000.0 6 Kim 45000.0 7 James 10000.0