百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

MySQL INSERT 有哪4种形态?(mysql insert)

toyiye 2024-08-13 11:45 7 浏览 0 评论

INSERT语句是最常见的SQL语句之一,MySQL中INSERT有其他形态的插入数据方式。下面了解一下mysql中常用的四种插入数据的语句:

INSERT INTO

1.insert into表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错;除了这个之外还有一些配合的参数.

语法如下:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...
    [ON DUPLICATE KEY UPDATE assignment_list]
  • DELAYED:是立刻返回一个标识,告诉上层程序,数据已经插入了,当表没有被其它线程使用时,此行被插入,真实插入时间就不可控了。所以这样的写法对数据的安全性是没有保障的。 延迟插入和替换在MySQL 5.6中是不推荐的。在MySQL 5.7,MySQL 8.0中,不支持延迟。服务器识别但忽略DELAYED关键字,将插入处理为非延迟插入,并生成erwarnlegacysyntaxconvert警告(“不再支持延迟插入”)。语句被转换为INSERT”)。DELAYED关键字计划在未来的版本中删除。
  • LOW_PRIORITY:插入的执行将被延迟,直到没有其他客户端从表中读取数据。这包括在现有客户端正在读取时以及INSERT LOWPRIORITY语句正在等待时开始读取的其他客户端。因此,对于发出INSERT LOWPRIORITY语句的客户机,可能要等待很长时间。 LOWPRIORITY只影响只使用表级锁的存储引擎(如MyISAM、内存和合并)。 LOWPRIORITY通常不应该用于MyISAM表,因为这样做会禁用并发插入
  • HIGH_PRIORITY:如果指定了HIGHPRIORITY,同时服务器采用–low-priority-updates选项启动,则HIGHPRIORITY将覆盖–low-priority-updates选项。这么做还会导 致同时进行的插入被取消。 【 lowpriorityupdates:如果设置为1,所有插入、更新、删除和锁表写语句都将等待,直到受影响的表上没有未决的选择或锁表读取。使用{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY…仅降低一个查询的优先级。这个变量只影响只使用表级锁的存储引擎(如MyISAM、MEMORY和MERGE)mysql的merge引擎类型允许把许多结构相同的表合并为一个表,Merge表有点类似于视图。】
  • IGNORE:insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据,主键和唯一键为基准;
mysql> insert ignore  tinsert(id,name) values(3,'D');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> show warnings;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1062 | Duplicate entry '3' for key 'PRIMARY' |
+---------+------+---------------------------------------+

INSERT INTO SELECT

把一张表的字段数据导入到另一张表中,执行语句会把整个数据会打包成一个事务执行。

注意:当从同一个表中选择和插入时,MySQL创建一个内部临时表来保存SELECT中的行,然后将这些行插入到目标表中。但是,不能使用INSERT INTO t…选择……当t是临时表时,从t开始,因为临时表不能在同一语句中被引用两次

REPLACE INTO

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中,

  1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据;
  2. 否则,直接插入新数据;
  3. REPLACE,您必须同时拥有表的INSERT,UPDATE,DELETE权限。

语法:

REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...

注意:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

1.下面看看binlog 解析:主键和唯一键同事存在的时候语句不一样。

主键:是进行update操作。

主键+唯一键:delete+insert操作

2.但对于同一个数据所有行都一样的时候replace into就不会进行更新操作。

INSERT INTO ON DUMPLICATE KEY UPDATE

...

? 接下来内容请访问原文(https://www.modb.pro/db/28662?YYF)进行查看~

更多数据库相关内容,可访问墨天轮(https://www.modb.pro/?YYF)进行浏览。


相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码