`
风林火山极
  • 浏览: 4820 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Mysql操作心得

阅读更多
关于Unique的操作当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT、中断操作或者更新旧记录为新值。

如果现在在unique列插入一条违背唯一约束的记录,MySQL会中断操作,提示出错:

  mysql> insert into menus(id,label,url) values(4,'Contact us','contactus.html'); ERROR 1062 (23000): Duplicate entry '4' for key 'id'

  在前面的INSERT语句添加IGNORE关键字时,如果认为语句违背了唯一约束,MySQL甚至不会尝试去执行这条语句,因此,下面的语句不会返回错误

mysql> insert ignore into menus(id,label,url) values(4,'Contact us','contactus.html'); Query OK, 0 rows affected (0.00 sec) mysql> select * from menus; +----+----------+---------------+ | id | label | url | +----+----------+---------------+ | 1 | Home | home.html | | 2 | About us | aboutus.html | | 3 | Services | services.html | | 4 | Feedback | feedback.html | +----+----------+---------------+ 4 rows in set (0.00 sec)

  当有很多的INSERT语句需要被顺序地执行时,IGNORE关键字就使操作变得很方便。使用它可以保证不管哪一个INSERT包含了重复的键值,MySQL都回跳过它(而不是放弃全部操作)。

  在这种情况下,我们还可以通过添加MySQL4.1新增加的ON DUPLICATE KEY UPDATE子句,使MySQL自动把INSERT操作转换为UPDATE操作。这个子句必须具有需要更新的字段列表,这个列表和UPDATE语句使用的列表相同。

  mysql> insert into menus(id,label,url) values(4,'Contact us','contactus.html') -> on duplicate key update label='Contact us',url='contactus.html'; Query OK, 2 rows affected (0.05 sec)

  在这种情况下,如果MySQL发现表已经包含具有相同唯一键的记录,它会自动更新旧的记录为ON DUPLICATE KEY UPDATE从句中指定的新值
分享到:
评论

相关推荐

    MYSQL使用过程心得及资料

    ### MySQL 使用过程心得及资料 #### 一、基本操作 **1. 登录MySQL** - **命令**: `# mysql -u root -p` - **说明**: 在没有密码的情况下直接按回车键即可登录。如果需要设置密码,可以使用以下命令: ```sql ...

    mysql的使用心得

    ### MySQL使用心得与技巧 #### 一、MySQL内置函数运用 **1. IP地址与数字之间的转换** - **函数介绍** - `INET_ATON`: 将IP地址转换为整数。 - `INET_NTOA`: 将整数转换为IP地址。 - **应用场景** - 在...

    mysql安装心得

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,广泛应用于各种规模的企业和项目中。本文将详细介绍Linux平台上MySQL 5.6数据库的安装过程,包括多种安装方式、依赖包的检查以及一些关键配置的设置。 1. 日期与...

    Mysql使用技巧心得

    ### MySQL使用技巧心得 在日常使用MySQL的过程中,我们经常会遇到各种各样的问题,这些问题往往需要花费大量的时间和精力去解决。本文将分享一些我在使用MySQL时的心得体会和技术要点,希望能够帮助到正在学习或...

    mysql简单的操作

    对数据进行简单的增加,删除,修改,查询,还有一些模糊查询,索引的创建,以及对简单的窗口命令,这不是专业的操作,是我学习的心得,与大家分享一下

    MYSQL使用心得(三)----性能与管理优化

    避免在WHERE子句中使用否定操作符或对索引列进行计算,这会导致MySQL无法使用索引。此外,JOIN操作应尽可能减少数据量,避免大表JOIN小表,利用JOIN条件建立索引,可以有效提高JOIN查询速度。 再者,索引设计是...

    mysql数据库优化的学习心得

    MySQL 数据库优化技巧总结 MySQL 数据库优化是数据库管理和开发者非常关心的一个问题。由于 MySQL 数据库的性能优化可以直接影响到整个应用系统的性能和用户体验,因此掌握 MySQL 数据库优化技巧对开发者和数据库...

    MYSQL实战45讲(全).zip

    本资源包含45讲完整内容,以及作者关于MySQL的心得体会,是MySQL学习者宝贵的资料库。 一、MySQL基础 MySQL是一个开源的关系型数据库管理系统,广泛应用于Web应用开发,因其高效、稳定和易用而受到青睐。在这一部分...

    MYSQL命令行模式管理心得

    MySQL命令行模式是数据库管理的重要方式,尤其对于网站开发者来说,掌握MySQL的命令行操作能够有效地管理和维护数据库。在Linux或Windows环境下,MySQL都提供了命令行接口,方便用户执行SQL语句。 首先,确保MySQL...

    ExcelVBA操作MySQL

    在介绍Excel VBA操作MySQL的系列文章中,作者首先强调了准备工作的重要性。这包括熟悉MySQL的基础知识,了解MySQL的安装流程,以及为Excel VBA设置必要的引用。接下来,文章详细地说明了如何使用VBA来操作MySQL...

    PHP与MYSQL操作实例讲解 WORD版

    《PHP与MYSQL操作实例讲解》是一本专注于介绍如何在实际应用中使用PHP语言与MySQL数据库进行交互的教程。本教程以实例为引导,旨在帮助读者深入理解和掌握这两者结合使用的核心技术,提升Web开发能力。 PHP...

    MySQL数据库应用与开发实训报告.doc

    本实训报告主要围绕姜桂洪主编的《MySQL数据库应用与开发》一书,结合2018年清华大学出版社的教材内容,详细介绍了MySQL数据库在Windows10环境下5.7版本的实战操作,涵盖了从安装MySQL服务器到数据库管理的多个关键...

    mysql官方教程英文

    - **技术支持**:用户可以通过MySQL论坛或MySQL邮件列表等方式寻求帮助和支持,与其他MySQL用户交流使用心得。 ### 安装与升级指导 - **一般安装指导**:手册提供了关于如何选择合适的MySQL版本及发行包的一般性...

    linux下安装mysql个人心得.docx

    在Linux系统上安装MySQL是一项常见的任务,特别是在搭建服务器环境或者进行开发工作时。本文将详细介绍在Linux环境下安装MySQL的过程,并分享一些个人经验。 首先,我们需要确保系统中没有已安装的MySQL版本。通过...

    MySqL的一点心得

    1. 下载安装包:访问MySQL官方网站,根据你的操作系统(如Windows、Linux或macOS)下载相应的安装程序。 2. 安装过程:运行安装程序,遵循向导指示进行配置。在Windows上,这可能涉及选择安装类型(如默认的...

    Mysql数据库学习心得.docx

    本文主要基于作者的学习心得,介绍了MySQL的基本概念、获取与安装过程,以及在Windows操作系统下的安装步骤。 首先,MySQL是一个真正的多用户、多线程SQL数据库服务器,支持客户机/服务器架构,允许通过多种编程...

    mysql封装.zip

    MySQL数据库是一种广泛使用的开源关系型数据库管理系统,以其高效、稳定和易于管理的特性深受开发者喜爱。C++作为一款强大的编程语言,与MySQL结合可以...同时,也可以参与讨论,与其他开发者交流心得,提升编程技能。

    MYSQL5.6.17软件下载及安装图解(2天死磕的心得)

    - **操作系统**: Windows 7 64位版本 - **软件**: MySQL 5.6.17 (32位与64位版本) #### 二、详细步骤 ##### 第一步:下载安装包 - **下载地址**: [MySQL 官方网站](http://www.mysql.com/)。平台默认为Windows。 -...

Global site tag (gtag.js) - Google Analytics