读一本MySQL的书
0.搭建测试环境 创建学习用的数据库
1.数据库和sql
desc 查询表结构

select version(); 查数据库的版本号

查询当前使用的数据库

2.查询基础
2.1 select基础
#查员工的月薪和年薪
select ename,sal,sal*12 as '年薪'
from emp;

# 查询津贴为空的员工 is null
select ename,comm
from emp
where comm is null;

# 查询津贴不为空的员工 is not null
select ename,comm
from emp
where comm is not null;

# 查询管理岗 工资大于2000的员工
select ename,sal
from emp
where job='MANAGER' and sal>2000;

# 查询管理岗 工资大于2000的员工
select ename,sal
from emp
where job='MANAGER' and sal>2000;
#找出部门编号是10或20 且工资大于2500的人员
select ename ,sal,deptno from emp
where (DEPTNO =10 or DEPTNO=20) and sal>2500;

#模糊查询 找出名字中含有o字符的人员
select ENAME as '包含o的姓名' from emp
where ENAME like '%o%';

#模糊查询 找出名字以T结尾的字符的人员
select ENAME as '以T结尾的字符的人员' from emp
where ENAME like '%t';

# 按照薪资和人名排序 ,隔开两个条件 如果薪资一样的话再按照名字首字母升序排序
select sal,ename
from emp
order by sal asc , ename asc;

#单行处理函数
select ename,lower(ename) as '转小写'
from emp;

2.2算法运算符和比较运算符
2.3逻辑运算符
3.聚合和排序
3.1聚合函数
3.2对表进行分组
3.3为聚合结果指定条件
3.4对查询结果进行排序
4 数据更新
4.1数据的插入
4.2数据的删除
4.3数据的更新
4.4事务
5.复杂查询
5.1视图
#复制一张表
create table dept2 as
select * from dept;
select * from dept2;
#创建一个视图
create view dept2_view as select * from dept2;
# 删除视图
drop view dept2_view;
# 查询视图
select * from dept2_view;
# 向视图中插入数据 会改变真正的表
insert into dept2_view(deptno,dname,loc) values(60,'SALES','BEIJING');
5.2子查询
5.3关联子查询
浙公网安备 33010602011771号