Sqlite3 經常使用語句

Creat Table

CREATE TABLE 語句用於在任何給定的數據庫建立一個新表。建立基本表,涉及到命名錶、定義列及每一列的數據類型數據庫

CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   .....
   columnN datatype,);
複製代碼

Delete table

DROP TABLE 語句用來刪除表定義及其全部相關數據、索引、觸發器、約束和該表的權限規範。一但一個表使用此命令被刪除,表中全部信息也將永遠丟失。spa

DROP TABLE database_name.table_name;
複製代碼

Insert

INSERT INTO 語句用於向數據庫的某個表中添加新的數據行。 INSERT INTO 語句有兩種基本語法,以下所示:code

  1. INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN); column1爲列名
  2. INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

SELCT

SELECT 語句用於從 SQLite 數據庫表中獲取數據,以結果表的形式返回數據。 使用方法:索引

1  SELECT column1, column2, columnN FROM table_name;
2 SELECT * FROM table_name;
複製代碼

SQLite 算術運算符

假設變量 a=10,變量 b=20,則:字符串

運算符 描述 實例
+ 加法 - 把運算符兩邊的值相加 a + b 將獲得 30
- 減法 - 左操做數減去右操做數 a - b 將獲得 -10
* 乘法 - 把運算符兩邊的值相乘 a * b 將獲得 200
/ 除法 - 左操做數除以右操做數 b / a 將獲得 2
% 取模 - 左操做數除以右操做數後獲得的餘數 b % a will give 0

SQLite 表達式

SELECT column1, column2, columnN FROM table_name WHERE [CONTION | EXPRESSION];
複製代碼

WHERE

WHERE 子句用於指定從一個表或多個表中獲取數據的條件。若是知足給定的條件,即爲真(true)時,則從表中返回特定的值。您可使用WHERE子句來過濾記錄,只獲取須要的記錄。WHERE子句不只可用在SELECT語句中,它也可用在 UPDATE、DELETE 語句中it

SELECT column1, column2, columnN 
FROM table_name 
WHERE [condition]
複製代碼

AND/OR

AND 和 OR 運算符用於編譯多個條件來縮小在 SQLite 語句中所選的數據。io

  • AND 運算符容許在一個 SQL 語句的 WHERE 子句中的多個條件的存在。使用 AND 運算符時,只有當全部條件都爲真(true)時,整個條件爲真(true)。例如,只有當 condition1 和 condition2 都爲真(true)時,[condition1] AND [condition2] 爲真(true)
  • OR 運算符也用於結合一個 SQL 語句的 WHERE 子句中的多個條件。使用 OR 運算符時,只要當條件中任何一個爲真(true)時,整 個條件爲真(true)。例如,只要當 condition1 或 condition2 有一個爲真(true)時,[condition1] OR [condition2] 爲真(true)。

Update

UPDATE 查詢用於修改表中已有的記錄。可使用帶有 WHERE 子句的 UPDATE 查詢來更新選定行,不然全部的行都會被更新。 帶有 WHERE 子句的 UPDATE 查詢的基本語法以下:編譯

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
複製代碼

Delete

DELETE 查詢用於刪除表中已有的記錄。可使用帶有 WHERE 子句的 DELETE 查詢來刪除選定行,不然全部的記錄都會被刪除。下面的語句table全部記錄都會被刪除。table

DELETE FROM table_name
複製代碼

帶有 WHERE 子句的 DELETE 查詢的基本語法以下:class

DELETE FROM table_name
WHERE [condition];
複製代碼

可使用 AND 或 OR 運算符來結合 N 個數量的條件。

Like

LIKE 運算符是用來匹配通配符指定模式的文本值。若是搜索表達式與模式表達式匹配,LIKE 運算符將返回真(true),也就是 1。這裏有兩個通配符與 LIKE 運算符一塊兒使用:

  • 百分號 (%)

  • 下劃線 () 百分號(%)表明零個、一個或多個數字或字符。下劃線()表明一個單一的數字或字符。這些符號能夠被組合使用。

    SELECT FROM table_name WHERE column LIKE 'XXXX%'

    or

    SELECT FROM table_name WHERE column LIKE '%XXXX%'

    or

    SELECT FROM table_name WHERE column LIKE 'XXXX_'

    or

    SELECT FROM table_name WHERE column LIKE '_XXXX'

    or

    SELECT FROM table_name WHERE column LIKE 'XXXX'

例如:

語句 描述
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 結尾的任意值

Glob

GLOB 運算符是用來匹配通配符指定模式的文本值。若是搜索表達式與模式表達式匹配,GLOB 運算符將返回真(true),也就是 1。與 LIKE 運算符不一樣的是,GLOB 是大小寫敏感的,對於下面的通配符,它遵循 UNIX 的語法。

  • 星號 (*)
  • 問號 (?)

星號(*)表明零個、一個或多個數字或字符。問號(?)表明一個單一的數字或字符。這些符號能夠被組合使用。

  • 和 ? 的基本語法以下:

    SELECT FROM table_name WHERE column GLOB 'XXXX*'

    or

    SELECT FROM table_name WHERE column GLOB 'XXXX'

    or

    SELECT FROM table_name WHERE column GLOB 'XXXX?'

    or

    SELECT FROM table_name WHERE column GLOB '?XXXX'

    or

    SELECT FROM table_name WHERE column GLOB '?XXXX?'

    or

    SELECT FROM table_name WHERE 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 結尾的任意值

LIMIT

LIMIT 子句用於限制由 SELECT 語句返回的數據數量

ELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows]
複製代碼

ORDER BY

ORDER BY子句是用來基於一個或多個列按升序或降序順序排列數據.

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
複製代碼

GROUP BY

GROUP BY 子句用於與 SELECT 語句一塊兒使用,來對相同的數據進行分組。 在 SELECT 語句中,GROUP BY 子句放在 WHERE 子句以後,放在 ORDER BY 子句以前。

SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
複製代碼

HAVING

HAVING 子句容許指定條件來過濾將出如今最終結果中的分組結果。 WHERE 子句在所選列上設置條件,而 HAVING 子句則在由 GROUP BY 子句建立的分組上設置條件。 下面是 HAVING 子句在 SELECT 查詢中的位置:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
複製代碼

在一個查詢中,HAVING 子句必須放在 GROUP BY 子句以後,必須放在 ORDER BY 子句以前。下面是包含 HAVING 子句的 SELECT 語句的語法:

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2複製代碼
相關文章
相關標籤/搜索