首页
学习
活动
专区
圈层
工具
发布

Mysql之多种 Insert语句

在mysql常用命令与数据导入导出中记录过常用的sql语句,其中包括了插入语句. 今天单独记录一下mysql的插入语句的更多用法....into 这是最常用的插入语句,具体示例如下: insert into student(name,classNum) values("test2",20); 在数据库中成功插入了一条:名字为test2...,但是test2在数据库中主键已经存在,那么使用replace语句执行插入后,会发现,主键为test2的值仍然存在,但是classNum替换为了21. insert ignore into 当主键重复时...这种情形下我们可以使用insert ignore into语句,示例如下: mysql> select * from student; +-----------+----------+ | name...联系邮箱:huyanshi2580@gmail.com 更多学习笔记见个人博客——>呼延十 var gitment = new Gitment({ id: 'Mysql之多种 Insert语句',

1.6K40

图解MySQL | MySQL insert 语句的磁盘写入之旅

作者及简介: 黄 炎,爱可生首席技术官; 王 悦,爱可生研发团队成员,负责数据库管理平台相关项目的开发和故障排查,好奇 MySQL 技术原理及各类数据库实现方案。...本文来源:转载自公众号-图解 MySQL *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 ---- 一条 insert 语句在写入磁盘的过程中到底涉及了哪些文件?...顺序又是如何的? 下面我们用两张图和大家一起解析 insert 语句的磁盘写入之旅。 图 1:事务提交前的日志文件写入 ?...但仅仅写入内存的 buffer pool 并不能保证数据的持久化,如果 MySQL 宕机重启了,需要保证 insert 的数据不会丢失。...综上(在 InnoDB buffer pool 足够大且上述的两个参数设置为双一时),insert 语句成功提交时,真正发生磁盘数据写入的,并不是 MySQL 的数据文件,而是 redo log 和 binlog

5.7K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql常用sql语句(22)- insert 插入数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 终于讲完基础的查询语句了...这篇讲的就是插入数据...insert 属于DML语句(数据操纵语句) insert ... values 的语法格式 INSERT INTO [ [ , … ] ] VALUES (值1) [...… , (值n) ]; 语法格式说明 :可以不指定,默认指定表的所有列名 values:字段有多少个,值就要有多少个,且顺序要对应,否则会报错 insert .. set 的语法格式 这个用的不多哈...,了解为主; INSERT INTO SET = , = , … 两种语法格式的区别 insert .. values...,另一个是不指定任何字段 知识点 指定多个字段时,字段的顺序可以随意,不需要按照表定义的顺序来写,但要保证 values 的顺序和字段的顺序相同!

    2.6K20

    MySQL中插入语句(Insert)的几种使用方式

    注意:insert这种简写的方式虽然非常简单,但是Values后面的值必须和表中的类顺序对应,且类型要保持一直,即使表中某一个列不需要值也必须赋值为null,比如我们的主键id设置的是递增实际上是不用设置值的...3.REPLACE INSERT语句 此语句的作用是当我们在插入一条数据时,如果此条已经存在,那么先删除原来存在的数据再添加插入的数据,如果不存在那么直接插入新的数据。...4.INSERT IGNORE INTO 语句 此语句的作用是如果插入的数据已经存在那么就忽略插入的数据(也就是不改变原来的数据),如果不存在则插入新的数据。...6.INSERT SELECT语句 1.此语句的作用是将SELECT语句的结果插入表中,可实现数据迁移。...查看被插入的表的所有数据 ? 执行INSERT SELECT语句并查看结果 ?

    3.9K30

    MySQL实战中,Insert语句的使用心得总结

    喏 → MySQL专栏目录 | 点击这里   提到MySQL的Insert语句,你肯定不陌生,或许已经张口就来:不就是insert into table values(xxx,xxx,xxx)嘛!...今天,我来给小伙伴们从这两方面分享一下搬砖心得,如果你有疑问或好的想法,记得在评论区给我留言,我会在搬砖之余和大家一起吃瓜喔~ 目录 一、Insert的几种语法 1-1.普通插入语句 1-2.插入或更新...对了,ON DUPLICATE KEY UPDATE为MySQL特有语法,比如在MySQL迁移Oracle或其他DB时,类似的语句要改为MERGE INTO语法,兼容性让人想骂街。...例如我插入10w条数据的SQL语句要操作的数据包超过了1M,MySQL会报如下错: 报错信息: Mysql You can change this value on the server by setting...解释: 用于查询的数据包太大(6832997> 1048576)。 您可以通过设置max_allowed_packet的变量来更改服务器上的这个值。 通过解释可以看到用于操作的包太大。

    2.7K20

    MySQL DML语句insert全表数据添加语句以及注意事项

    MySQL DML语句insert全表数据添加语句以及注意事项 官方语法: INSERT  INTO  表名 [(字段名列表)]  VALUES (值列表); 字段名是可选的,如省略则依次插入所有字段...多个列表和多个值之间使用逗号分隔 值列表和字段名列表逐一对应 如插入的是表中部分数据,字段名列表必填 全表语法: INSERT  INTO  表名  VALUES (值列表); 需要添加表中所有的数据列信息...select * from student; # 添加语句insert insert into student values (0,'2023-9-16 10:00:00','2023-9-28...10:00:00','乔俞雅', '123456','15612245679',20,'女','信息安全1班大政委'); # insert语句使用总结 1、所有非中文内容均需要采用英文输入法写入..._general_ci】 5、确认关键字insert into ,values,显示颜色为蓝色,否则书写错误 6、每一条sql语句结束都需要添加一个【;】代表书写完毕。

    1.3K10

    insert语句的加锁情况分析

    // insert语句的加锁情况分析 // 今天分享的内容是MySQL里面insert语句的加锁情况,废话就不多说了,直接从线上的例子开始吧。...`table_log` trx id B1354DEF lock mode AUTO-INC waiting 为了解释这个现象,我们需要知道在MySQL中,对于insert into select这个语句是如何加锁的...因此,为了避免这种情况发生,MySQL会在session 1中对表t添加了(-无穷,1]之间的next-key锁,来避免session2的insert语句并发插入。...语句执行完成之后才释放自增锁; b、当该值为1的时候,普通的insert语句,自增锁在申请之后马上释放,insert into select语句,自增锁还是要等语句结束之后才释放 c、该值为2的时候,所有的申请自增主键的动作都是申请完成之后就释放锁...MySQL认为这是欠妥当的,因此,对这种批量insert语句,包括load data等,它在内部做了一个自增值生成策略的优化: 1、批量执行的insert语句,第一次申请1个自增id 2、一个id用完了

    2.8K21

    Insert into select语句引发的生产事故

    出现的原因   在默认的事务隔离级别下:insert into order_record select * from order_today 加锁规则是:order_record表锁,order_today...[explain_result_no_index.png]   通过观察迁移sql的执行情况你会发现order_today是全表扫描,也就意味着在执行insert into select from 语句时...,mysql会从上到下扫描order_today内的记录并且加锁,这样一来不就和直接锁表是一样了。   ...tableB语句时,一定要确保tableB后面的where,order或者其他条件,都需要有对应的索引,来避免出现tableB全部记录被锁定的情况。...参考文章 insert into ... select 由于SELECT表引起的死锁情况分析 结尾   如果觉得对你有帮助,可以多多评论,多多点赞哦,也可以到我的主页看看,说不定有你喜欢的文章,也可以随手点个关注哦

    2.9K11

    一条诡异的insert语句

    问题背景 有同事反馈在mysql上面执行一条普通的insert语句,结果报错, execute failed due to >>> Incorrect string value: '\xA1;offl...为了方便说明,我将测试例子中的表和语句简化,但不影响问题重现。...那我们在回过头来看看insert语句,唯一特殊的是使用了concat和char两个函数。会不会跟这两个函数有关系?...转换前,mysql将字符串‘cardName:校园网’看作是9个英文字符和3个汉字字符;转换后,mysql将其看作是18个字节的二进制串,其中,UTF8字符集的三个汉字“校园网”占了9个字节。...)和二个字节的字符(汉字和特殊字符),“校园网”的二进制串会按照两个字节拆分E6A0 A1E5 9BAD E58D A1,前面四个变为“鏍″洯缃”,解析到A1时,由于A1既不是单字节字符,又不能与后面的字节组成一个合法的

    1K30

    一条诡异的insert语句

    作者 | 天士梦 来源 | https://www.cnblogs.com/cchust/p/4601536.html 问题背景 有同事反馈在mysql上面执行一条普通的insert语句,结果报错,...为了方便说明,我将测试例子中的表和语句简化,但不影响问题重现。...那我们在回过头来看看insert语句,唯一特殊的是使用了concat和char两个函数。会不会跟这两个函数有关系?...转换前,mysql将字符串‘cardName:校园网’看作是9个英文字符和3个汉字字符;转换后,mysql将其看作是18个字节的二进制串,其中,UTF8字符集的三个汉字“校园网”占了9个字节。...)和二个字节的字符(汉字和特殊字符),“校园网”的二进制串会按照两个字节拆分E6A0 A1E5 9BAD E58D A1,前面四个变为“鏍″洯缃”,解析到A1时,由于A1既不是单字节字符,又不能与后面的字节组成一个合法的

    72930

    Mysql的 If和 Case语句

    if语句 在查询中使用if,语法如下: if('表达式','真值','假值'). 比如在数据中库存储的性别字段为1或者0,查询时想获取男,女....case语句 当两种选择是可以使用if,有多种选择的时候就需要case语句了....mysql的”\G”使用 在查询某个特别多字段的表的时候,输出的结果我们很难看明白,很想让字段名 和值一一对应来方便阅读,这时可以在语句末尾加上\G即可. 效果图: ?...经常使用它的场合是,某个字段的默认值是null,但是你想返回的默认值为0,所有你可以这样写select coalesce(x.y,0),当y字段为null时,会拿到0....联系邮箱:huyanshi2580@gmail.com 更多学习笔记见个人博客——>呼延十 var gitment = new Gitment({ id: 'Mysql的 If和 Case语句',

    4.6K10

    Mysql中REPLACE INTO详解及和INSERT INTO的区别

    接下来,我将带领大家一起学习REPLACE INTO这个强大的 SQL 语句。...` 尤其需要注意的是: 除非表有一个 PRIMARY KEY 或 UNIQUE 索引,否则,使用一个 REPLACE INTO语句没有意义。...了解了注意事项后,我们来归纳下REPLACE INTO的执行规则 当表没有主键和唯一键时,REPLACE INTO相当于普通的INSERT操作;binlog 记录事件为INSERT;返回的影响行数为INSERT...当表同时存在主键和唯一键时,REPLACE INTO插入记录与一条记录主键和一条记录唯一键都冲突的时候进行DELETE+INSERT操作;binlog 记录事件为DELETE+UPDATE;返回的影响行数为...第一种形式与INSERT INTO的用法类似。 第二种形式相似于 INSERT SELECT。这种用法并不强制要求列名匹配,事实上,MYSQL 甚至不关心SELECT返回的列名,它需要的是列的位置。

    1.5K10

    MySQL和Oracle的区别

    通过这篇文章,你将了解MySQL和Oracle数据库之间的区别。 MySQL和Oracle都是Oracle公司名下的关系数据库管理系统。...Oracle数据库通常用于数据仓库(DW),在线事务处理(OLTP)以及两者的混合(DW和OLTP)。 MySQL和Oracle的区别 MySQL Oracle MySQL是免费的开源数据库。...Oracle是商业数据库。 轻量级的,简单的关系型数据库管理系统,非常适合Web程序。 Oracle比MySQL功能强大,更适用于编写复杂的系统,例如银行,ERP,保险,金融。...MySQL不支持分布式数据库。 Oracle支持分布式数据库 Mysqlhotcopy和mysqldump是MySQL的备份工具。 Oracle具有不同类型的备份,例如云备份,热备份,导出,导入备份。...MySQL是用C和C ++编写的 Oracle用汇编语言,C和C ++编写的 使用MySQL的一些知名公司有:YouTube, PayPal, Google, Facebook, Twitter, GitHub

    5.5K21
    领券