DML:对表的改删增
1.添加数据:
语法
insert into 表名(列名1,列名2,...列名n) values (值1,值2,...值n);
注意
1.列名和值要一一对应
2.如果表名后,不定义列名,则默认给所有列添加值
insert into values (值1,值2,...值n);
3.除了数字类型,其他类型都要使用引号引起来(单双都可以)
2.删除数据
语法
delete form 表名 [where 条件]
注意
1.如果不加条件,则删除所有记录
2.如果要删除所有记录
1).dele form表名--不推荐使用。很浪费性能
2).truncate table 表名--推荐使用,先删除整张表,再创建
3.修改数据
语法
update 表名 set 列名1=值1 列名2=值2 .....列名n=值n [where 条件];
注意
1.如果不加任何条件,则会将表中的所有记录全部修改。
DQL:对表的查
1.语法
select
字段列表
form
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.基础查询
1)多个字段的查询
select 字段名1,字段名2...from 表名
注意
如果查询所有字段,则可以使用*来代替字段列表
2)去除重复
distinct
3)计算列
一般可以使用四则运算计算一些列的值.(一般只会进行1数值型的计算)
ifnull(表达式1,表达式2):null参与的运算,计算结果懂为null
表达式1:哪个字段需要判读是否为null
表达式2:如果1为空则替代
4)起别名
as:as也可以省略
3.条件查询
1.where字句后跟条件
2.运算符
> < >= <= = <>
between....and
in(集合)
like:模糊查询
占位符
_:单个字符
%任意字符
举例:姓“马”的 select name form stduent like "马%"
is null
and和&&
or 和||
not和!
3.聚合函数:将一列数据作为一个整体,进行纵向的计算
1):count:计算个数
2):max:计算最小值
3):min:计算最大值
4):sum:计算和
5):avg:计算平均值
注意:
聚合函数的计算,会排除null值,可以使用ifnull
举例:
select count(列名) form student
4.分组查询:
1.语法:group by分组字段
2.注意
1).分组之后查询的字段:分组字段、聚合函数 2).where和having的区别?
1.where在分组之前进行限定,如果不满足条件,则不参与分组.having在分组之后进行限定,如果不满足结果,则不会被查询出来。
2.where后不可以跟聚合函数,having可以进行聚合函数的判读
举例:按照性别分组,分别查询男,女同学的平均分,要求:分数低于70的人,不参与分组,分组之后,人数要大于两个人
select sex,avg(math),count(id) form student where math>70 groopby sex having count(id)>2;
5.分页查询
1.语法:limit 开始的索引,每页查询的条数;
2.公式:开始的索引=(当前的页码-1)*每页显示的条数
select * form student limit 0,3 ----第一页
3.分页操作是一个"方言 ".