SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。
WHERE 子句不仅可用在 SELECT 语句中,它也可用在 UPDATE、DELETE 语句中
语法
SQLite 的带有 WHERE 子句的 SELECT 语句的基本语法如下:
<span style="font-size:14px;">SELECT column1, column2, columnN
FROM table_name
WHERE [condition]</span></span>
SQLite AND/OR 运算符
SQLite 的 AND 和 OR 运算符用于编译多个条件来缩小在 SQLite 语句中所选的数据。也被称为连接运算符
AND运算符
AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。使用 AND 运算符时,只有当所有条件都为真(true)时,整个条件为真(true)。例如,只有当 condition1 和 condition2 都为真(true)时,[condition1] AND [condition2] 为真(true)。
SELECT column1, column2, columnN FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
OR运算符
OR 运算符也用于结合一个 SQL 语句的 WHERE 子句中的多个条件。使用 OR 运算符时,只要当条件中任何一个为真(true)时,整个条件为真(true)。例如,只要当 condition1 或 condition2 有一个为真(true)时,[condition1] OR [condition2] 为真(true)。
SELECT column1, column2, columnN FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。
UPDATE table_nameSET column1 = value1, column2 = value2...., columnN = valueN下面是一个实例,它会更新 ID 为 6 的客户地址:
WHERE [condition];
sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;如果您想修改 COMPANY 表中 ADDRESS 和 SALARY 列的所有值,则不需要使用 WHERE 子句,UPDATE 查询如下:
sqlite> UPDATE COMPANY SET ADDRESS = 'Texas', SALARY = 20000.00;
SQLite的Delete查询用于删除表中已有的记录。可以使用带有WHERE子句的DELETE查询来删除选定行,否则所有的记录都会被删除
语法
带有WHERE子句的DELETE查询的基本语法如下:
DELETE FROM table_name可以使用AND或OR运算符来结合N个数量的条件。
WHERE [condition];
实例,假如有如下的COMPANY表
删除ID为7的客户:
sqlite> DELETE FROM COMPANY WHERE ID = 7;
如果想从COMPANY表中删除所有记录,则不需要使用WHERE子句,DELETE查询如下:
sqlite> DELETE FROM COMPANY;