sql查询语句教程之插入、更新和删除数据实例
怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《sql查询语句教程之插入、更新和删除数据实例》,涉及到更新、sql插入,有需要的可以收藏一下
1、插入数据
插入数据是向表中插入新的记录。通过这种方式可以为表中增加新的数据。在 MySQL中,通过INSERT语句来插入新的数据。使用INSERT 语句可以同时为表的所有字段插入数据,也可以为表的指定字段插入数据。INSERT语句可以同时插入多条记录,还可以将一个表中查询出来的数据插入到另一个表中。
1.1 为表的所有字段插入数据
通常情况下,插入的新记录要包含表的所有字段。INSERT 语句有两种方式可以同时为表的所有字段插入数据。第一种方式是不指定具体的字段名;第二种方式是列出表的所有字段。
1、insert语句中不指定具体的字段名
在 MySQL中,可以通过不指定字段名的方式为表插入记录。其基本语句形式如下:
insert into 表名 values(值1,值2,...,值n);
其中,“表名”参数指定记录插入到哪个表中;“值n”参数表示要插入的数据。“值1”到“值n”分别对应着表中的每个字段。表中定义了几个字段,INSERT语句中就应该对应有几个值。插入的顺序与表中字段的顺序相同。而且,取值的数据类型要与表中对应字段的数据类型一致。
下面向S表中插入记录。插入记录之前,可以通过DESC语句来查看S表的基本结构。查询结果如下:
从查询结果可以看出,S表包含4个字段。那么INSERT 语句中的值也应该是4个。INSERT语句的代码如下:
!!!字符串类型的数据,取值必须加上引号。
2、insert语句中列出所有字段
INSERT语句中可以列出表的所有字段,为这些字段来插入数据。其基本语句形式如下:
insert into 表名(属性1,属性2,...,属性n) values (值1,值2,...,值n);
其中,“属性n”参数表示表中的字段名称,此处必须列出表的所有字段的名称;“值n”参数表示每个字段的值,每个值与相应的字段对应。
下面向S表中插入一条新记录。INSERT 语句的代码如下:
查询结果显示,记录已经插入成功。如果表的字段比较多,用第二种方法就比较麻烦。但是,第二种方法比较灵活。可以随意的设置字段的顺序,而不需要按照表定义时的顺序。值的顺序也必须跟着字段顺序的改变而改变。
下面向S表中插入一条新记录。INSERT语句中字段的顺序与表定义时的顺序不同。INSERT语句的代码如下:
1.2 为表的指定字段插入数据
其基本语句形式如下:
insert into 表名(属性1,属性2,…,属性m) values(值1,值2,.…,值m);
其中,“属性m”参数表示表中的字段名称,此处指定表的部分字段的名称;“值m”参数表示指定字段的值,每个值与相应的字段对应。
下面向S表的sno和sname这2个字段插入数据。INSERT语句的代码如下:
这种方式也可以随意的设置字段的顺序,而不需要按照表定义时的顺序。
!!!没有赋值的字段,数据库系统会为其插入默认值。这个默认值是在创建表的时候定义的。如上面function字段和address字段的默认值为NULL。如果某个字段没有设置默认值,而且是非空,这就必须为其赋值。不然数据库系统会提示“Field'name' doesn't have a default value”这样的错误。
1.3 同时插入多条记录
同时插入多条记录,是指一个 INSERT语句插入多条记录。当用户需要插入好几条记录,用户可以使用上面两个小节中的方法逐条插入记录。但是,每次都要写一个新的INSERT 语句。这样比较麻烦。MySQL 中,一个 INSERT语句可以同时插入多条记录。其基本语法形式如下:
insert into 表名[(属性列表)】 values (取值列表1),(取值列表2), ..., (取值列表n);
其中,“表名”参数指明向哪个表中插入数据;“属性列表”参数是可选参数,指定哪些字段插入数据,没有指定字段时向所有字段插入数据;“取值列表n”参数表示要插入的记录,每条记录之间用逗号隔开。
向MySQL的某个表中插入多条记录时,可以使用多个INSERT语句逐条插入记录,也可以使用一个 INSERT语句插入多条记录。选择哪种方式通常根据个人喜好来决定。如果插入的记录很多时,一个INSERT 语句插入多条记录的方式的速度会比较快。
下面向S表中插入3条新记录。INSERT 语句的代码如下:
不指定字段时,必须为每个字段都插入数据。如果指定字段,就只需要为指定的字段插入数据。
1.4 将查询结果插入到表中
INSERT语句可以将一个表中查询出来的数据插入到另一表中。这样,可以方便不同表之间进行数据交换。其基本语法形式如下:
insert into 表名1(属性列表1) select 属性列表2 from 表名2 where 条件表达式;
其中,“表名1”参数说明记录插入到哪个表中;“表名2”参数表示记录是从哪个表中查询出来的;“属性列表1”参数表示为哪些字段赋值;“属性列表2”表示从表中查询出哪些字段的数据;“条件表达式”参数设置了SELECT 语句的查询条件。
使用这种方法时,必须保证“字段列表1”和“字段列表2”中的字段个数是一样的。而且,每个对应的字段的数据类型是一样的。如果数据类型不一样,数据库系统会报错。然后,阻止INSERT语句向下执行。
下面将s_temp表中所有数据查询出来,然后插入到S表中。插入之前,先执行SELECT语句来查看s_temp表中的记录。SELECT语句执行结果如下:
2、更新数据
更新数据是更新表中已经存在的记录。通过这种方式可以改变表中已经存在的数据。例如,学生表中某个学生的家庭住址改变了,这就需要在学生表中修改该同学的家庭地址。在MySQL中,通过UPDATE语句来更新数据。
在 MySQL中,UPDATE语句的基本语法形式如下:
update 表名 set 属性名1=取值1,属性名2=取值2, ..., 属性名n=取值n where 条件表达式;
其中,“属性名n”参数表示需要更新的字段的名称;“取值 n”参数表示为字段更新的新数据;“条件表达式”参数指定更新满足条件的记录。
下面更新s表中sno值为s1的记录。将sname字段的值变为‘精益求精‘,city的值变为’北京‘。
表中满足条件表达式的记录可能不止一条。使用UPDATE语句会更新所有满足条件的记录。
下面更新S表中 sno值为s100-s102的记录。将status字段的值变为30。将city字段的值变为“天津”。
!!!使用UPDATE语句更新数据时,可能会有多条记录满足WHERE条件。这个时候一定要特别小心,最好先执行SELECT语句判断满足WHERE条件的记录是否确实是需要更新的。如果其中有些记录不需要更新,应该重新设置WHERE条件.
3、删除数据
删除数据是删除表中已经存在的记录。通过这种方式可以删除表中不再使用的记录。例如,学生表中某个学生退学了,这就需要从学生表中删除该同学的信息。MySQL中,通过DELETE 语句来删除数据。
MySQL中,DELETE语句的基本语法形式如下:
delete from 表名[where条件表达式】;
其中,“表名”参数指明从哪个表中删除数据;“WHERE条件表达式”指定删除表中的哪些数据。如果没有该条件表达式,数据库系统就会删除表中的所有数据。
下面删除s表中sno值为s1的记录。
DELETE语句可以同时删除多条记录。
下面删除s表中 city值为‘北京’的记录。
DELETE语句中如果不加上“WHERE条件表达式”,数据库系统会删除指定表中的所有数据。
下面删除s表中的所有记录。
因为执行DELETE语句后,会将记录从表中删除。删除过程中不会有任何提示,因此必须要特别小心。在条件允许的情况下,最好先用SELECT语句查询准备删除的记录。这样可以确认这些记录确实是需要删除的。
总结
今天关于《sql查询语句教程之插入、更新和删除数据实例》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

- 上一篇
- MySQL操作并使用Python进行连接

- 下一篇
- MySQL数据库通过Binlog恢复数据的详细步骤
-
- 甜蜜的手链
- 太详细了,已收藏,感谢作者的这篇技术文章,我会继续支持!
- 2023-01-03 04:17:48
-
- 欢呼的台灯
- 真优秀,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢作者大大分享博文!
- 2023-01-01 03:14:28
-
- 哭泣的芝麻
- 这篇文章真是及时雨啊,很详细,赞 👍👍,已收藏,关注大佬了!希望大佬能多写数据库相关的文章。
- 2022-12-31 19:18:00
-
- 数据库 · MySQL | 2天前 |
- MySQL设置中文界面,超简单教程来了!
- 332浏览 收藏
-
- 数据库 · MySQL | 2天前 | mysql 索引提示
- MySQL进阶必看!FORCE/USE/IGNOREINDEX用法大揭秘
- 182浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- 手把手教你写MySQL存储过程,小白也能轻松上手
- 163浏览 收藏
-
- 数据库 · MySQL | 2天前 | mysql group by
- MySQL分组查询优化:GROUPBY原理+索引优化超全解析
- 324浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- MySQL设置中文语言,轻松拥有中文界面
- 211浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- MySQL建库语句从入门到精通:创建数据库+设置字符集&排序规则(附实例)
- 176浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- 从零开始学MySQL数据库操作,小白轻松变大神!
- 496浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- MySQL插入日期到时间字段,轻松搞定日期格式
- 484浏览 收藏
-
- 数据库 · MySQL | 2天前 | mysql 数据压缩
- MySQL怎么实现高效压缩存储?表压缩+列式存储详细解读
- 272浏览 收藏
-
- 数据库 · MySQL | 2天前 | mysql JOIN优化
- MySQL优化JOIN操作:七大技巧教你提升关联查询速度
- 106浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- MySQL出现中文乱码?超详细解决方案一次性搞定
- 211浏览 收藏
-
- 数据库 · MySQL | 2天前 |
- MySQL主从复制这样配!搞懂这些参数,replication稳了~
- 131浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 茅茅虫AIGC检测
- 茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
- 21次使用
-
- 赛林匹克平台(Challympics)
- 探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
- 50次使用
-
- 笔格AIPPT
- SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
- 58次使用
-
- 稿定PPT
- 告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
- 53次使用
-
- Suno苏诺中文版
- 探索Suno苏诺中文版,一款颠覆传统音乐创作的AI平台。无需专业技能,轻松创作个性化音乐。智能词曲生成、风格迁移、海量音效,释放您的音乐灵感!
- 60次使用
-
- Mysql存在则修改不存在则新增的两种实现方法实例
- 2022-12-30 146浏览
-
- MySQL实现数据批量更新功能详解
- 2023-02-25 143浏览
-
- MySQL实现数据更新的示例详解
- 2023-02-25 176浏览