MySQL:使用INSERT 插入多条记录

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

调用多次INSERT语句也可以插入多条记录,但使用这种方法要增加服务器的负荷,因为执行每一次SQL,服务器都要同样对SQL进行分析、优化等操作。

MySQL提供了另一种解决方案,就是使用一条INSERT语句来插入多条记录。这并不是标准的SQL语法,因此只能在MySQL中使用。

示例:

INSERT INTO users(name, age) VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人',600);

上面的INSERT语句向users表中连续插入了3条记录。值得注意的是,上面的INSERT语句中的VALUES后必须每一条记录的值放到一对(…)中,中间使用","分割。

INSERT INTO table1(i) VALUES(1),(2),(3),(4),(5);

当然,这种写法也可以省略列名,这样每一对括号里的值的数目必须一致,而且这个数目必须和列数一致。如:

INSERT INTO table1 VALUES(1),(2),(3),(4),(5);

验证:可行

[root@CentOS6 ~]# date

Tue Dec 31 09:40:09 CST 2013

[root@CentOS6 ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.1.71 Source distribution

 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| Test               |

| mysql              |

+--------------------+

3 rows in set (0.06 sec)

 

mysql> use Test;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> show tables;

+----------------+

| Tables_in_Test |

+----------------+

| DB             |

+----------------+

1 row in set (0.00 sec)

 

mysql> select * from DB;

+----+--------+-----+--------+

| id | name   | age | gender |

+----+--------+-----+--------+

|  1 | 张三   | 23  | 男     |

|  2 | 李四   | 25  | 男     |

|  3 | 王五   | 24  | 男     |

|  4 | 郑七   | 22  | 女     |

|  5 | 梁九   | 21  | 女     |

|  6 | Tom    | 24  | 男     |

|  7 | Jim    | 24  | 男     |

|  8 | Lucy   | 22  | 女     |

|  9 | John   | 23  | 男     |

+----+--------+-----+--------+

9 rows in set (0.00 sec)

 

mysql> insert into DB(id,name,age,gender) values('10','刘三','24','男'),('11','李六','25','男'),('12','Eric','27','男');

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

 

mysql> select * from DB;

+----+--------+-----+--------+

| id | name   | age | gender |

+----+--------+-----+--------+

|  1 | 张三   | 23  | 男     |

|  2 | 李四   | 25  | 男     |

|  3 | 王五   | 24  | 男     |

|  4 | 郑七   | 22  | 女     |

|  5 | 梁九   | 21  | 女     |

|  6 | Tom    | 24  | 男     |

|  7 | Jim    | 24  | 男     |

|  8 | Lucy   | 22  | 女     |

|  9 | John   | 23  | 男     |

| 10 | 刘三   | 24  | 男     |

| 11 | 李六   | 25  | 男     |

| 12 | Eric   | 27  | 男     |

+----+--------+-----+--------+

12 rows in set (0.00 sec)

 

mysql> insert into DB values('13','刘七','24','女'),('14','鲁六','21','男'),('15','Lily','22','女');

Query OK, 3 rows affected (0.00 sec)

Records: 3  Duplicates: 0  Warnings: 0

 

mysql> select * from DB;

+----+--------+-----+--------+

| id | name   | age | gender |

+----+--------+-----+--------+

|  1 | 张三   | 23  | 男     |

|  2 | 李四   | 25  | 男     |

|  3 | 王五   | 24  | 男     |

|  4 | 郑七   | 22  | 女     |

|  5 | 梁九   | 21  | 女     |

|  6 | Tom    | 24  | 男     |

|  7 | Jim    | 24  | 男     |

|  8 | Lucy   | 22  | 女     |

|  9 | John   | 23  | 男     |

| 10 | 刘三   | 24  | 男     |

| 11 | 李六   | 25  | 男     |

| 12 | Eric   | 27  | 男     |

| 13 | 刘七   | 24  | 女     |

| 14 | 鲁六   | 21  | 男     |

| 15 | Lily   | 22  | 女     |

+----+--------+-----+--------+

15 rows in set (0.00 sec)

mysql>

本文转自ICT时空 dbasdk博客,原文链接:MySQL:使用INSERT 插入多条记录,如需转载请自行联系原博主。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
126 0
|
5月前
|
存储 自然语言处理 关系型数据库
MySQL全文索引源码剖析之Insert语句执行过程
【8月更文挑战第17天】在MySQL中,处理含全文索引的`INSERT`语句涉及多步骤。首先进行语法解析确认语句结构无误;接着语义分析检查数据是否符合表结构及约束。随后存储引擎执行插入操作,若涉及全文索引则进行分词处理,并更新倒排索引结构。此外,事务管理确保了操作的完整性和一致性。通过示例创建含全文索引的表并插入数据,可见MySQL如何高效地处理此类操作,有助于优化数据库性能和提升全文搜索效果。
|
5月前
|
关系型数据库 MySQL
解决MySQL insert出现Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘xxx‘ at row 1
解决MySQL insert出现Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘xxx‘ at row 1
394 2
|
5月前
|
存储 关系型数据库 MySQL
在 MySQL 中使用 Insert Into Select
【8月更文挑战第11天】
893 0
在 MySQL 中使用 Insert Into Select
|
7月前
|
关系型数据库 MySQL 数据库
mysql 中文问号,mybatis-plus insert中文数据库显示问号
mysql 中文问号,mybatis-plus insert中文数据库显示问号
73 1
|
7月前
|
SQL 安全 关系型数据库
MySQL DML语句insert全表数据添加语句以及注意事项
MySQL DML语句insert全表数据添加语句以及注意事项
64 0
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
167 0
|
关系型数据库 MySQL
零基础带你学习MySQL—Insert语句以及注意事项(七)
零基础带你学习MySQL—Insert语句以及注意事项(七)
|
关系型数据库 MySQL 数据库
数据的查询与添加:解析MySQL中的SELECT和INSERT操作
在数据库管理中,SELECT和INSERT操作是日常工作中的重要环节,用于数据的获取和添加。了解如何正确使用这两个操作是数据库操作的关键。
229 0
|
关系型数据库 MySQL 数据库
数据的添加与插入:探究MySQL中的INSERT操作
在数据库管理中,添加新数据是一个常见且关键的操作,而"INSERT"语句正是用于实现这一目标的命令。MySQL中的INSERT操作可以让我们在数据库表中添加新的数据记录。
209 0