目录多数据插入主键冲突1、主键冲突更新2、主键冲突替换蠕虫复制多数据插入 只要写一次insert,可以插入多条数据 基本语法: insert into 表名 [(字段列表)] val
只要写一次insert,可以插入多条数据
基本语法:
insert into 表名 [(字段列表)] values (值列表), (值列表)...;
create table my_student(
id int primary key auto_increment,
name varchar(10)
);
insert into my_student (name) values ('张三'), ('李四'), ('王五');
Mysql> select * from my_student;
+----+--------+
| id | name |
+----+--------+
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
+----+--------+
insert into my_student (id, name) values (1, '张飞');
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
如果插入过程中主键冲突,那么采用更新方式
insert into 表名 [(字段列表)] on duplicate key update 字段=新值;
insert into my_student (id, name) values (1, '张飞')
on duplicate key update name = '张飞';
mysql> select * from my_student;
+----+--------+
| id | name |
+----+--------+
| 1 | 张飞 |
| 2 | 李四 |
| 3 | 王五 |
+----+--------+
replace into 表名 [(字段列表)] values (值列表);
replace into my_student (id, name) values (1, '刘备');
mysql> select * from my_student;
+----+--------+
| id | name |
+----+--------+
| 1 | 刘备 |
| 2 | 李四 |
| 3 | 王五 |
+----+--------+
一分为二,成倍增加
从已有的数据中获取数据,并且插入到数据表中
insert into 表名 [(字段列表)] select */字段列表 from 表名;
insert into my_student (name) select name from my_student;
mysql> select * from my_student;
+----+--------+
| id | name |
+----+--------+
| 1 | 刘备 |
| 2 | 李四 |
| 3 | 王五 |
| 4 | 刘备 |
| 5 | 李四 |
| 6 | 王五 |
+----+--------+
注意:
到此这篇关于MySQL数据库高级数据操作之新增数据的文章就介绍到这了,更多相关MySQL新增数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: MySQL数据库高级数据操作之新增数据
本文链接: https://www.lsjlt.com/news/150334.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-28
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0