一、基础查询
MySQL 数据库使用SQL SELECT语句来查询数据
语法:
SELECT 列字段1,列字段2,...
FROM table_name
[Where Clause]
[Limit N][ OFFSET M]
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
1、查询单个字段
select 字段名 from 表名;
2、查询多个字段
select 字段名1,字段名2,... from 表名;
3、查询所有的字段
select * from 表名;
4、查询函数
select 函数名(实参列表)
5、查询表达式
select 100/1234;
6、起别名
select lastname AS '姓' from tables_name;
7、去重(DISTINCT 语句用于返回唯一不同的值。)
在表中,一个列可能会包含多个重复值,有时希望仅仅列出不同(distinct)的值。
select distinct 字段名 from 表名;
8、+( 做加法运算)
select 数值+数值; 会直接运算
select 字符+数值; 先试图将字符转换成数值,如果转换成功,则继续运算,否则转换成0,再做运算。
select null+值; null+任何值,结果都为null。
9、concat() 函数
用于合并字符串。
select CONCAT(字符1,字符2...字符n)
10、IFNULL() 函数
用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
select ifnull(表达式1,表达式2) from table_name;
11、isnull()函数
用于判断某字段或表达式是否为null,如果是,则返回1即true,否则返回0即false。
select isnull(只能写一个表达式) from table_name;
二、条件查询-运算符
1、比较运算符
SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。
操作符 | 描述 | 实例 |
= | 等号,检测两个值是否相等,如果相等返回true | (A = B) 返回true。 |
<>, != | 不等于,检测两个值是否相等,如果不相等返回true | (A != B) 返回 true。 |
> | 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true | (A > B) 返回true。 |
< | 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true | (A < B) 返回 true。 |
>= | 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true | (A >= B) 返回ftrue。 |
<= | 小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true | (A <= B) 返回 true。 |
2、逻辑运算符
逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。
运算符号 | 作用 |
---|---|
NOT 或 ! | 逻辑非 |
AND | 逻辑与 |
OR | 逻辑或 |
XOR | 逻辑异或 |
3、模糊查找
操作符 | 描述 | 实例 |
BETWEEN | 在两值之间 | >=min&&<=max |
NOT BETWEEN | 不在两值之间 | |
IN | 在集合中 | |
NOT IN | 不在集合中 | |
<=> | 严格比较两个NULL值是否相等 | 两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0 |
LIKE | 模糊匹配,一般搭配通配符使用,可以判断字符型或数值型。 通配符如下: %:表示任意多个字符,包含0个字符; _下划线:任意单个字符。 | 会与 % 和 _ 结合使用。 '%a' //以a结尾的数据 'a%' //以a开头的数据 '%a%' //含有a的数据 '_a_' //三位且中间字母是a的 '_a' //两位且结尾字母是a的 'a_' //两位且开头字母是a的 |
REGEXP 或 RLIKE | 正则式匹配 | |
IS NULL | 判断是否为空(null) | |
IS NOT NULL | 不为空,反之判断为空。 |