MySQL数据库高级数据操作之新增数据

作者:彭世瑜 时间:2024-01-18 17:46:38 

多数据插入

只要写一次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'

1、主键冲突更新

如果插入过程中主键冲突,那么采用更新方式

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 | 王五   |
+----+--------+

2、主键冲突替换

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 | 王五   |
+----+--------+

注意:

  • 蠕虫复制通常是重复数据,可以短期内复制大量的数据,从而测试表的压力

  • 需要注意主键冲突

来源:https://blog.51cto.com/u_13567403/5335277

标签:MySQL,数据库,新增,数据
0
投稿

猜你喜欢

  • nodejs+express最简易的连接数据库的方法

    2024-01-24 21:15:24
  • opencv python 傅里叶变换的使用

    2022-07-27 14:55:03
  • 使用python 将图片复制到系统剪贴中

    2021-12-03 22:34:11
  • 基于Python制作AI聊天软件的示例代码

    2023-09-27 14:58:25
  • Python排序算法之堆排序算法

    2023-01-17 02:00:55
  • Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)

    2022-08-23 06:39:23
  • 关于 MySQL 嵌套子查询中无法关联主表字段问题的解决方法

    2024-01-18 23:05:28
  • Django 使用easy_thumbnails压缩上传的图片方法

    2023-11-10 07:47:38
  • django ModelForm修改显示缩略图 imagefield类型的实例

    2021-04-28 16:16:37
  • 成为一个顶级设计师的第三准则

    2009-09-15 21:00:00
  • Python进程间通信Queue消息队列用法分析

    2021-11-28 03:04:18
  • SQL Server中使用sp_password重置SA密码实例

    2024-01-20 15:07:59
  • python列表元素拼接成字符串的4种方法

    2021-10-02 23:59:59
  • Python 中的 else详解

    2021-12-15 09:42:18
  • Python利用re模块实现简易分词(tokenization)

    2021-06-12 20:07:59
  • python使用pytest接口自动化测试的使用

    2022-06-15 05:23:48
  • 利用脚本自动安装SQLServer的实现步骤分析

    2024-01-22 20:02:11
  • Go Gin实现文件上传下载的示例代码

    2023-06-21 15:11:13
  • mysql 5.7.18 winx64安装配置方法图文教程

    2024-01-13 16:37:30
  • 用 jQuery 來做图片伪浮水印

    2010-08-09 12:42:00
  • asp之家 网络编程 m.aspxhome.com