MySQL-插入数据(insert into,replace into)

2023-11-04

插入数据的方法

mysql中常用的三种插入数据的语句:

  • insert into:正常的插入数据,插入数据的时候会检查主键或者唯一索引,如果出现重复就会报错;
  • replace into:表示插入并替换数据,若表中有primary key或者unique索引,在插入数据的时候,若遇到重复的数据,则用新数据替换,如果没有数据效果则和insert into一样;
  • insert ignore into:插入并忽略数据,如果表中已经存在相同的记录,则忽略当前新数据(有则忽略,无则添加)。

语法介绍

insert into

每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的类型必须与对应的字段相匹配。但是,各字段也无须与其在表中定义的顺序一致,它们只要与 VALUES中值的顺序一致即可。

# 表中有些字段有默认值,则可以直接根据字段插入数据
INSERT INTO 表名(字段名1,字段名2,...) VALUES (1,2,...);

# 按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致
INSERT INTO 表名 VALUES (1,2,...);

insert ignore into

这种方式的语法跟insert into 是一样的,只不过在遇到重复的数据时做出的处理不一致,有重复的就忽略该条数据的插入。

# 表中有些字段有默认值,则可以直接根据字段插入数据
INSERT IGNORE INTO 表名(字段名1,字段名2,...) VALUES (1,2,...);

# 按照表中所有字段进行插入数据,一定要与字段在表中定义的顺序一致
INSERT IGNORE INTO 表名 VALUES (1,2,...);

MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,对于插入数据时候遇到重复的primary key 时候,可以进行数据的更新,就避免了insert ignore into遇到重复的数据直接忽略的不足。但是一定要保证使用的时候是想要更新重复数据哦,不然就尴尬啦~~

INSERTON DUPLICATE KEY UPDATE

replace into

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

REPLACE INTO 表名(字段名1,字段名2,...) VALUES (1,2,...);

REPLACE INTO 表名 VALUES (1,2,...);

