读一本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关联子查询

posted @ 2025-04-15 11:53  胖豆芽  阅读(9)  评论(0)    收藏  举报