当前位置: 首页 > news >正文

【MySQL初阶】05-CRUD-Create

前言: 那么MySQL的数据表相关操作学习完之后,我们已经掌握了对表的结构的增删改查便已经有一个基本的操作,那么创建出表结构之后,我们是为了拿他来存储数据的,那么既然表用于存储数据,我们可不可以对表中存储的数据进行一定的增删改查等操作呢?

MySQL表中数据的增删改查

我们知道,以后在开发中使用最多的就是所谓的增删改查,增删改查就是传说中的CRUD
  • C-Create 新增
  • R-Retrieve 检索,查询
  • U-Update 更新 修改
  • D-Delete 删除
    而我们本期将介绍的是Create增操作,这个其实不难理解,你想对数据操作,那么你就先得有数据对吧

回顾数据库中关系

在这里插入图片描述
数据表的准备:
首先选中数据库并查看数据库中就只有一张student表
在这里插入图片描述


那么现在我需要创建一张user_db表来作为我们的测试表
在这里插入图片描述
查看数据表的结构
在这里插入图片描述

单行数据的全列插入

1.完整形式

语法:

 insert into 表名(字段1,字段2,字段3,...) values(1,2,3,...);

语法的巧记方法看下图
MySQL是一个靠指令来沟通的语言,那么我们如何正确的和MySQL沟通,才可以让MySQL给我们做牛马呢?
在这里插入图片描述


细节补充
在这里插入图片描述

也就是说写SQL代码的时候不要刻意的去背语法,而是要理解我们是怎么与MySQL沟通的,只要知道沟通的方式方法,那么具体的语法前面可以去查看官方文档或者说是查ai即可,只要我们写多了,那么自然就记住了


那么 后面的大多SQL的代码 我们都是以这样的形式和MySQL沟通的比如 查询select、修改update、删除delete


细节1:正确的插入演示
在这里插入图片描述


细节2:values列表中的数据的数目和顺序必须和表(user_bd)的字段的数目的顺序一致
1.数目不匹配的情况
在这里插入图片描述
2.顺序不匹配的情况
在这里插入图片描述


细节3:对于顺序不匹配是因为MySQL类型转换转不过去

说明:MySQL是一个弱类型语言
那么在你插入数据的时候会发生一个隐式转换
1.如果转换成功,那么就正确
2.如果转换失败,那么就报错

成功
在这里插入图片描述

失败
在这里插入图片描述
补充:MySQL中字符串可使用单引号,也可用双引号,但是一般我们都是使用单引号。


2.简写形式

说明:对于全列插入是可以使用简写形式的
语法:

insert into 表名 values(字段1,字段2,字段3,...);

细节1:正确演示
在这里插入图片描述


细节2:values列表中的数据的数目和顺序必须和表中的字段的数目和顺序一致
在这里插入图片描述

多行全列插入

说明:我们也可以一次性插入多行数据
语法:

insert into 表名[(字段1,字段2,字段3,...)] values(1,2,3,...),(1,2,3,...),(1,2,3,...),...;说明:中括号代表可写可不写,注意了,只有全列插入,才可以使用简写形式。

完整演示
在这里插入图片描述

  • 注意1:其余的易错点和前面也是一样的,每一行中的数据values列表中的数目和顺序和字段的数目和顺序一致
  • 注意2:行与行之间使用逗号分开

单行指定列插入

说明:MYSQL的插入不仅支持全列插入还支持指定列插入,学习了全列插入之后,那么指定列插入的语法就很简单了。
语法:

insert into 表名(指定列1,指定列2,指定列3,...) values(对应值1,对应值2,对应值3,...); 

细节1:正确演示:
在这里插入图片描述


细节2:对于指定列插入的时候,指定列插入对应的值,非指定类使用默认值,一般默认值是NULL
在这里插入图片描述


注意:values列表中的数目和顺序和指定列中的数据和顺序必须一致
在这里插入图片描述

多行指定列插入

说明:指定列的多行插入语法和前面是一致的
语法:

insert into 表名(指定列1,指定列2,指定列3,...) values(对应值1,对应值2,对应值3,...),(对应值1,对应值2,对应值3,...),(对应值1,对应值2,对应值3,...),...; 注意:对于指定列,必须指定你所要插入的字段,只有全列插入才可以使用简写形式(全列可以不用指定指定列)

