《SQLite3 — 創建數據庫、創建及刪除表、添加字段和獲取數據》


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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM