【MySQL数据库】11 数据处理之增删改


第11章 数据处理之增删改

创作日期:2021-11-26


1.插入数据

1.1 实际问题

  •  解决方式:使用 INSERT 语句向表中插入数据。

1.2 方式1:VALUES的方式添加

  • 使用这种语法一次只能向表中插入一条数据。
    • 情况1:为表的所有字段按默认顺序插入数据
INSERT INTO 表名
VALUES (value1,value2,...);

        值列表中需要为表的每一个字段值定值,并且值的顺序必须和数据表中字段定义时的顺序相同。

INSERT INTO emp1
VALUES(001,'LiSi','2021-02-23',1700.50);

INSERT INTO emp1
VALUES(001,'WangEr',NULL,NULL);

  • 情况2:为表的指定字段插入数据

INSERT INTO 表名(column1[,column2,...,columnn])
VALUES (value1 [,value2,...,valuen]);

        为表的指定字段插入数据,就是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。在 INSERT 子句中随意列出列名,但是一旦列出,VALUES中要插入的value1,...valuen需要与column1,...columnn列一一对应。如果类型不同,将无法插入,并且MySQL会产生错误。

INSERT INTO emp1(id,`name`)
VALUES(003,'ZhangSan');

  • 情况3:同时插入多条记录

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

INSERT INTO 表名
VALUES
(value1 [,value2,...,valuen]),
(value1 [,value2,...,valuen]),
——
(value1 [,value2,...,valuen]);

或

INSERT INTO 表名(column1[,column2,...,columnn])
VALUES 
(value1 [,value2,...,valuen]),
(value1 [,value2,...,valuen]),
——
(value1 [,value2,...,valuen]);
INSERT INTO emp1
VALUES
(004,'MaZi','2021-03-23',12200),
(005,'LaoLiu','2021-04-23',1500),
(006,'ZhaoSi','2021-05-23',18800);


SELECT * FROM emp1;


INSERT INTO emp1(id,`name`,hire_date)
VALUES 
(007,'SunMing','2022-01-23'),
(008,'LiMengQi','2021-02-23'),
(009,'LiuHaiTao','2021-03-23');

        使用 INSERT 同时插入多条记录时,MySQL 会返回一些正在执行单行插入时没有的额外信息,这些信息的含义如下:

  • Records:表明插入的记录条数。
  • Duplicates:表明插入时被忽略的记录,原因可能是这些记录包含了重复的主键值。
  • Warnings:表明有问题的数据值,例如发生数据类转换。

一个同时插入多行记录的 INSERT 语句等同于多个单行插入的 INSERT 语句,但是多行的 INSERT 语句在处理过程中 效率更高。因为MySQL执行单条 INSERT 语句插入多行数据比使用多条 INSERT 语句块,所以在插入多条记录时最好选择使用单条 INSERT 语句的方式插入。

VALUES也可以写成 VALUE,但是 VALUES 是标准写法。

1.3 方式2:将查询结果插入到表中

        INSERT 还可以将 SELECT 语句查询的结果插入到表中,此时不需要把每一条记录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

深山老Java

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值