完整演示:
在这里插入图片描述


  • 注意1:各行之间使用逗号分隔开
  • 注意2:values列表中的数据的数目和顺序要和指定字段列表中的字段的数目和顺序必须一致

单行插入和多行插入的效率问题

比如现在 插入以下数据:
在这里插入图片描述
方式一:使用多行插入

insert into user_db (id, name, age) values
(1, '张三', 25),
(2, '李四', 30),
(3, '王五', 28),
(4, '赵六', 35),
(5, '钱七', 22),
(6, '孙八', 29),
(7, '周九', 31),
(8, '吴十', 26),
(9, '郑十一', 33),
(10, '王十二', 27);

方式二:使用单行插入

-- 使用单行插入形式插入10条数据
INSERT INTO user_db (id, name, age) VALUES (1, '张三', 25);
INSERT INTO user_db (id, name, age) VALUES (2, '李四', 30);
INSERT INTO user_db (id, name, age) VALUES (3, '王五', 28);
INSERT INTO user_db (id, name, age) VALUES (4, '赵六', 35);
INSERT INTO user_db (id, name, age) VALUES (5, '钱七', 22);
INSERT INTO user_db (id, name, age) VALUES (6, '孙八', 29);
INSERT INTO user_db (id, name, age) VALUES (7, '周九', 31);
INSERT INTO user_db (id, name, age) VALUES (8, '吴十', 26);
INSERT INTO user_db (id, name, age) VALUES (9, '郑十一', 33);
INSERT INTO user_db (id, name, age) VALUES (10, '王十二', 27);

结论是:多行插入比单行插入的效率高
原因:

  • 多行插入:有1个insert into,那么说明客户端和服务器指示进行了一次网络通信(一次插入一条,插10次)
  • 单行出入:有10个insert into,那么说明客户端和服务器进行了10次网络通信(一次插入10条,插1次)
    所以,一次网络通信是有开销的,那么如果我们插入的数据足够多的时候,如果采用单行插入,那么网络开销就会很高,导致性能下降,因此一般对于数据特别多的时候我们使用的是多行插入

到此,我们的CURD中的C-新增语句也就差不多了,SQL语法就是和MySQL沟通的规则,理解怎么和MySQL沟通,那么再配合查查文档,多多练习便可以将其掌握。

http://www.dtcms.com/a/435379.html

相关文章:

  • 2017 年真题配套词汇单词笔记(考研真相)
  • 网站建设app开发网上装修公司网站策划书
  • 【开题答辩全过程】以 springboot类站酷设计师为例,包含答辩的问题和答案
  • 做网站社区赚钱吗wordpress 收邮件
  • 温州苍南网站建设大型免费网站制作
  • Spring Boot 热部署配置与禁用
  • 专门建立网站的公司吗青岛物流网站建设
  • 网站开发网站设计素材p2p理财网站开发
  • 什么是域名 空间 网站源代码韩国女足出线
  • 给客户做网站建设方案wordpress中文变英文
  • 江西省建设工程造价管理局网站使用wordpress的网站
  • Java Web综合项目实战 - 西蒙购物网
  • Photoshop - Photoshop 更改图像大小
  • 整理k8s中Pod、Deployment和Service的spec配置项--图文篇
  • 网站备案以后怎么做网站建设属于销售费用
  • [QT]常用控件一
  • 探究Function Calling 和 MCP 的奥秘
  • 网站如何做前后端分离网络营销课程学什么
  • 自己手机怎么免费做网站安徽四建东方建设有限公司网站
  • 域名后缀cn做网站家装设计师需要考证吗
  • 广州网站vi设计报价网站建设 图片问题
  • 数据安全能力成熟度模型 (DSMM) 核心要点
  • 飞算JavaAI 使用指南
  • 打鱼跟电子游戏网站怎么做深圳网站制作公司兴田德润信任高
  • 企业级桌面软件如何通过UI/UE设计提升生产效率?
  • 企业级网站内容管理系统学用mvc4做网站
  • 4-7〔O҉S҉C҉P҉ ◈ 研记〕❘ WEB应用攻击▸文件上传漏洞-B
  • 大模型PEFT参数高效微调-详解
  • 设置网站关键词怎么做济南网站优化网站
  • 网站建设属于IT吗备案网站ip