MySQL语句 MySQL SHOW DATABASES 显示数据库MySQL SHOW SCHEMAS 显示数据库语句MySQL CREATE DATABASE 创建数据库语句MySQL CREATE SCHEMA 创建数据库语句MySQL SHOW CREATE DATABASE 显示创建数据库的语句MySQL SHOW CREATE SCHEMA 显示创建数据库的语句MySQL ALTER DATABASE 修改数据库语句MySQL ALTER SCHEMA 修改数据库语句MySQL DROP DATABASE删除数据库MySQL DROP SCHEMA 删除数据库MySQL USE 选择数据库语句MySQL CREATE TEMPORARY TABLE 创建临时表语句 MySQL CREATE TABLE 创建数据表语句MySQL DROP TEMPORARY TABLE 删除临时表语句MySQL DROP TABLE 删除数据表语句MySQL SELECT 查询语句MySQL INSERT INTO 增加数据语句MySQL UPDATE 更新语句MySQL ALTER TABLE 修改数据表语句MySQL SHOW TABLES 显示数据表语句MySQL DESCRIBE/DESC 查看数据表语句MySQL SHOW CREATE TABLE 显示创建表语句MySQL DELETE 删除表数据语句MySQL WHERE 条件语句MySQL TRUNCATE 清空表语句MySQL LIKE 模糊匹配语句MySQL NOT LIKE 模式匹配外语句MySQL DISTINCT 去重语句MySQL AS 别名语句MySQL INSERT IGNORE INTO 忽略重复数据插入语句MySQL GROUP BY 分组语句MySQL HAVING 包含语句MySQL LIMIT限制查询数量 语句MySQL ORDER BY 排序语句MySQL BETWEEN AND 筛选范围内数据语句MySQL NOT BETWEEN AND 筛选不在范围数据语句MySQL IS NULL 查询是否为NULL值语句MySQL IS NOT NULL 查询不为NULL值语句MySQL IN 查询某个范围内的数据语句MySQL NOT IN 查询某个不在范围内的数据语句MySQL SELECTI...INTO OUTFILE将查询结果输出到外部文件语句MySQL LOAD DATA大量数据快速导入数据库语句MySQL UNION 合并两个或多个SELECT语句MySQL数据类型 MySQL tinyint、smallint、mediumint、int、bigint整数数据类型(精确值)MySQL decimal、numeric、double、float、real小数数据类型(精确、近似值)MySQL date、time、year、timestamp、datetime日期时间数据类型MySQL char、varchar、text、enum、set字符串类型MySQL bit、binary、varbinary、tinyblob、blob、mediumblob、longblob二进制数据类型MySQL空间数据类型MySQL函数 MySQL COUNT 统计函数MySQL ANY_VALUE函数 禁止 ONLY_FULL_GROUP_BY 值拒绝MySQL CASE 多分支函数MySQL LENGTH 返回字节数函数MySQL CHARACTER_LENGTH 返回字符数函数MySQL CHAR_LENGTH 返回字符数函数MySQL SUBSTRING提取字符串函数MySQL CONCAT 合拼字符串函数MySQL INSERT替换字符串函数MySQL LOWER 字符串转为小写 函数MySQL UPPER 字符串转为大写 函数MySQL LEFT 提取左侧字符 函数MySQL RIGHT 提取右侧字符 函数MySQL TRIM 删除头尾空格或指定字符 函数MySQL REPLACE 替换字符串函数MySQL REVERSE 字符串反转函数MySQL ABS求绝对值函数MySQL FIND_IN_SET 查逗号分隔特定值函数 MySQL ASCII最左边字符的数字值函数MySQL BIN将整数值转二进制字符串函数MySQL BIT_LENGTH返二进制字符串长度函数MySQL CONCAT_WS用分隔符连接字符串函数MySQL INTERVAL 返N值在区间段索引位置 函数MySQL ELT 指定位置提取子字符串函数MySQL IFNULL 处理NULL值函数MySQL EXPORT_SET二进制位生成拼接字符串函数MySQL FIELD 包含特定值的位置函数MySQL FORMAT 返回带有格式的数字函数MySQL TO_BASE64 字符串转base-64编码函数MySQL FROM_BASE64 将base-64编码解码函数MySQL AES_ENCRYPT 使用密钥进行加密函数MySQL AES_DECRYPT使用密钥解密函数MySQL HEX字符串转十六进制函数MySQL UNHEX 十六进制字符串转二进制数据函数MySQL INSTR 返回子字符串第一次出现的索引函数MySQL REGEXP 正则表达式函数MySQL NOT REGEXP不匹配正则表达式函数MySQL LCASE用于转换字符串为小写函数MySQL LOAD_FILE 加载文件到数据库函数MySQL LOCATE 搜索字符串第一次出现的位置函数MySQL LPAD左侧添加指定长度字符函数MySQL LTRIM删除字符串左侧空格的函数MySQL MAKE_SET 创建集合函数

