SQLite核心语法全解析

发表时间: 2020-03-14 22:46

1. SQLite 运算符

1.1 SQLite 算术运算符

1.2 SQLite 比较运算符

1.3 SQLite 逻辑运算符

1.4 SQLite 位运算符

1.5 SQLite AND/OR 运算符(属于逻辑运算符,此处单独介绍)

2. SQLite 表达式

2.1 SQLite - 布尔表达式

2.2 SQLite - 数值表达式

2.3 SQLite - 日期表达式


1. SQLite 运算符

SQLite 运算符是什么?

运算符是一个保留字或字符,主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较和算术运算。

运算符用于指定 SQLite 语句中的条件,并在语句中连接多个条件。

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符


1.1 SQLite 算术运算符

算术运算符,包含下列类型:

  • + 加法 - 把运算符两边的值相加 a + b 将得到 30
  • - 减法 - 左操作数减去右操作数 a - b 将得到 -10
  • * 乘法 - 把运算符两边的值相乘 a * b 将得到 200
  • / 除法 - 左操作数除以右操作数 b / a 将得到 2
  • % 取模 - 左操作数除以右操作数后得到的余数 b % a will give 0


1.2 SQLite 比较运算符

比较运算符,包含下列类型:

  • == 检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
  • = 检查两个操作数的值是否相等,如果相等则条件为真。 (a = b) 不为真。
  • != 检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
  • <> 检查两个操作数的值是否相等,如果不相等则条件为真。 (a <> b) 为真。
  • > 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
  • < 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
  • >= 检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
  • <= 检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
  • !< 检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 (a !< b) 为假。
  • !> 检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 (a !> b) 为真。


1.3 SQLite 逻辑运算符

SQLite 逻辑运算符,下面是 SQLite 中所有的逻辑运算符列表

  • AND AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
  • BETWEEN BETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
  • EXISTS EXISTS 运算符用于在满足一定条件的指定表中搜索行的存在。
  • IN IN 运算符用于把某个值与一系列指定列表的值进行比较。
  • NOT IN IN 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
  • LIKE LIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。
  • GLOB GLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
  • NOT NOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
  • OR OR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
  • IS NULL NULL 运算符用于把某个值与 NULL 值进行比较。
  • IS IS 运算符与 = 相似。
  • IS NOT IS NOT 运算符与 != 相似。
  • || 连接两个不同的字符串,得到一个新的字符串。
  • UNIQUE UNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。


1.4 SQLite 位运算符

下表中列出了 SQLite 语言支持的位运算符:

  • & 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
  • | 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
  • ~ 二进制补码运算符是一元运算符,具有"翻转"位效应,即0变成1,1变成0。 (~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。
  • << 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
  • >> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111


1.5 SQLite AND/OR 运算符

  • SQLite 的 AND 和 OR 运算符用于编译多个条件来缩小在 SQLite 语句中所选的数据。这两个运算符被称为连接运算符。
  • 这些运算符为同一个 SQLite 语句中不同的运算符之间的多个比较提供了可能。


1.5.1 AND 运算符

  • AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
  • 使用 AND 运算符时,只有当所有条件都为真(true)时,整个条件为真(true)。例如,只有当 condition1 和 condition2 都为真(true)时,[condition1] AND [condition2] 为真(true)。

语法

带有 WHERE 子句的 AND 运算符的基本语法如下:

SELECT column1, column2, columnN

FROM table_name

WHERE [condition1] AND [condition2]...AND [conditionN];


1.5.2 OR 运算符

  • OR 运算符也用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
  • 使用 OR 运算符时,只要当条件中任何一个为真(true)时,整个条件为真(true)。例如,只要当 condition1 或 condition2 有一个为真(true)时,[condition1] OR [condition2] 为真(true)。

语法

带有 WHERE 子句的 OR 运算符的基本语法如下:

SELECT column1, column2, columnN

FROM table_name

WHERE [condition1] OR [condition2]...OR [conditionN]


2. SQLite 表达式

  • SQLite 表达式:表达式是一个或多个值、运算符和计算值的SQL函数的组合。
  • SQL 表达式与公式类似,都写在查询语言中。您还可以使用特定的数据集来查询数据库

语法

假设 SELECT 语句的基本语法如下:

SELECT column1, column2, columnN

FROM table_name

WHERE [CONDITION | EXPRESSION];


SQLite 表达式包含:

  • SQLite - 布尔表达式
  • SQLite - 数值表达式
  • SQLite - 日期表达式


2.1 SQLite - 布尔表达式

SQLite 的布尔表达式在匹配单个值的基础上获取数据。语法如下:

SELECT column1, column2, columnN

FROM table_name

WHERE SINGLE VALUE MATCHING EXPRESSION;

sqlite> SELECT * FROM COMPANY WHERE SALARY = 10000;


2.2 SQLite - 数值表达式

这些表达式用来执行查询中的任何数学运算。语法如下:

SELECT numerical_expression as OPERATION_NAME

[FROM table_name WHERE CONDITION] ;

在这里,numerical_expression 用于数学表达式或任何公式。下面的实例演示了 SQLite 数值表达式的用法:

sqlite> SELECT (15 + 6) AS ADDITION

ADDITION = 21


2.3 SQLite - 日期表达式

日期表达式返回当前系统日期和时间值,这些表达式将被用于各种数据操作。语法如下:

sqlite> SELECT CURRENT_TIMESTAMP;

CURRENT_TIMESTAMP = 2013-03-17 10:43:35


本文整理的原始资源来自网络资源,如涉及版权问题,请私信联系人予以删除,谢谢!