数据库基本操作(下)

1.新增

sql 复制代码
insert into 表名 [列名1,列名2...] values (val1,val2...)

注意

列名可以没有,如果没有列名,所有的列都应该插入,即val包含所有列的值.

后面的val必须和前面的列名对应.

各个数据之间用,隔开.

1.1单行数据插入

1.1.1单行数据全列插入

values中值的数量必须和定义表的列的数量及顺序⼀致

sql 复制代码
insert into users values (1, '张三');

1.1.2单行数据指定列插入

values中值的数量必须和指定列数量及顺序⼀致

sql 复制代码
insert into users(id, name) values (3, '王五');

1.2多行数据指定列插入

在⼀条INSERT语句中也可以指定多个values,实现一次插入多行数据

sql 复制代码
insert into users(id, name) values (4, '赵六'), (5, '钱七');

2.修改

语法:
update 表名 set 列名=表达式 限制条件

案例:

将张三的英语成绩改为92

sql 复制代码
update student set english=92 where name='张三';

将所有人的英语成绩加10分

sql 复制代码
update student set english= english+10;

Update注意事项

• 以原值的基础上做变更时,不能使用math+=30这样的语法

• 不加where条件时,会导致全表数据被列新,谨慎操作

3.删除

语法:

delete from 表名 限制条件

案例:

删除张三的成绩

sql 复制代码
delete from exam where name = '张三';

删除整张表

sql 复制代码
delete from t_delete;

Delete注意事项

• 执行Delete时不加条件会删除整张表的数据,谨慎操作

4.常用函数

4.1 COUNT

案例:

统计exam表中有多少记录:

sql 复制代码
# 使⽤ * 做统计
select count(*) from exam;

# 使⽤常量做统计
select count(1) from exam;

统计有多少学生参加数学考试

sql 复制代码
# 使⽤指定列做统计
select count(math) from exam;

4.2SUM

案例:

统计所有学生数学成绩总分

sql 复制代码
select sum(math) from exam;

注意:值为NULL的列不参与统计

不能统计非数值的列

4.3AVG

案例:

统计英语成绩的平均分

sql 复制代码
# NULL值不参与统计
select avg(english) from exam;

4.4MAX/MIN

案例:

查询英语最高分:

sql 复制代码
select max(english) from exam;

查询>70分以上的数学最低分

sql 复制代码
select min(math) from exam where math > 70;

查询数据成绩的最高分与英语成绩的最低分

sql 复制代码
# 可以使⽤多个聚合函数
mysql> select max(math), min(english) from exam;

5.新增-->insert

插入查询结果,也就是把另一个表中所查询到的数据复制过来.

语法:

insert into 表名 (列名) select ...

案例:把student的id和name数据复制到新建的student2中

sql 复制代码
create table student2 (id int primary key , name varchar(10),class_id int);
insert into student2 (id,name) select id,name from student;
select * from student2;

这里我们看到,student中的两列数据被成功地插入了student2这张表中.这里需要注意的一点是,前面insert插入操作的时候,列名要加括号,在后面select操作的时候,列名不需要加括号,还有插入表中的数据要和查询出来的数据类型相吻合.

相关推荐
麦壳饼14 小时前
SonnetDB:PID 调参实战:阶跃响应分析与参数解读
数据库·sonnetdb
猿究院--Cu-Sn合金14 小时前
Spring Boot + DeepSeek 求职 Agent 实践:工具注册、多轮调用与简历 JD 对比
数据库·人工智能·spring boot·后端·deepseek
IvorySQL14 小时前
PostgreSQL 日报|Anonymizer 3.3 修复高危漏洞(10 月 29 日)
数据库·postgresql
geovindu14 小时前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
zyseo815 小时前
谷歌SEO 关键词研究完整方法论:从种子词到优先级矩阵
数据库·人工智能·矩阵
PaperData15 小时前
2000-2025年上市公司绿色金融改革创新试验区政策试点DID
数据库
Championship.23.2415 小时前
Linux 内存管理深度解析与实战指南(基于 Linux 5.10+)
数据库
迪康coolmu15 小时前
金融客户数据合规落地:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·数据库·经验分享·安全·网络安全·金融
郭小李15 小时前
转发与重定向
java·服务器·数据库
时间售卖铺15 小时前
MySQL事务ACID与隔离级别深度解析
运维·数据库·mysql·云原生