在表格种插入 列信息
-- 修改数据 update 表名 set 列名 = 值1, 列名=值2,```[where 条件];
-- 注意:如果update语句没有加where 表里对应行的全部信息都会被改;
-- 删除数据 delecte from 表名 [where 条件];
未删除前:
执行删除后为:
DQL - 条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表;
查询年龄大于20的人员:
select * from stu where age > 20;
查询年龄大于20且小于 30岁的人员:
select * from stu where age > 20 && age < 30;
查询年龄不等于 30岁的人员:
select * from stu where age <> 20; 或者 写成 select * from stu where age != 20;
查询年龄20岁 or 30岁的人员:
select * from stu where age = 20 or age = 30; 或者 写成 select * from stu where age in (20,30);
查询成绩为空的select * from stu where english is null;
查询成绩为不为空的
select * from stu where english is not null;
查询指代姓的人: 用like进行模糊查询
select * from stu where name like '张%' ;( % 代表 后面可以有个多字符)
要明确前面有几个字:
select * from stu where name like '_三%';(_代表只能有一个字符)
排序查询语法
select 字段列表 from 表名 order by 排序字段名1
排序方式:
ASC:升序排序
select * from stu order by math asc;
DESC:降序排序
分组查询:
聚合函数:将一列数据作为一个整体,进行纵向计算。
count(列名)
max(列名)
min(列名)
sum(列名)
avg(列名) 注意:null值不参与所有聚合函数运算
SELECT 聚合函数(列名) FROM 表;
例如:
select count(id) from stu;
在新的版本里 可以统计数据的个数 用 *
select count(*) from stu;
拥有 where 操作的语法 (注意执行顺序:where > 聚合函数 > having)
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组条件过滤];
例如:查询男同学和女同学各自的数学平均分,以及个人数,要求:分数低于60的不参与分组
select sex,avg(math),count(*) from stu where math > 60 group by sex;
例如:查询男同学和女同学各自的数学平均分,以及个人数,要求:分数低于60的不参与分组,分组后人数大于2;
select sex,avg(math),count(*) from stu where math > 60 group by sex having count(*) > 2;
分页查询:
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;
-- 注意力索引是用0 开始的
起始索引 = (当前页码 - 1)* 每页显示的条数
例如:查询第2页的3条数据
select * from stu limit 3,3; -- 因为从0开始,每页为3条数据