標籤:key ref tin 結合 底線 文法 unix 建立表 lis
SQLite 建立表
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。
SQLite 刪除表
SQLite 的 DROP TABLE 語句用來刪除表定義及其所有相關資料、索引、觸發器、約束和該表的許可權規範。
使用此命令時要特別注意,因為一旦一個表被刪除,表中所有資訊也將永遠丟失。
文法
DROP TABLE 語句的基本文法如下。您可以選擇指定帶有表名的資料庫名稱,如下所示:
DROP TABLE database_name.table_name;
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);
使用一個表來填充另一個表
您可以通過在一個有一組欄位的表上使用 select 語句,填充資料到另一個表中。下面是文法:
insert into first_table_name [(column1, column2, ... columnN)] select column1, column2,
...columnN from second_table_name[wherecondition];
SQLite Select 語句
SQLite 的 SELECT 語句用於從 SQLite 資料庫表中擷取資料,以結果表的形式返回資料。這些結果表也被稱為結果集。
文法
SQLite 的 SELECT 語句的基本文法如下:
select column1, column2, columnN FROM table_name;
在這裡,column1, column2...是表的欄位,他們的值即是您要擷取的。如果您想擷取所有可用的欄位,那麼可以使用下面的文法:
SELECT * FROM table_name;
SQLite Update 語句
SQLite 的 UPDATE 查詢用於修改表中已有的記錄。可以使用帶有 WHERE 子句的 UPDATE 查詢來更新選定行,否則所有的行都會被更新。
文法
帶有 WHERE 子句的 UPDATE 查詢的基本文法如下:
UPDATE table_nameSET column1 = value1, column2 = value2...., columnN = valueNWHERE [condition];
您可以使用 AND 或 OR 運算子來結合 N 個數量的條件。
SQLite Delete 語句
SQLite 的 DELETE 查詢用於刪除表中已有的記錄。可以使用帶有 WHERE 子句的 DELETE 查詢來刪除選定行,否則所有的記錄都會被刪除。
文法
帶有 WHERE 子句的 DELETE 查詢的基本文法如下:
DELETE FROM table_nameWHERE [condition];
您可以使用 AND 或 OR 運算子來結合 N 個數量的條件。
SQLite Where 子句
SQLite的 WHERE 子句用於指定從一個表或多個表中擷取資料的條件。
如果滿足給定的條件,即為真(true)時,則從表中返回特定的值。您可以使用 WHERE 子句來過濾記錄,只擷取需要的記錄。
WHERE 子句不僅可用在 SELECT 語句中,它也可用在 UPDATE、DELETE 語句中,等等,這些我們將在隨後的章節中學習到。
文法
SQLite 的帶有 WHERE 子句的 SELECT 語句的基本文法如下:
SELECT column1, column2, columnN FROM table_nameWHERE [condition]
SQLite AND/OR 運算子
SQLite 的 AND 和 OR 運算子用於編譯多個條件來縮小在 SQLite 語句中所選的資料。這兩個運算子被稱為串連運算子。
這些運算子為同一個 SQLite 語句中不同的運算子之間的多個比較提供了可能。
AND 運算子
AND 運算子允許在一個 SQL 陳述式的 WHERE 子句中的多個條件的存在。使用 AND 運算子時,只有當所有條件都為真(true)時,整個條件為真(true)。例如,只有當 condition1 和 condition2 都為真(true)時,[condition1] AND [condition2] 為真(true)。
文法
帶有 WHERE 子句的 AND 運算子的基本文法如下:
SELECT column1, column2, columnN FROM table_nameWHERE [condition1] AND [condition2]...AND [conditionN];
您可以使用 AND 運算子來結合 N 個數量的條件。SQLite 語句需要執行的動作是,無論是事務或查詢,所有由 AND 分隔的條件都必須為真(TRUE)。
SQLite Like 子句
SQLite 的 LIKE 運算子是用來匹配萬用字元指定模式的文本值。如果搜尋運算式與模式運算式匹配,LIKE 運算子將返回真(true),也就是 1。這裡有兩個萬用字元與 LIKE 運算子一起使用:
百分比符號(%)代表零個、一個或多個數字或字元。底線(_)代表一個單一的數字或字元。這些符號可以被組合使用。
文法
% 和 _ 的基本文法如下:
SELECT FROM table_nameWHERE column LIKE ‘XXXX%‘or SELECT FROM table_nameWHERE column LIKE ‘%XXXX%‘orSELECT FROM table_nameWHERE column LIKE ‘XXXX_‘orSELECT FROM table_nameWHERE column LIKE ‘_XXXX‘orSELECT FROM table_nameWHERE column LIKE ‘_XXXX_‘
您可以使用 AND 或 OR 運算子來結合 N 個數量的條件。在這裡,XXXX 可以是任何數字或字串值。
執行個體
下面一些執行個體示範了 帶有 ‘%‘ 和 ‘_‘ 運算子的 LIKE 子句不同的地方:
語句 |
描述 |
WHERE SALARY LIKE ‘200%‘ |
尋找以 200 開頭的任意值 |
WHERE SALARY LIKE ‘%200%‘ |
尋找任意位置包含 200 的任意值 |
WHERE SALARY LIKE ‘_00%‘ |
尋找第二位和第三位為 00 的任意值 |
WHERE SALARY LIKE ‘2_%_%‘ |
尋找以 2 開頭,且長度至少為 3 個字元的任意值 |
WHERE SALARY LIKE ‘%2‘ |
尋找以 2 結尾的任意值 |
WHERE SALARY LIKE ‘_2%3‘ |
尋找第二位為 2,且以 3 結尾的任意值 |
WHERE SALARY LIKE ‘2___3‘ |
尋找長度為 5 位元,且以 2 開頭以 3 結尾的任意值 |
SQLite Glob 子句
SQLite 的 GLOB 運算子是用來匹配萬用字元指定模式的文本值。如果搜尋運算式與模式運算式匹配,GLOB 運算子將返回真(true),也就是 1。與 LIKE 運算子不同的是,GLOB 是大小寫敏感的,對於下面的萬用字元,它遵循 UNIX 的文法。
星號(*)代表零個、一個或多個數字或字元。問號(?)代表一個單一的數字或字元。這些符號可以被組合使用。
文法
* 和 ? 的基本文法如下:
SELECT FROM table_nameWHERE column GLOB ‘XXXX*‘or SELECT FROM table_nameWHERE column GLOB ‘*XXXX*‘orSELECT FROM table_nameWHERE column GLOB ‘XXXX?‘orSELECT FROM table_nameWHERE column GLOB ‘?XXXX‘orSELECT FROM table_nameWHERE column GLOB ‘?XXXX?‘orSELECT FROM table_nameWHERE column GLOB ‘????‘
您可以使用 AND 或 OR 運算子來結合 N 個數量的條件。在這裡,XXXX 可以是任何數字或字串值。
執行個體
下面一些執行個體示範了 帶有 ‘*‘ 和 ‘?‘ 運算子的 GLOB 子句不同的地方:
語句 |
描述 |
WHERE SALARY GLOB ‘200*‘ |
尋找以 200 開頭的任意值 |
WHERE SALARY GLOB ‘*200*‘ |
尋找任意位置包含 200 的任意值 |
WHERE SALARY GLOB ‘?00*‘ |
尋找第二位和第三位為 00 的任意值 |
WHERE SALARY GLOB ‘2??‘ |
尋找以 2 開頭,且長度至少為 3 個字元的任意值 |
WHERE SALARY GLOB ‘*2‘ |
尋找以 2 結尾的任意值 |
WHERE SALARY GLOB ‘?2*3‘ |
尋找第二位為 2,且以 3 結尾的任意值 |
WHERE SALARY GLOB ‘2???3‘ |
尋找長度為 5 位元,且以 2 開頭以 3 結尾的任意值 |
SQLite的基本使用