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

 更新时间:2022年06月01日 10:48:53   作者:彭世瑜  
这篇文章主要介绍了MySQL数据库高级数据操作之新增数据,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

多数据插入

只要写一次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 | 王五   |
+----+--------+

注意:

  • 蠕虫复制通常是重复数据,可以短期内复制大量的数据,从而测试表的压力
  • 需要注意主键冲突

到此这篇关于MySQL数据库高级数据操作之新增数据的文章就介绍到这了,更多相关MySQL新增数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL 搭建主从同步实现操作

    MySQL 搭建主从同步实现操作

    这篇文章主要介绍了MySQL 中的主从同步实现操作,文章围绕如何搭建主从同步详细展开内容,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

    当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

    这篇文章主要介绍了当mysql服务器为mysql5.6时,mysqlbinlog版本不对可能导致出哪些问题,下面通过模拟2种场景分析此类问题,需要的朋友可以参考下
    2015-07-07
  • MySQL 删除大表的性能问题解决方案

    MySQL 删除大表的性能问题解决方案

    MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL hang的时间,本为将提供详细的解决方案,需要了解的朋友可以参考下
    2012-11-11
  • mysql8.0.30安装配置最详细教程(windows 64位)

    mysql8.0.30安装配置最详细教程(windows 64位)

    这篇文章主要给大家介绍了关于windows 64位下mysql8.0.30安装配置的相关资料,主要以图片的形式展示安装教程x,简单易懂,小白专属,需要的朋友可以参考下
    2022-09-09
  • 详解mysql解压缩版安装步骤

    详解mysql解压缩版安装步骤

    这篇文章主要介绍了mysql解压缩版安装步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • CentOS7.5 安装 Mysql8.0.19的教程图文详解

    CentOS7.5 安装 Mysql8.0.19的教程图文详解

    这篇文章主要介绍了CentOS7.5 安装 Mysql8.0.19的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Mysql如何查看是否使用到索引

    Mysql如何查看是否使用到索引

    这篇文章主要介绍了Mysql如何查看是否使用到索引问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • MySQL数据库MyISAM存储引擎转为Innodb的方法

    MySQL数据库MyISAM存储引擎转为Innodb的方法

    mysql数据库存储引擎为MyISAM的时候,在大访问量的情况下数据表有可能会出现被锁的情况,这就会导致用户连接网站时超时而返回502,此时就需要MySQL数据库MyISAM存储引擎转为Innodb,这篇文章主要介绍了MySQL数据库MyISAM存储引擎转为Innodb的方法,需要的朋友可以参考下
    2014-06-06
  • MySql获取某个字段存在于哪个表的sql语句

    MySql获取某个字段存在于哪个表的sql语句

    本文为大家详细介绍下通过MySql查询某个字段所在表是哪一个,具体的sql语句如下,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-07-07
  • Mysql教程分组排名实现示例详解

    Mysql教程分组排名实现示例详解

    这篇文章主要为大家介绍了Mysql数据库分组排名实现的示例详解教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10

最新评论