`

mysql insert into replace into insert ignore into 用法

 
阅读更多
mysql中insert into和replace into以及insert ignore用法区别:

mysql中常用的三种插入数据的语句:
insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
insert ignore into表示,如果中已经存在相同的记录,则忽略当前新数据;

下面通过代码说明之间的区别,如下:
create table testtb( 
id int not null primary key, 
name varchar(50), 
age int 
); 

insert into testtb(id,name,age) values(1,"bb",13); 
select * from testtb; 
insert ignore into testtb(id,name,age) values(1,"aa",13); 
select * from testtb;//仍是1,“bb”,13,因为id是主键,出现主键重复但使用了ignore则错误被忽略 
replace into testtb(id,name,age) values(1,"aa",12); 
select * from testtb; //数据变为1,"aa",12


转自:http://mxdxm.iteye.com/blog/1153513
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Mysql中replace与replace into的用法讲解

    而 `REPLACE` 的效率相比 `INSERT IGNORE` 或 `INSERT ON DUPLICATE KEY UPDATE` 在某些情况下可能会更高,因为它不需要检查每一行是否存在冲突,而是直接进行替换。 总结来说,`REPLACE` 和 `REPLACE INTO` 是...

    MySql三种避免重复插入数据的方法

    当遇到主键或唯一键冲突的情况,有三种主要的插入方法可以帮助我们避免重复数据,分别是`INSERT IGNORE`、`REPLACE INTO`和`INSERT ON DUPLICATE KEY UPDATE`。下面我们将详细探讨这三种方法的用法及其区别。 1. **...

    MySQL 高级SQL操作(数据的增、删、改、查).docx

    insert ignore into t_3 values ('username', '12345678', 12345678); create table t_4 ( username varchar(50) primary key, logintime int unsigned ) charset utf8; insert into t_4 values ('username', ...

    MySQL数据库之UPDATE更新语句精解.docx

    MySQL数据库的更新语句主要涉及两个关键操作:`INSERT`和`REPLACE`。这两个语句主要用于向数据库表中添加新的数据,但它们在处理重复数据时有所不同。 1. `INSERT`语句: - 通常形式:`INSERT INTO tablename ...

    MySQL 高级SQL操作(数据的增、删、改、查) (2).pdf

    INSERT IGNORE INTO t_3 VALUES ('username', 'password', 12345678); ``` - 记录用户登录时间,如果存在则更新,不存在则新增,可以利用`ON DUPLICATE KEY UPDATE`来实现。 ```sql CREATE TABLE t_4 (username ...

    MySql避免重复插入记录的几种方法

    方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录...还有个应用就是复制表,避免重复记录: 代码如下: INSERT IGNORE INTO `table_1` (`name`) SELECT `name` FROM `table_2`; 方案二:使用

    mysql insert if not exists防止插入重复记录的方法

    在MySQL中,当我们需要向数据库表中插入数据时,但又希望避免插入已经存在的记录,可以采用`INSERT IGNORE`、`REPLACE INTO`或者结合`SELECT`与`NOT EXISTS`子句的方式来实现。这里我们将详细探讨`NOT EXISTS`子句在...

    分享MYSQL插入数据时忽略重复数据的方法

    总的来说,理解并正确使用`REPLACE INTO`和`INSERT [IGNORE] INTO`是MySQL数据库管理中的重要技能,它们可以帮助你有效地处理重复数据,保持数据的整洁和一致性。在实际工作中,应根据业务需求和数据特性来选择最...

    MySQL 高级SQL操作(数据的增、删、改、查) (2).docx

    - **冲突替换**:`replace into 表名 [(字段列表)] values(值列表)`,如果主键冲突,MySQL会先删除原有记录,然后插入新的记录。这种方法效率较低,因为它涉及到删除和插入两个步骤。 这三种方法都会对性能产生...

    MySQL小技巧

    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] ``` 其中,`tbl_name`...

    MySql数据导入导出

    LOAD DATA [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE table_name [FIELDS TERMINATED BY 'string' ENCLOSED BY 'char' ESCAPED BY 'char'] [LINES TERMINATED BY 'string' STARTING BY 'string'...

    MySQL 高级SQL操作(数据的增、删、改、查).pdf

    3. 冲突替换:使用`replace into`语句,它会先删除已存在的记录,然后插入新的记录,但效率相对较低,因为它需要检查冲突。 举例说明,假设我们有一个用户注册表`t_3`,其中`username`为主键,我们可以使用`insert ...

    数据库系统及原理及MYSQL应用教程表数据的维护实验报告

    在MySQL中,插入数据通常使用`INSERT INTO`语句。例如,向表`emp`插入数据,基本语法如下: ```sql INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); ``` `REPLACE INTO`语句在插入时会检查唯一索引或主键...

    mysql不同数据库不同数据表导入数据

    总结一下,`INSERT INTO`适用于新数据插入,`REPLACE INTO`适用于完全替换已有数据,`INSERT IGNORE INTO`避免覆盖数据,而`ON DUPLICATE KEY UPDATE`则允许在冲突时更新已有记录。在跨服务器的数据迁移时,需要额外...

    mysql双主主键冲突处理办法.docx

    综上所述,处理 MySQL 双主主键冲突通常涉及查找冲突数据、修改现有数据、使用 REPLACE INTO 或 INSERT IGNORE INTO 语句,以及优化复制策略。根据具体需求和业务场景,选择最适合的解决方案以确保数据的一致性和...

    MySQL数据导入导出方法知识.pdf

    INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block"); INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton"); INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL,...

Global site tag (gtag.js) - Google Analytics