MySQL——添加、更新于删除数据(一)添加数据(3)同时添加多条记录

        有时候,需要一次向表中添加多条记录,当然,可以使用上面学习的两种方式将记录逐条添加,但是这样做需要书写多条INSERT语句,比较麻烦。其实,在 MySQL 中提供了使用一条 INSERT 语句同时添加多条记录的功能,其语法格式如下所示:

INSERT INTO 表名[(字段名 1,字段名 2)]
       VALUES (值 1,值 2,…),(值 1,值 2,…),
       ...
       (值1,值 2,…);

        在上述语法格式中,“(字段名 1,字段名 2,…)”是可选的,用于指定插人的字段名“(值 1,值2,…)”表示要插人的记录,该记录可以有多条,并且每条记录之间用逗号隔开。

        例如,向 student 表中添加三条新记录,INSERT 语句如下所示:

mysql> INSERT INTO student VALUES
    -> (6,'lilei',99),
    -> (7,'hanmeimei',100),
    -> (8,'poly',40.5);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

        从执行结果可以看出,INSERT 语句成功执行。其中 “Records:3” 表示添加三条记录,“Duplicates:0” 表示添加的三条记录没有重复,“Warning:0” 表示添加记录时没有警告。在添加多条记录时,可以不指定字段列表,只需要保证 VALUES 后面跟随的值列表依照字段在表中定义的顺序即可。接下来通过查询语句查看数据是否成功添加,执行结果如下所示:

mysql> select * from student;
+------+-----------+-------+
| id   | name      | grade |
+------+-----------+-------+
|    1 | caocao    |  98.5 |
|    2 | lisi      |    95 |
|    3 | wangwu    |  61.5 |
|    4 | zhaoliu   |  NULL |
| NULL | sunbin    |    55 |
|    5 | boya      |    99 |
|    6 | lilei     |    99 |
|    7 | hanmeimei |   100 |
|    8 | poly      |  40.5 |
+------+-----------+-------+
9 rows in set (0.01 sec)

        从查询结果可以看到,student 表中添加了三条新的记录和添加单条记录一样,如果不指定字段名,必须为每个字段添加数据,如果指定了字段名,就只需要为指定的字段添加数据。

        例如,向 student 表中添加三条新记录,记录中只为 id 和 name 字段添加值 INSERT 语句如下所示:

mysql> INSERT INTO student(id,name) VALUES
    -> (9,'liubei'),(10,'guanyu'),(11,'zhangfei');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

        执行 INSERT 语句向 student 表中添加数据,然后通过查询语句查看数据是否成功添加,执行结果如下所示:

mysql> select * from student
    -> where id>8;
+------+----------+-------+
| id   | name     | grade |
+------+----------+-------+
|    9 | liubei   |  NULL |
|   10 | guanyu   |  NULL |
|   11 | zhangfei |  NULL |
+------+----------+-------+
3 rows in set (0.01 sec)

        通过查询结果可以看出,student 表中添加了三条新的记录,由于 INSERT 语句中没有为 grade 字段添加值,系统自动为其添加默认值 NULL。需要注意的是,由于 student 表中存在多条记录,都查询出来不便于观察,因此在查询语句中使用了 WHERE 子句来指定查询条件,WHERE id>8 限定了只查询 student 表中 id 值大于8的记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Code repairman

你的鼓励将是我创作的最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值