`
xxd
  • 浏览: 21779 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

MySQL_Style - INSERT ... ON DUPLICATE KEY UPDATE

阅读更多
MySQL Performance Blog

Par example, on vais creater une table pour noter le traffic de l'Internet, il y a une table avec le traffic et le numero de package de le port et l'IP de address.

la table comme:
Create Table: CREATE TABLE `ipstat` (
`ip` int(10) unsigned NOT NULL,
`hits` int(10) unsigned NOT NULL,
`last_hit` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

INSERT
INTO ipstat VALUES(inet_aton('192.168.0.1'),1,now()) ON duplicate KEY UPDATE hits=hits+1;
+------------+------+---------------------+
| ip | hits | last_hit |
+------------+------+---------------------+
| 3232235521 | 1 | 2009-02-27 10:56:49 |
+------------+------+---------------------+
inet_aton
pour convertir l'IP de 15 bytes a 4 bytes. Tu peux changer le format de la table ipstat
mysql> alter table ipstat modify ip int(15);

mysql> select * from ipstat;
+-------------+------+---------------------+
| ip | hits | last_hit |
+-------------+------+---------------------+
| 2147483647 | 2 | 2009-02-27 10:57:15 |
| 192168 | 2 | 2009-02-27 11:31:13 |
| 192.168.0.1 | 2 | 2009-02-27 11:32:03 |
+-------------+------+---------------------+
分享到:
评论

相关推荐

    mysql-8.0.20-macos10.15-x86_64.dmg.zip

    7. **更强大的DML语句**:新增了`ON DUPLICATE KEY UPDATE`和`IGNORE`选项,使得在插入或更新数据时可以更灵活地处理冲突。 8. **新的系统变量和配置选项**:为了提供更好的控制和性能调整,MySQL 8.0增加了许多新...

    mysql数据库Insert语句后面加ON DUPLICATE KEY UPDATE,保证唯一性1

    当你在`INSERT`语句后添加`ON DUPLICATE KEY UPDATE`,如果新插入的行违反了唯一性约束,MySQL将执行指定的`UPDATE`操作。这里的“唯一性”指的是任何具有唯一索引或主键的列。例如,如果你有一个名为`consume_locus...

    mysql如何实现 如果存在就update更新,不存在再insert插入.zip

    在MySQL数据库中,如果你需要执行一个操作,即当数据存在时进行更新,如果不存在则进行插入,你可以使用`INSERT INTO...ON DUPLICATE KEY UPDATE`语句。这个功能强大的语句结合了`INSERT`和`UPDATE`操作,允许你在...

    [mysql]mysql通过on duplicate key update实现批量插入或更新(csdn)————程.pdf

    在MySQL数据库中,`ON DUPLICATE KEY UPDATE` 是一个非常实用的特性,它允许你在执行INSERT语句时,如果插入的数据违反了唯一性约束(即存在相同的唯一索引),则自动执行UPDATE操作来更新已有记录。这个功能在处理...

    MySQL的Replace into 与Insert into on duplicate key update真正的不同之处

    - 示例中,当再次尝试`INSERT`一个`a=3`的记录时,由于`b`字段在`ON DUPLICATE KEY UPDATE`部分被指定更新为'r5',所以原有记录的`b`字段被更新,而`c`字段保持不变。 - 对于`AUTO_INCREMENT`字段,`INSERT INTO ....

    mysql-8.0.27-winx64.zip

    8. **改进的DML语句**:支持INSERT...ON DUPLICATE KEY UPDATE语句的改进,使得数据更新更加灵活。 9. **安全增强**:MySQL 8.0强化了身份验证和权限管理,引入了caching_sha2_password认证插件,提供了更强大的...

    Mysql中Insert into xxx on duplicate key update问题

    ON DUPLICATE KEY UPDATE` 是MySQL的非标准扩展,其他数据库系统可能不支持这种语法。因此,在编写跨数据库兼容的SQL代码时,需要特别注意这一点。 如果你想了解更多关于`INSERT`、`UPDATE`和其他DML语句的使用,...

    mysql 原生语句中save 的写法汇总.docx

    在 MySQL 中,我们可以使用 ON DUPLICATE KEY UPDATE 关键字来实现数据不存在则插入,存在则更新的操作。判断数据重复的逻辑依然是主键冲突或者唯一键冲突。 例如,以下是使用 ON DUPLICATE KEY UPDATE 关键字的...

    mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点实例分析

    在MySQL中,`REPLACE INTO` 和 `INSERT INTO ON DUPLICATE KEY UPDATE` 是两种处理数据插入时冲突的方法,主要用于处理当试图插入一条记录时,若已有相同唯一键值的记录存在,应该如何操作的情况。 1. **REPLACE ...

    INSERT INTO .. ON DUPLICATE KEY更新多行记录

    ON DUPLICATE KEY UPDATE` 是 MySQL 数据库中的一种高效操作,它结合了插入新记录和更新已有记录的功能。这个语句主要用于处理唯一性约束冲突,如 PRIMARY KEY 或 UNIQUE 索引的情况。当试图插入的记录与现有记录在...

    mysql ON DUPLICATE KEY UPDATE语句示例

    在MySQL数据库中,`ON DUPLICATE KEY UPDATE` 是一个非常实用的特性,它允许你在插入新数据时,如果遇到重复的唯一键值,自动执行更新操作,而不是抛出错误。这个功能大大简化了数据处理的流程,特别是当你需要在一...

    MySQL中如何处理重复数据(Duplicate)?

    ON DUPLICATE KEY UPDATE 语句是在 MySQL 中处理重复数据的常用方法。该语句在插入数据时,如果遇到唯一键冲突(即主键或有唯一索引的字段),则会执行更新操作。示例: INSERT INTO table_name (col1, col2, col3...

    mysql 批量更新及效率对比.docx

    Replace Into 和 Insert Into On Duplicate Key Update 两种方法都可以实现批量更新,但它们之间有着很大的区别。 Replace Into 操作本质是对重复的记录先 delete 后 insert,如果更新的字段不全会将缺失的字段置为...

    mysql8-winx64 .zip

    5. **DML语句优化**:如`ON DUPLICATE KEY UPDATE`支持更多的列和子查询,以及更好的`INSERT IGNORE`行为。 6. **改进的性能**:包括更快的索引创建、优化的查询执行计划选择,以及对InnoDB存储引擎的性能提升。 7...

    mysql 批量更新及效率对比

    MySQL 批量更新的高效方法 MySQL 批量更新是指在 MySQL 数据库中批量更新多... On Duplicate Key Update 语句可以大大提高更新效率,而使用临时表的方法也可以提高效率,但是需要用户有 temporary 表的 create 权限。

    深入mysql ON DUPLICATE KEY UPDATE 语法的分析

    mysql “ON DUPLICATE KEY UPDATE” 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列...

    MySQL小技巧

    INSERT INTO table(a,b,c) VALUES(1,2,3) ON DUPLICATE KEY UPDATE c=c+1 WHERE a=1 OR b=2 LIMIT 1; ``` 此例中,如果`a=1`或`b=2`时,将`c`的值增加1,且只更新第一条符合条件的记录。 通过以上介绍可以看出...

    MYSQL的REPLACE和ON DUPLICATE KEY UPDATE语句介绍解决问题实例

    ON DUPLICATE KEY UPDATE`都是MySQL提供的强大工具,它们可以帮助我们更高效、更精确地管理数据库中的数据,特别是处理需要确保数据唯一性和排序顺序的情况下。通过合理利用这些语句,我们可以减少数据库操作的复杂...

    mysql性能优化_数据库_onlyyjco的专栏-CSDN博客.7z

    - 减少锁定,使用`REPLACE INTO`或`ON DUPLICATE KEY UPDATE`代替`INSERT...SELECT`。 - 更新大表时,考虑分批处理,避免一次性更新大量数据。 - 避免在UPDATE或DELETE语句中使用JOIN。 3. **索引策略**: - 为...

Global site tag (gtag.js) - Google Analytics