测试过程中使用最多的部分–查询
1、数据库查询
查询全部数据库:SHOW DATABASES;
模糊查询:SHOW DATABASES LIKE ‘匹配’;
(%表示匹配多个字符:my%匹配mydata,_表示匹配单个字符:my_匹配mys,_中\表示转义)
2、数据表查询
查询全部数据表:SHOW TABLES;
模糊查询:SHOW TABLES LIKE ‘匹配’;
查看表创建语句:SHOW CREATE TABLE 表名;
查看表结构:DESC 表名;
DESCRIBE 表名;
SHOW COLUMNS FROM 表名;
3、查看表中数据(重点):
基本语法:SELECT */字段列表 FROM 表名 WHERE 语句;
完整语法:SELECT [SELECT选项] */字段列表[[as]字段别名] FROM 数据源 [WHERE 语句] [GROUP BY 语句] [HAVING 语句] [ORDER BY语句] [LIMIT 语句];
SELECT 选项:
(1)ALL:全部查询。与不使用all等价
(2)DISTINCT:去重查询。全部字段都完全相同即为重复记录,使用该字段查询时,会只显示其中一条
字段别名:
查询数据时,可以对查出的字段名重命名
数据源:
(1)单表数据源:数据源=表名
(2)多表数据源:数据源=表名1,表名2,…。查询结果为表1结果交叉表2结果==
(3)查询语句:数据源=(SELECT 语句)
WHERE 语句:
判断条件:>,<,>=,!=,<>,like,=,between and,in,not in,&&,and,||,or,!,not
部分说明:<>表示不等于;between用法:between a and b;like为模糊匹配,上面有提及
根据判断条件筛选结果
GROUP BY 语句:
根据某个字段进行分组:GROUP BY 字段名;。主要是为了统计数据,常用统计函数有:COUNT():统计每一组有多少记录,MAX(),MIN(),AVG(),SUM()
分组结果合并后进行排序:GROUP BY 字段名 [asc or desc]
可以多字段进行分组
HAVING 语句:
HAVING和WHERE一样,都是进行条件判断。having基本包含where。WHERE查询效率更高
HAVING可以处理分组统计的结果
HAVING可以使用字段别名
WHere和having的区别:https://www.cnblogs.com/bjkandy/p/5693718.html
ORDER BY 语句:
排序,基本语法:ORDER BY 字段名[asc or desc];
可以多字段排序,ORDER BY 字段名1[asc or desc],字段名2[asc or desc];先根据字段名1顺序or倒序排列,再按照字段名2顺序or倒序排列
LIMIT 语句:
限制语句,一般用来限制数量
(1)限制长度:LIMIT 数据量;
(2)限制起始位置+数量:LIMIT 起始位置,长度;
内连接查询:
从左表中取出每一条数据,去右表中与所有的记录进行匹配。某个条件在左表中与右表中完全相同才会保留该条记录
内查询语句:SELECT * FROM a INNER JOIN b ON a.a = b.c;
结果:
类似于取交集,只连接匹配的行
WHERE可以用ON代替
左外连接查询:
表a和表b如上,查询语句:SELECT a.*,b.d FROM a LEFT JOIN b on a.a = b.c;
结果:
左连接的结果:左表全部保留,左表对应字段值右表不匹配时,右表对应值显示NULL
右外连接查询:
表a和表b如上,查询语句:SELECT * FROM a RIGHT JOIN b on a.a = b.c;
结果:
右连接的结果:右表全部保留,右表对应字段值左表不匹配时,左表对应值显示NULL