MySQL数据库高级数据操作之怎么新增数据
更新:HHH   时间:2023-1-7


本篇内容主要讲解“MySQL数据库高级数据操作之怎么新增数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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数据库高级数据操作之怎么新增数据”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    返回开发技术教程...