原文链接:https://blog.csdn.net/weixin_42272869/article/details/116480732

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL-插入数据(insert into,replace into) 的相关文章

  • 显示表 FULLTEXT 索引列

    我希望运行一个查询 该查询将返回表中全文索引的列列表 该表采用 MyISAM 格式 我将使用 php 来构建查询 理想情况下 我会运行查询 它会返回信息 以便我可以构造一个以逗号分隔的列字符串 例如 名 姓 电子邮箱 这在 MySQL 中可
  • Mysql innoDB 不断崩溃[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的数据库 mysql 服务器不断崩溃 重新启动 我不知道该怎么办 我不断在 dbname org err 文件中收到以下内容 13120
  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • SQLite HAVING 比较错误

    我有一个测试 SQLite 表 用于存储带有值的报告数据 CREATE TABLE IF NOT EXISTS test fact daily revenue date TEXT revenue NUMERIC product TEXT I
  • Hibernate 对集合的查询过滤器

    我想执行以下查询 from Item i where i categoryItems catalogId catId 然而 这会产生以下异常 非法尝试取消引用集合 所以我用谷歌搜索 找到了这个 Hibernate 论坛帖子https for
  • 复选框上的数据绑定

    我目前正在将数据从 SQL 数据库之一提取到我的应用程序中 我可以让它适用于我的文本框和其他项目 但是 我似乎无法让它适用于复选框 这是我正在使用的代码 DataTable dt new DataTable dt using SqlConn
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • 更改迁移中的自动​​增量值(PostgreSQL 和 SQLite3)

    我有一个托管在 Heroku 上的项目 想要更改表的自动增量起始值 我在本地使用 SQLite3 Heroku 使用 PostgreSQL 这是我在迁移中所拥有的 class CreateMytable lt ActiveRecord Mi
  • 如何在Mysql中仅将不同的值从一个表复制到另一个表?

    我有一个大约 2 5GB 的 MySql 数据库 表 A 具有以下列 anoid query date item rank url 我刚刚创建了另一个仅包含列的表 b query and date 我想在查询列中插入所有不同的记录 及其各自
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI

随机推荐

  • 等保2.0建设

    现在的等保2 0建设都是要完整
  • Springboot整合mybatis(注解-基础篇)最通俗易懂的文章

    注解开发mybatis 开发流程 1 引入MyBatis依赖 maven下的springboot添加如下坐标即可 POM xml
  • 微信小程序——云函数部署问题

    摸索了一个下午才明白云函数是什么 效率真的有点低 不过好在还是弄出来了 云开发 即无需搭建服务器 将云端当做服务端 只需进行前端开发 小程序 云开发提供了三个基础能力 数据库 存储和云函数 数据库 json数据库 就理解为往里面存的是jso
  • ApplicationContext 与 BeanFactory 区别(MS)

    1 从继承关系上来说 BeanFactory 是 的父类 BeanFactory 只是提供了基础操作Bean的方法 ApplicationContext除了拥有父类的基础操作之外 还提供了自己独有的功能 2 从性能方面上来说 Applica
  • 关于PHP发送邮箱验证码功能介绍

    关于PHP发送邮箱验证码功能介绍 PHP语言发送邮箱验证码 可以使用PHPMailer这个现成的类文件 完美集成实现邮箱发送验证码 前期准备 a PHPMailer下载地址 在git上获取最新版即可 https github com PHP
  • vue 前端内存问题 解决方案

    前端内存问题 JavaScript heap out of memory 解决 1 全局安装increase memory limit npm install g increase memory limit 2 进入工程目录 执行 incr
  • 动态规划经典题目:最大连续子序列和、最大不连续子序列和

    1 最大连续子序列和 记数组为nums 思路 记录dp i 为i位置结尾的最大连续子序列和 则有dp i dp i 1 gt 0 dp i 1 nums i nums i 然后求dp数组的max即为最终结果 1 最大不连续子序列和 记数组为
  • java数组程序_Java数组

    7 1数组 l 数组是多个相同类型数据的组合 实现对这些数据的统一管理 l 数组中的元素可以是任何数据类型 包括基本数据类型和引用数据类型 l 数组属引用类型 数组型数据是对象 object 数组中的每个元素相当于该对象的成员变量 7 2一
  • element-ui遮罩层

    通用下载方法内 通用下载方法 export function download url params filename method downloadLoadingInstance Loading service text 正在下载数据 请
  • 7-WebApis-6

    Web APIs 6 目标 能够利用正则表达式完成小兔鲜注册页面的表单验证 具备常见的表单验证能力 正则表达式 综合案例 阶段案例 正则表达式 正则表达式 Regular Expression是一种字符串匹配的模式 规则 使用场景 例如验证
  • 启动nacos报错:Exception in thread main java.lang.UnsupportedClassVersionError

    最近在做微服务项目的时候用到nacos 使用的版本分别是最新版nacos server 2 0 2和nacos server 1 4 2 但是在启动的时候报错了先看一下报错信息吧 报错信息 G nacos server 1 4 2 naco
  • 单相并网逆变器学习记录-------------SOGI-PLL锁相环

    目录 一 锁相环的简介 二 dq坐标系 三 SOGI生成 坐标系 四 SOGI PLL 五 SOGI PLL的仿真 一 锁相环的简介 进入21世纪 随着资源 环境问题的日益加剧 以太阳能 风能和热电联产等为代表的可再生 清洁能源纷纷通过逆变
  • JetBrains Account connection error: java.security.SignatureException: Signat

    用学生账户注册登录idea时 网上看到了很多解决方式 大部分都是修改hosts文件 即删除里面的 0 0 0 0 account jetbrains com 0 0 0 0 www jetbrains com 那么问题来了 我的 hosts
  • 被勒索病毒加密的文件如何破解?

    想要硬刚勒索病毒 脱密加密的文件 是很难的 之前 我已经介绍了数字签名 勒索病毒使用了公钥加密另一个常用应用 数字信封 技术 想要恢复勒索病毒加密的文件 可以破解黑客的公钥 或者破解黑客加密文件的临时对称密钥 而这2种算法 黑客都选用了目前
  • 如何在项目中使用kafka?

    1 如何在项目中使用kafka 1 1 因为kafka的使用依赖于zookeeper https mp weixin qq com s geR3pDw Yjhmu8KMsXQosg在kafka v2 8版本后将zookeeper也集成在了服
  • 【系统篇 / 域】❀ 06. Windows10 加入域 ❀ Windows Server 2016

    简介 众所周知 Windows Server 2016 与其它版本不同的地方就是支持 Windows10 加入域服务了 修改 DNS Windows10 加入域之前 需要把网卡的DNS指向域服务器 在Windows10系统中 鼠标右击右下角
  • Elasticsearch自定义评分的多种方法

    Elasticsearch自定义评分的多种方法 在大数据领域 Elasticsearch是一个广泛使用的开源搜索和分析引擎 它提供了强大的搜索功能 并支持通过自定义评分机制来调整搜索结果的排序 在本文中 我们将探讨Elasticsearch
  • 导师总结的最全python核心知识点汇总笔记,260页最完整版。

    python学习简单 但完全掌握还是会有许多重难点 本次收集了python从入门到精通的所有重难知识点详细梳理讲解 并附有多种思路与方法 配合案例可以更快速的让你掌握相关知识节点 这份笔记由导师亲自汇总整理编辑 共计260页内容 堪称经典
  • php写layui上传接口,layui 富文本图片上传接口与普通按钮 文件上传接口的例子

    富文本 图片上传 html js 记得之前引入layui js layui use layedit function var layedit layui layedit layedit set uploadImage url url ind
  • MySQL-插入数据(insert into,replace into)

    插入数据的方法 mysql中常用的三种插入数据的语句 insert into 正常的插入数据 插入数据的时候会检查主键或者唯一索引 如果出现重复就会报错 replace into 表示插入并替换数据 若表中有primary key或者uni