SQL语句中的DML语句与DQL语句
文章目录
1.SQL语句之DML
DML主要是对数据进行增(insert)删(delete)改(update)操作。
1.1DML常见的语法
1.添加数据常见语句
语句(不区分大小写) | 作用 |
---|---|
insert into tablename(rowname1,rowname2,…) values(value1,value2,…); | 给指定的列添加数据 |
insert into tablename values (value1,value2,…); | 给全部列添加数据 |
insert into tablename(rowname1,rowname2,…) values(value1,value2,…),(value1,value2,…)…; | 批量给指定列添加多个数据 |
insert into tablename values (value1,value2,…); | 批量给全部列添加多个数据 |
select * from tablename; | 显示表中的所有数据 |
2.练习
#在students数据表中给指定列(id,name,tel)列添加对应的数据
#在students数据表中给所有的列添加对应的数据
#在students数据表中给所有的列批量添加对应的数据
2.修改、删除数据常用语法
#1.修改
update tablename set rowname1=value1, rowname2=value2, ...[where condition]
#例如: update students set gender="女" where name="小李";
#[]的内容表示可以省略,如果不加条件所有行都修改
#2.删除
delete from tablename [where condition]
#例如:delete from students where name = '智能建造小硕';
常见的条件所使用的的运算符:
可以去练习一下。
2.SQL语句之DQL
DQL常用来查询数据库表中的数据,从数据库中调取数据并进行进行可视化前端展示。
DQL查询的完整语法:
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段
HAVING
分组后条件
ORDER BY
排序字段
LIMIT
分页限定
2.1查询语法语句
语句(不区分大小写) | 作用 |
---|---|
select rowname from tablename; | 查询多个字段 |
select distinct rowname from tablename; | 查询去除重复记录后的结果 |
select * from tablename; | 显示表中的所有数据 |
select rowname from tablename where condition; | 指定条件查询 |
like关键字,可以使用通配符进行占位:(1)_ : 代表单个任意字符(2)% : 代表任意个数字符。例如select * from students where name like ‘陈%’;查询陈性的所有学生。 | 模糊查询 |
select rowname from tablename order by 排序字段1 (排序方式1), 排序字段2 (排序方式2)…;其中排序方式分为ASC(升序)、DESC(降序)。 | 排序语法 |
练习:
#查询学生信息,以id进行升序排序,如果id一样,以score降序排序
select name from students order by id ASC,score DESC;
2.2聚合函数及语句
常见的聚合函数:
函数名 | 作用 |
---|---|
count(rowname) | 统计项目(不计入null) |
max(rowname) | 最大值 |
min(rowname) | 最小值 |
sum(rowname) | 求和 |
avg(rowname) | 平均值 |
使用语句
语句(不区分大小写) | 作用 |
---|---|
select 聚合函数名(rowname) from tables; | 统计表中某列的数量 |
可以自行练习一下:例如计算表中学生的数量:select count(id) from students。
2.3 分组和分页查询
语句:
语句(不区分大小写) | 作用 |
---|---|
select rowname from tablename [where 分组前条件限定] group by rowname [having 分组后过滤条件]; | 分组进行查询 |
select rowname from tablename limit strat_index ,条件数目; | 分页进行查询 |
where和having区别:
执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。
练习:
#查询学生姓名和人数,要求将id不为空的学生以gender进行分组并且分组后的平均score要大于90
select name,count(name) from students where id is not null group by gender having avg(score)>90;
#每页显示两条学生姓名
select name from students limit 0,2;
自学javaweb中所记录的课程笔记,记录学习过程。
参考资料:https://www.bilibili.com/video/BV1Qf4y1T7Hx?p=8&vd_source=c17a6596481e29f0ffac1a21a026abff
欢迎关注公众号【智能建造小硕】(分享计算机编程、人工智能、智能建造、日常学习、科研和写作经验等,欢迎大家关注交流。)
本文含有隐藏内容,请 开通VIP 后查看