sqlite3學習之insert(新增)&select(查詢)操作
阿新 • • 發佈:2019-01-12
SQLite 的 INSERT INTO 語句用於向資料庫的某個表中新增新的資料行,語法有兩種格式:
#指定列名稱
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
#不指定列名稱
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
假設我們已經在 testDB.db 中建立了 COMPANY表,如下:
sqlite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
完事我們來插入一些記錄:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY VALUES (2, 'James', 24, 'Houston', 10000.00 );
我們還可以通過在一個有一組欄位的表上使用 select 語句,填充資料到另一個表中,語法如下:
INSERT INTO first_table_name [(column1, column2, ... columnN)] SELECT column1, column2, ...columnN FROM second_table_name [WHERE condition];
SQLite 的 SELECT 語句用於從 SQLite 資料庫表中獲取資料,以結果表的形式返回資料。這些結果表也被稱為結果集,語法格式如下:
#1
SELECT column1, column2, columnN FROM table_name;
#2
SELECT column1, column2, columnN FROM table_name;
接下來我們來使用 SELECT 語句獲取並顯示所有這些記錄,並且設定格式化的輸出:
sqlite>.header on sqlite>.mode column sqlite> SELECT * FROM COMPANY;
有時,由於要顯示的列的預設寬度導致 .mode column,這種情況下,輸出被截斷。此時,我們可以使用 .width num, num.... 命令設定顯示列的寬度,如下:
sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;
上述程式碼中的 .width 命令設定第一列的寬度為 10,第二列的寬度為 20,第三列的寬度為 10。因此上述 SELECT 語句將得到以下結果:
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
因為所有的點命令只在 SQLite 提示符中可用,所以當我們進行帶有 SQLite 的程式設計時,我們要使用下面的帶有 sqlite_master 表的 SELECT 語句來列出所有在資料庫中建立的表:
SELECT tbl_name FROM sqlite_master WHERE type = 'table';
假設在 testDB.db 中已經存在唯一的 COMPANY 表,則將產生以下結果:
tbl_name
----------
COMPANY
我們還可以列出關於 COMPANY 表的完整資訊,如下:
SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';
好啦,本次記錄就到這裡了。
如果感覺不錯的話,請多多點贊支援哦。。。