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复制代码
相关文章
相关标签/搜索