高效查询方式
指定字段查询
select 字段 from 表名;
对字段进行去重查看
SELECT DISTINCT "字段" FROM "表名";
where条件查询
SELECT "字段" FROM 表名" WHERE "条件";
查询取值列表中的数据
SELECT "字段" FROM "表名" WHERE "字段" IN ('值1', '值2', ...); #in,遍历一个取值列表
between的引用
SELECT "字段" FROM "表名" WHERE "字段" BETWEEN '值1' AND '值2';
like的查询 方式
select * from info2 where hobby like '%ing'
排序方式进行查询
order by,按关键字排序。
数据库中常用数学的函数
round truncate(x, y)
聚合函数
min mas avg count sum
字符串函数
concat 将提供的参数 x 和 y 拼接成一个字符串
substr(x,y)获取从字符串 x 中的第 y 个位置开始的字符串
替换replace
select replace(name,'小','大') from info2;
GROUP BY(用于分组和汇总)
对GROUPBY后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的
-
"GROUP BY"有一个原则,凡是在"GROUP BY"后面出现的字段,必须在SELECT 后面出现;
-
凡是在SELECT 后面出现的、且未在聚合函数中出现的字段,必须出现在"GROUP BY"后面。
having 用于过滤group by 语句返回的记录集
表连接查询
MYSQL数据库中常用的表连接有三种:
inner join(内连接) left join(左连接) right join (右连接)
view 视图的运用
视图:可以被当作是虚拟表或存储查询。
CREATE VIEW "视图表名" AS "SELECT 语句";
DROP VIEW "视图表名";
UNION 联级
UNION联集:将两个SQL语句的结果合并起来,两个SQL语句所产生的字段需要是同样的数据记录种
正则表达式的运用
select "字段" from "表名" where "字段" regexp '正则表达式';
空值(NULL)和无值(' ')的区别
无值的长度为0,不占用空间;而NULL值的长度是NULL,是占用空间的。
IS NULL
或者IS NOT NULL
,是用来判断字段是不是为NULL或者不是NULL,不能查出是不是无值的
无值的判断使用=' '
或者< >' '
来处理。<>代表不等于。
在通过 count ()
指定字段统计有多少行数时,如果遇到NULL值会自动忽略掉,遇到无值会加入到记录中进行计算。