SQL语句分类及简单介绍
一.DDL: 数据定义(对数据库和表结构的删,改和表的创建){常用}
创建表:create table 表名(字段名 类型 【其他】);
删除表:drop table 表名
修改:alter table 表名
二.DML: 数据操作(对表记录的操作,增 删 改 ){常用}
添加: insert into 表名(字段名)values(值)
删除:delete from 表名 where(条件:表达式)
修改:update 表名 set(字段名=新值)where(字段名=值)
三.DCL: 数据控制
四.DQL: 数据查询(对表记录的查询操作){常用}
1、基本查询:
查询所有列 select *from 表名;
查询指定列 select 字段名 from 表名;
2、条件查询(where 条件;where and/or;where in;where between and;where is not;where like)
select 字段名 from 表名 where(条件)
select 字段名 from 表名 where(条件and/or条件);
select 字段名 from 表名 where in(条件);
select 字段名 from 表名 where between(条件)and(条件);
select 字段名 from 表名 where 字段名 is not NULL;
select 字段名 from 表名 where like '_×'; (下划线“_”可以匹配1个字符,如果要匹配0-n个字符,需要用“%”)
3、排序查询
默认都是升序;asc升序 desc降序
升序:select *from 表名 order by 字段名 asc;
降序:select *from 表名 order by 字段名 desc;
4、聚合函数
count()函数
查询表中(某列/所有列)不为null的记录的行数
select count(字段名/*)from 表名;
max(),min()函数 求最大值或最小值
select max(字段名)from 表名;
select min(字段名)from 表名;
sum()函数 求和
select sum(字段名)from 表名;
avg()函数 求平均值
select avg(字段名)from 表名;
5、分组查询
group by
例如:
查看所有部门的记录数。(使用deptno分组,表为emp表)
select deptno,count(*) from emp group by deptno;
查看表中的所有部门
select deptno from emp group by deptno;
having
以部门分组,查询每组记录数,条件为记录数大于3
select deptno,count(*)from emp group by deptno having count(*)>3;
6、分页查询
limit 用来限定查询结果的起始行,以及总行数。
例如:查询起始行为第5行,一共查询3行记录
select * from emp limit 4,3;
其中4表示从第5行开始,其中3表示一共查询3行。即第5/6/7行记录。