【JavaWeb之旅二】MySQL数据库之SQL语句中的DML语句与DQL语句

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数据表中给所有的列批量添加对应的数据

image-20220907110040714

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 = '智能建造小硕';

常见的条件所使用的的运算符:

image-20220907224622138

可以去练习一下。

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;

image-20220907221944366

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;

image-20220907231554660

image-20220907231916249
自学javaweb中所记录的课程笔记,记录学习过程。
参考资料:https://www.bilibili.com/video/BV1Qf4y1T7Hx?p=8&vd_source=c17a6596481e29f0ffac1a21a026abff

欢迎关注公众号【智能建造小硕】(分享计算机编程、人工智能、智能建造、日常学习、科研和写作经验等,欢迎大家关注交流。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能建造小硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值