creat table data(…) insert into data(id,name,age) values(1,‘a’,18) update data set age=20 delete from data(确认后面where条件,没有where就是表中数据全删) select * from data
大于> 小于< 等于= 大于等于>= 小于等于<= 不等于<> 例如:select * from emp where sal >3000
模糊查询 like 例如:名字包含字母‘S’,并且不清楚字母‘S’的位置 select * from emp where ename like ‘%S%’ 例如:以字母‘S’开头的 select * from emp where ename like ‘S%’ 例如:以字母‘S’结尾的 select * from emp where ename like ‘%S’ 例如:第2个字符为0,使用占位符 ‘_0’
排序 select * from emp order by sal (默认升序) select * from emp order by sal asc(升序) select * from emp order by sal desc(降序) 多个条件:select * from emp order by deptno asc, sal desc
限制多少行 select * from emp limit 2 限制两行 select * from emp order by deptno asc, sal desc limit 2 多个混用
聚合 group by…having…
聚合函数 sum count avg max min select deptno, sum(sal) from emp group by deptno; 注意group by 字段必须出现在select字段,一一对应 select deptno, sum(sal) as sumsal from emp group by deptno having sum(sal)>10000;
数量 最大值等 select count(*) from emp; select max(sal) from emp;
组合使用,注意顺序 select deptno, job,sum(sal) from emp where job=‘SALESMAN’ group by deptno, job having sum(sal) >3000 order by sum(sal) desc limit 1
as 别名 sum(sal) as sumsal xxxxxxx as xx
union 两张表a b 去重复数据 select * from a union select * from b 不去重复数据 select * from a union all select * from b (1) 名称是第一张表决定 (2) 不用*,指定字段 (3) 对应字段类型保持一致