zoukankan      html  css  js  c++  java
  • mysql replace into使用

    使用mysql插入数据时,我们通常使用的是insert into来处理,replace into有时可以替代insert into功能,但replace into也有自己的用法

    准备一张测试表:

    CREATE TABLE `stu` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `cid` int(11) NOT NULL,
      `name` varchar(32) DEFAULT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `cid` (`cid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

    其中id为自增主键,cid为唯一索引

    1、插入两条数据

    INSERT INTO stu(cid, name) VALUES(1, '1111');
    INSERT INTO stu(cid, name) VALUES(2, '2222');

    查看表数据

    2、使用REPLACE INTO插入

    REPLACE INTO stu(cid, name) VALUES(3,'3333');

    查看表数据

    可以看到有插入数据

    3、REPLACE INTO用法:使用REPLACE INTO时,首先会根据主键或者唯一索引查看表中是否有该条记录,有的话则先删除,然后插入数据;没有该记录则直接插入。示例

    REPLACE INTO stu(cid, name) VALUES(3,'33331');

    查看表数据

    原先id为3的记录变成了id为4了,说明原先id为3的记录先删除了,然后新插入了id为4)(id自增)的新记录

    如果针对id和cid都有一条记录进行操作,如下id为4和cid为2的记录都存在,执行以下语句

    REPLACE INTO stu(id, cid, name) VALUES(4, 2,'42');

    查看表数据

     可以看到原先的两条记录都给删除了,然后插入新记录

    4、REPLACE INTO 使用形式

    1. replace into tbl(col_name, ...) values(...)
    
    2. replace into tbl(col_name, ...) select ...
    
    3. replace into tbl set col_name=value, ...
  • 相关阅读:
    DAY21
    DAY20
    DAY19
    @Autowired注解和静态方法
    PageHelper.startPage和new PageInfo(list)的一些探索和思考
    escape()、encodeURI()、encodeURIComponent()区别详解
    每日日报29
    1dialog 表单最基本的封装
    mongoose
    数组
  • 原文地址:https://www.cnblogs.com/kingsonfu/p/11585548.html
Copyright © 2011-2022 走看看