SQLite 常用語法
源自於 https://www.runoob.com/sqlite/sqlite-tutorial.html
源自於 http://tw.gitbook.net/sqlite/sqlite_overview.html
資料庫的四大功能
新增Insert、更新Update、刪除Delete、查詢SELECT
SQL
結構化查詢語言,結構化簡單的意思就是要整理過的資料,儲存的資料比較嚴謹,
例如固定的欄位、固定的格式、固定的順序、固定的大小。
常見的 : MS SQL 、MySQL 、Oracle等等。
特性
1. 關聯式資料庫,兩個以上的資料表可以產生關聯性。
2. 建立的資料表,欄位就不能變動。
3. 可以複雜的查詢。
4. 儲存重要資料,例如交易資料。
5. 擴充能力弱、成本高。
SQLite CREATE TABLE 建立表
SQLite 的CREATE TABLE語句用於在任何給定的資料庫建立一個新表。建立基本表,涉及命名表、定義列及每一列的資料類型。
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
);
SQLite DROP TABLE刪除表
SQLite 的DROP TABLE語句用來刪除資料表定義及其所有相關資料、索引、觸發器、約束和該資料表的權限規格。
使用此命令時要特別注意,因為一旦表被刪除,表中所有資訊也將永遠遺失。
DROP TABLE 語句的基本語法如下。您可以選擇指定帶有表名的資料庫名稱,如下所示:
DROP TABLE table_name ;
sqlite > DROP TABLE COMPANY ;
sqlite >
SQLite INSERT 插入語句
SQLite的INSERT INTO語句用來在資料庫的某個表格中新增新的資料行。
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);
假設您已經在 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
);
現在,下面的語句將在 COMPANY 表中建立六個記錄:
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 );
SQLite Select 語句
SQLite 的SELECT語句用於從SQLite 資料庫表中取得數據,以結果表的形式傳回資料。這些結果表也被稱為結果集。
SQLite 的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> 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
SQLite Update 語句
SQLite 的UPDATE查詢用於修改表格中已有的記錄。可以使用帶有WHERE 子句的UPDATE 查詢來更新選定行,否則所有的行都會被更新。
帶有WHERE 子句的UPDATE 查詢的基本語法如下:
UPDATE table_name
SET column1 = value1 , column2 = value2 ...., columnN = valueN
WHERE [ condition ];
您可以使用AND 或OR 運算子來結合N 個數量的條件。
假設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
下面是一個實例,它會更新ID 為6 的客戶位址:
sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;
現在,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 Texas 45000.0
7 James 24 Houston 10000.0
SQLite Delete 語句
SQLite 的DELETE查詢用於刪除表格中已有的記錄。可以使用帶有WHERE 子句的DELETE 查詢來刪除選定行,否則所有的記錄都會被刪除。
帶有WHERE 子句的DELETE 查詢的基本語法如下:
DELETE FROM table_name
WHERE [ condition ];
您可以使用AND 或OR 運算子來結合N 個數量的條件。
假設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
下面是一個實例,它會刪除ID 為7 的客戶:
sqlite > DELETE FROM COMPANY WHERE ID = 7 ;
現在,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
如果您想要從COMPANY 表中刪除所有記錄,則不需要使用WHERE 子句,DELETE 查詢如下:
sqlite> DELETE FROM COMPANY;
現在,COMPANY 表中沒有任何的記錄,因為所有的記錄已經透過DELETE 語句刪除。
沒有留言:
張貼留言