开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情
简介
最近在翻阅以前做的 MYSQL 学习笔记,在这里做下汇总,如果问题,欢迎大家总结指正,笔者在这里谢谢大家了。
常用操作
count
-
count(*)获取总记录,包含为 null;
-
count(列名)获取总记录,不包含 null。
-
示例:
-
select count(*) from emp where tableName; 符合条件的所有记录总数。
-
select count(comm) from tableName; comm这个字段中不为空的元素总数。
-
select count(distinct job ) from tableName; 取得工作岗位的个数
-
sum()
-
sum可以取得某一个列的和,null 会被忽略
-
示例:select sum(age) from tableName;会自动忽略为 null 的 age
-
注意:select sum(age+size) from tableName;不会忽略为 null 的 size,需要需要将为 null 的转为 0 进行合计
-
select sum(age+ifnull(size,0)) from tableName;
平均值avg()
-
注意事项同sum()
最大值max()
- 示例:select max(str_to_date (hiredate, '%Y-%m-%d')) from tableName;// 取得最晚入职得员工
最小值min()
-
示例:select min(sal) from tableName;// 取得最低薪水
-
转小写:lower()
- 示例:select lower(ename) from tableName;
-
转大写:upper()
- 示例:select * from tableName where job=upper('manager');
-
截取字符串:substr(要截取的字段,开始位置(从1开始),要截取的长度)
-示例:select substr(applabel,1,4) from appconfig;
-
获取字段长度:length()
-示例:select length(appid) from appconfig;
⑤去除首尾空格,不包含中间的空格
示例:select * from emp where job=trim(upper('manager '));
-
将字符串转为日期:str_to_date(字符串,匹配格式)
- select * from emp where HIREDATE=str_to_date('1981-02-20','%Y-%m-%d');
-
获取当前日期:now()
-
千分位:format(需要插入千分位的字段,位数)
-示例:select empno, ename, Format(sal, 2) from emp;
-
四舍五入:round()
- 示例:select round(123.56);
-
生成随机数:rand()
- 示例:select rand();
-
case..when..then..else..then..end
-
示例:如果 job 为 MANAGERG 薪水上涨 10%,如果 job 为 SALESMAN 工资上涨 50%
-
select empno, ename, job, sal, case job when 'MANAGER' then sal1.1 when 'SALESMAN' then sal1.5 end as newsal from emp;
-
-
ifnull()
-
示例:select ifnull(comm,0) from emp;
-
如果comm为空,则设置为0
结束
以上仅为个人学习总结,如有雷同,正常。