MySQL基础讲义——SQL插入、更新、删除操作流程
admin
2023-05-01 22:24:03
0

下文内容主要给大家带来MySQL基础讲义——SQL插入、更新、删除操作流程,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

MySQL数据库基础(六)——SQL插入、更新、删除操作

一、插入数据

1、为表的所有字段插入数据

使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。

INSERT INTO table_name (column_list) VALUES (value_list);
insert into `TSubject` (subjectID,subjectName,BookName,Publisher)
values ('0004','英语','大学英语走遍美国','清华出版社')
可以不指定插入的列
insert into `TSubject` 
values ('0005','高等数学','高等数学教材','清华出版社')

2、为表的指定字段插入数据

为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
必须制定插入的列

MySQL基础讲义——SQL插入、更新、删除操作流程

insert into TSubject (subjectID,subjectName) 
values ('0006','高等数学2')
insert into TSubject (subjectName,subjectID) 
values ('数据结构','0007')

3、同时插入多条记录

INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法格式如下:

INSERT INTO table_name (column_list) 
VALUES (value_list1),  (value_list2),..., 
(value_listn);

示例:

insert into TSubject (subjectName,subjectID) 
values ('C#开发','0008'),('苹果开发','0009')

4、将查询结果插入到表中

INSERT语句和SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多个行。

INSERT INTO  table_name1  (column_list1)
    SELECT (column_list2) FROM table_name2       
    WHERE (condition)

示例

insert into ST (subectid,subjectName)
 select  subjectid,subjectName from TSubject where `Publisher` is not null

二、更新数据

1、根据本表的条件更改记录

MySQL中使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。

UPDATE table_name 
     SET column_name1 = value1,
     column_name2=value2,……,
     column_namen=valuen
     WHERE (condition);

示例:

update `TStudent` set sname=concat(sname,'net') where class='net'
update `TStudent` set sname=left(sname,3) where class='net'

根据学生的生日 在学生的姓名后标记 1988大一 1987年大二 1986年大三 1985年大四

update TStudent set sname=CONCAT(sname,case year(birthday)%5 
  when 0 then '大四' when 1 then '大三' when 2 then '大二' else '大一' end)
   where year(birthday)>=1985 and year(birthday)<=1988

2、根据另一张表的条件更改记录

UPDATE table_nameA a join table_nameB b 
on a. column_name1=b. column_name1
     SET a.column_name1 = value1,
    a.column_name2=value2,……,
     a.column_namen=valuen
    WHERE b. column_name2>20

实例:将有不及格的学生姓名后加*标记

update TStudent a join TScore b on a.`StudentID`=b.`StudentID`
set a.`Sname`=concat(sname,'*') where b.mark<60

同时更改两张表的列
实例:把分数低于60分的学生,加5分,并在学生姓名添加标记+

update TStudent a join TScore b on a.`StudentID`=b.`StudentID`
set a.`Sname`=concat(sname,'+'), b.mark=b.`mark`+5
 where b.mark<60;

子查询也能实现相同功能
以下语句将分数有大于98分的学生姓名后加#号标记

update TStudent set Sname=concat(sname,'#') where studentid in
(select studentid from TScore where mark>98);

三、删除数据

1、根据本表的条件删除记录

从数据表中删除数据使用DELETE语句,DELETE语句允许WHERE子句指定删除条件。
DELETE FROM table_name [WHERE condition>] ;
删除学号小于00010的学生
delete from TStudent where studentid<'00010'

2、根据另一张表的条件删除记录

DELETE a FROM table_a a join table_b b on a.column1=b.column1      [WHERE condition>] ;
删除分数小于60分的学生

delete a from TStudent a join TScore b on a.`StudentID`=b.`StudentID`
where b.mark<60

也可以使用子查询实现。
删除分数表中分数大于90的学生
delete from TStudent where studentid in  (select studentid from TScore where mark>90);

对于以上关于MySQL基础讲义——SQL插入、更新、删除操作流程,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

相关内容

热门资讯

卖“毒蛋”的人,抓到了 作者 | 何国胜 编辑 | 向现“(人)抓到了,目前案件正在侦办中。”7月28日晚间,苏州禁毒部门有...
尺素金声丨实施零关税国家达63... 海关总署发布的数据显示,今年5月1日起,我国对53个非洲建交国全面实施零关税举措,目前,我国实施零关...
职业索赔盯上基层诊所,倒逼用药... 文 | 布丁基层诊所正在被职业索赔盯上。据新京报,去年夏天,一男子走进河南南阳一家诊所,要求购买三瓶...
“西瓜我全买了”就可以肆意妄为... 拿西瓜砸了人,把瓜都买了,就能一走了之吗?事实证明,这套逻辑在法治社会行不通。7月28日晚,据海峡都...
科学家在日本广岛发现新物质,系... 在美国对日本广岛进行原子弹轰炸近81年后,科学家们在广岛的沙滩上发现了一种奇异且从未被发现过的新物质...
AI失控,反噬开始 作者 | 贺一 编辑 | 阿树近期,中国开源模型在美国频繁引发热议。7月28日,月之暗面发布Kimi...
“总统千金天价离婚”,分到43... 2026年7月24日下午,首尔高等法院,一场持续近十年的司法拉锯战终于接近尾声。法庭裁定SK集团会长...
巴基斯坦,又拿下一个历史性协议 全世界都没想到,接连的中东大战,巴基斯坦正成为最大赢家。去年以色列追杀哈马斯,空袭卡塔尔首都,阿拉伯...
汇正财经贺峰的一对一指导服务怎...   对于考虑购买证券投资顾问服务的投资者来说,'一对一指导服务怎么样'是一个重要的考量维度。需要首先...
重庆失联00后网格员龚宝冬确认...   重庆失联00后网格员龚宝冬确认遇难  【重庆失联00后网格员龚宝冬确认遇难】2026年7月29日...