MySQL WHERE 条件语句

可以把需要的数据结果进行筛选,WHERE语句通常与SELECTUPDATEDELETE语句一起使用。

语法

{<SELECT语句> | <UPDATE语句> | <DELETE语句>}
WHERE <表达式1>[ and |or 等操作符 <表达式n>]

[ ]中的内容是可选的,{}是集合,| 代表或,<>是中文解释。语法说明:

MySQL的WHERE子句可以包含多个条件,每个条件都由一个操作符和两个操作数组成。下面是一些常用的操作符:

比较操作符
操作符描述实例
=等号,检测两个值是否相等,如果相等返回true(A = B) 返回false。
<>, !=不等于,检测两个值是否相等,如果不相等返回true(A != B) 返回 true。
>大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true(A > B) 返回false。
<小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true(A < B) 返回 true。
>=大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true(A >= B) 返回false。
<=小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true(A <= B) 返回 true。



REGEXP操作符
选项说明例子匹配值示例
^匹配文本的开始字符‘^b’ 匹配以字母 b 开头 的字符串book、big、banana、 bike
$匹配文本的结束字符'st$’ 匹配以 st 结尾的字 符串test、resist、persist
.匹配任何单个字符'b.t’ 匹配任何 b 和 t 之间有一个字符bit、bat、but、bite
*匹配零个或多个在它前面的字 符'f*n’ 匹配字符 n 前面有 任意个字符 ffn、fan、faan、abcn
+匹配前面的字符 1 次或多次'ba+’ 匹配以 b 开头,后 面至少紧跟一个 aba、bay、bare、battle
<字符串>匹配包含指定字符的文本'fa’fan、afa、faad
[字符集合]匹配字符集合中的任何一个字 符'[xz]'匹配 x 或者 zdizzy、zebra、x-ray、 extra
[^]匹配不在括号中的任何字符'[^abc]’ 匹配任何不包 含 a、b 或 c 的字符串desk、fox、f8ke
字符串{n,}匹配前面的字符串至少 n 次b{2} 匹配 2 个或更多 的 bbbb、 bbbb、 bbbbbbb
字符串 {n,m}匹配前面的字符串至少 n 次, 至多 m 次b{2,4} 匹配最少 2 个, 最多 4 个 bbbb、 bbbb


案例1:使用逻辑操作符进行多个条件的筛选

如果我们要同时满足多个条件,可以使用逻辑操作符AND和OR。例如,如果我们想查询年龄大于18岁且名字为"John"的用户,可以使用以下语句:

SELECT * FROM users WHERE age > 18 AND name = 'John';

案例2:使用范围操作符进行筛选

假设我们有一个名为"orders"的表,其中包含"order_date"列。我们想要查询2022年的订单,可以使用BETWEEN操作符。例如:

SELECT * FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';

案例4:查询IS NOT NULL条件

查询officers表officer_name字段内容不为NULL的数据。IS NULL:NULL的内容,IS NOT NUL:不为NULL的内容

SELECT *  FROM officers  WHERE officer_name IS NOT NULL;

6.jpg

案例5:使用正式表达式

在 tb_departments 表中,查询 dept_name 字段值包含字母“o”与字母“y”,且两个字母之间只有一个字母的记录。用符号“.”代替字符串中的任意一个字符。

15462921910e4162a63fba4faa780a72.png

案例6 IN筛选

'Ajeet'和'Vimal'、'Deepika'这里内容如果在officers表里的officer_name字段里面的内容都筛选出来。IN:表示在,NOT IN:表示不在

SELECT *  FROM officers  WHERE officer_name NOT IN ('Ajeet','Vimal','Deepika');

 7.jpg