温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-06-01 13:39:40 来源:亿速云 阅读:282 作者:iii 栏目:开发技术

本篇内容主要讲解“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数据库高级数据操作之怎么新增数据”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI