基本增删改查:
显示表的所有属性:describe emp;desc emp;
字段增删改:
增加表字段:alter table emp add column age int(5), alter 改变更改
删除表其中一项字段age:alter table emp drop column age,
字段改名:alter table emp change age age1 int(4),
修改字段排列顺序:alater table emp add birth date after ename;
将字段age放在最前:alter table emp modify age int(3) first;
表改名:alter table emp rename emp1;
插入记录:insert into emp(ename,hiredate,sal,deptno)
VALUES('ZZXL','2010-01-01','2000',1);
连续插入多个记录:
insert into emp(ename,hiredate)
values
('xuxiname','2013-12-12'),
('ajajss','2010-12-14'),
('asas','2043-12-20');
更改表中的记录:update emp set sal=4000 where ename='women';
同时更改表emp中的sal和dept中的deptname
update emp a,dept b set a.sal=a.sal*b.deptno ,b.deptname=a.ename where a.deptno=b.deptno;
删除字段是dony的一行数据:delete from emp where ename='dony';
查询记录:select * from emp;
查询不重复的记录:select ename,sal from emp;
条件查询:
select * from emp where deptno=1;
SELECT * from emp where deptno=1 and sal<3000;
默认升序排列:select * from emp order by sal;
排列:SELECT * from emp order by deptno ,sal DESC;
显示emp表中sal排序后从第二条记录开始 显示三条记录:SELECT * from emp order by sal limit 1,3
聚合:
查询公司总人数
SELECT COUNT(1) from emp;
再次基础上统计各个部门的人数:
SELECT deptno ,COUNT(1) from emp group by deptno;
统计部门人数和总人数:SELECT deptno ,COUNT(*) from emp group by deptno with ROLLUP;
统计人数大于一的部门:select deptno,COUNT(1) from emp group by deptno having COUNT(1)>1;
查询相同的地方:select * from emp where deptno in(select deptno from dept );
1.综合练习
MySQL union操作符
MySQL union操作符用于连接两个以上的 SELECT语句的结果组合到一个结果集合中。多个 SELECT语句会删除重复的数据。
MySQL排序
可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列
MySQL GROUP BY 语句
GROUP BY 语句根据一个或多个列对结果集进行分组。
在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
使用with rollup
可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)
null是总和。