共计 2529 个字符,预计需要花费 7 分钟才能阅读完成。
语法和实践转自 https://www.runoob.com/mysql/mysql-where-clause.html
@TOC
1、WHERE 子句
1.1、语法
SELECT field1, field2,…fieldN FROM table_name1, table_name2…
[WHERE condition1 [AND [OR]] condition2…..
查问语句中你能够应用一个或者多个表,表之间应用逗号, 宰割,并应用 WHERE 语句来设定查问条件。你能够在 WHERE 子句中指定任何条件。你能够应用 AND 或者 OR 指定一个或多个条件。WHERE 子句也能够使用于 SQL 的 DELETE 或者 UPDATE 命令。WHERE 子句相似于程序语言中的 if 条件,依据 MySQL 表中的字段值来读取指定的数据。
1.2、用于 WHERE 子句操作符列表
下表中实例假设 A 为 10, B 为 20
操作符 | 形容 | 实例 |
---|---|---|
= | 等号,检测两个值是否相等,如果相等返回 true | (A = B) 返回 false。 |
<>, != | 不等于,检测两个值是否相等,如果不相等返回 true | (A != B) 返回 true。 |
> | 大于号,检测右边的值是否大于左边的值, 如果右边的值大于左边的值返回 true | (A > B) 返回 false。 |
< | 小于号,检测右边的值是否小于左边的值, 如果右边的值小于左边的值返回 true | (A < B) 返回 true。 |
>= | 大于等于号,检测右边的值是否大于或等于左边的值, 如果右边的值大于或等于左边的值返回 true | (A >= B) 返回 false。 |
<= | 小于等于号,检测右边的值是否小于或等于左边的值, 如果右边的值小于或等于左边的值返回 true | (A <= B) 返回 true。 |
1.3、实际操作
1、在前几章曾经创立的 pymysql_study 中查找 study_username 为张三的字段
2、再在数据表 study_tb1 中插入三条数据,study_username 均为张三,而后再将其进行查找进去
1.4、BINARY 的应用
WHERE 子句的字符串比拟是不辨别大小写的,能够应用 BINARY 关键字来设定 WHERE 子句的字符串比拟是辨别大小写
插入 study_username 为 ZHANGSAN 和 zhangsan 两个表,而后应用 WHERE 和 BINARY 进行查问
2、UPDATE 更新
2.1、作用
批改或更新 MySQL 中的数据
2.2、语法
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
你能够同时更新一个或多个字段。你能够在 WHERE 子句中指定任何条件。你能够在一个独自表中同时更新数据。
2.3、实际操作
把 study_id 为 11 中的 study_title 改为“儿子长大了,工夫飞逝啊”,并把 study_password 改为“987654321”
3、DELETE 语句
3.1、作用
应用 DELETE FROM 命令来删除 MySQL 数据表中的记录
3.2、语法
DELETE FROM table_name [WHERE Clause]
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。你能够在 WHERE 子句中指定任何条件
您能够在单个表中一次性删除记录。
3.3、实际操作
1、把 study_tb1 中的牛二删除了,看着牛二不太悦目,哈哈哈
2、把赵六也删了
4、LIKE 子句
4.1、作用
LIKE 子句中应用百分号 % 字符来示意任意字符,相似于 UNIX 或正则表达式中的星号 *
4.2、语法
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
你能够在 WHERE 子句中指定任何条件。你能够在 WHERE 子句中应用 LIKE 子句。你能够应用 LIKE 子句代替等号 =。LIKE 通常与 % 一起应用,相似于一个元字符的搜寻。你能够应用 AND 或者 OR 指定一个或多个条件。你能够在 DELETE 或 UPDATE 命令中应用 WHERE...LIKE 子句来指定条件。
4.3、实际操作
应用 LIKE 来查问 study_tb1 中所有 study_username 为张三的数据
4.4、其余应用
like 匹配 / 含糊匹配,会与 % 和 _ 联合应用。'%a' // 以 a 结尾的数据
'a%' // 以 a 结尾的数据
'%a%' // 含有 a 的数据
'_a_' // 三位且两头字母是 a 的
'_a' // 两位且结尾字母是 a 的
'a_' // 两位且结尾字母是 a 的
1、应用 LIKE 和_搭配应用,查问张三, 如“_三”
2、应用 LIKE 和_搭配应用,查问张三,如“张_”
3、应用 LIKE 和_搭配应用,查问 zhangsan,如“_san”
5、UNION 操作符
5.1、作用
用于连贯两个以上的 SELECT 语句的后果组合到一个后果汇合中。多个 SELECT 语句会删除反复的数据。
5.2、语法
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
expression1, expression2, ... expression_n: 要检索的列。tables: 要检索的数据表。WHERE conditions: 可选,检索条件。DISTINCT: 可选,删除后果集中反复的数据。默认状况下 UNION 操作符曾经删除了反复数据,所以 DISTINCT 修饰符对后果没啥影响。ALL: 可选,返回所有后果集,蕴含反复数据。
5.3、实际操作
创立演示数据库 study_tb2,再创立演示数据
5.4、小结
UNION 语句:用于将不同表中雷同列中查问的数据展现进去;(不包含反复数据)UNION ALL 语句:用于将不同表中雷同列中查问的数据展现进去;(包含反复数据)SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称
;