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

MySQL从删库到跑路(六)——SQL插入、更新、删除操作

作者:天山老妖S 链接:http://blog.51cto.com/9291927 一、插入数据 1、为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。...,subjectID) values ('数据结构','0007') 3、同时插入多条记录 INSERT语句可以同时向数据表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法格式如下...value_listn); 示例: insert into TSubject (subjectName,subjectID) values ('C#开发','0008'),('苹果开发','0009') 4、将查询结果插入到表中...INSERT语句和SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入多个行。...concat(sname,'#') where studentid in(select studentid from TScore where mark>98); 三、删除数据 1、根据本表的条件删除记录 从数据表中删除数据使用

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

    使用shell脚本批量插入数据到MySQL中

    经常会踫到这样的场景需求:批量向MySQL数据库插入数据,显然手工INSERT成千上万条数据是不现实的,所以自己写了这个shell脚本来处理。...1 具体需求 shell脚本批量插入10万条数据到MySQL中,其中对应表唯一索引是用户uid。因此在程序循环1万次数时,每次都使uid自增1就行了。.../bin/bash # FileName: batchinsertmysqlshell1.sh # Description: 使用shell脚本批量插入数据到MySQL中 # Simple.../batchinsertmysqlshell1.sh # mysql db name. db_name="gamedata" # mysql table name. table_name="test_user_skin...endTime} ====" 3 脚本管理 目前已经把这个脚本放在Github了,地址是https://github.com/vfhky/shell-tools,以后脚本的更新或者更多好用的脚本也都会加入到这个工程中

    2.8K10

    MySQL从删库到跑路(三)——SQL语言

    SQL语言的功能如下: A、SQL面向数据库执行查询 B、SQL可从数据库取回数据 C、SQL可在数据库中插入新的记录 D、SQL可更新数据库中的数据 E、SQL可从数据库删除记录 F、SQL可创建新数据库...SQL可与数据库程序协同工作,比如MS Access、DB2、Informix、MS SQL Server、Oracle、MySQL、Sybase以及其他数据库系统。...ENUM类型字段可以从集合中取得一个值或使用null值,如果输入不在集合中的值将会使MySQL插入一个空字符串。...另外如果插入值的大小写与集合中值的大小写不匹配,MySQL会自动使用插入值的大小写转换成与集合中大小写一致的值。 ENUM类型在系统内部可以存储为数字,并且从1开始用数字做索引。...SET类型 SET类型可以从预定义的集合中取得任意数量的值,任何试图在SET类型字段中插入非预定义的值都会使MySQL插入一个空字符串。

    2.5K30

    MySQL从删库到跑路(五)——SQL查询

    全连接: 全连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。MySQL不支持全外连接。...4、SQL查询的原理 第一、单表查询:根据WHERE条件过滤表中的记录,形成中间表;然后根据SELECT的选择列选择相应的列进行返回最终结果。...三、对查询结果排序 MySQL中可以通过在SELECT使用ORDER BY子句对查询的结果进行排序。 1、单列排序 ASC代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出。...Where子句:从数据源去掉不符合搜索条件的数据; GROUP BY子句:分组,使用统计函数(聚合函数)为每组计算统计值; HAVING子句:在分好的组中去掉每组中不符合条件的数据行。...MySQL用WHERE子句对正则表达式提供了初步的支持,允许指定用正则表达式过滤SELECT检索出的数据。 在SQL查询语句中,查询条件REGEXP后所跟的东西作为正则表达式处理。

    3.9K30

    MySQL常用SQL语句:插入更新删除查询

    整理一些MySQL常用SQL语句:插入、更新、删除、查询、根据指定的列对结果集进行排序等。...插入 (1) 不指定列名 insert into student values (218004, '龙猫', '男', '23') 注意:如果不指定插入的列名,则value中的值要对应表中的每一列,若少列...从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录。...从笛卡尔积的角度描述,右连接就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上右表中剩余的记录 select * from student right join sc on student.sno =...从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录,最后加上右表中剩余的记录。

    9K30

    慢查询 MySQL 定位优化技巧,从10s优化到300ms

    并留意慢查询日志的输出,上线前的功能测试完成后,分析慢查询日志每类语句的输出,重点关注Rows_examined(语句执行期间从存储引擎读取的行数),提前优化。...type列,这里是index,表示全索引扫描 表格从上到下代表了sql查询性能从最优到最差,如果是type类型是all,说明sql语句需要优化。...出现Using filesort说明MySQL对结果使用一个外部索引排序,而不是从表里按索引次序读到相关内容,有索引就维护了B+树,数据本来就已经排好序了,这说明根本没有用到索引,而是数据读完之后再排序...也有人将MySQL中无法利用索引的排序操作称为“文件排序”。...执行计划 我们看一下优化器默认使用唯一索引大致执行时间676ms 强制使用主键索引大致执行时间779ms 我们可以用force index强制指定索引,然后去分析执行计划看看哪个索引是更好的,因为查询优化器选择索引不一定是百分百准确的

    98720

    从 50ms 到 ms:IM 系统性能优化实战

    从50ms到ms:IM系统性能优化实战在IM系统中,响应时间直接影响体验。本文介绍AQChat如何将消息发送响应时间从50ms优化到ms。...10-20ms降到异步ms消息持久化:从同步20-30ms降到异步ms总响应时间:从50ms降到ms优化方案二:Redis缓存核心思路:用Redis缓存热点数据,减少数据库查询。...=null&&messageIds.contains(msgId);}}优化效果:用户信息查询:从数据库5-10ms降到Redisms房间信息查询:从数据库5-10ms降到Redisms消息去重...从50-80ms降到ms,提升约10-16倍吞吐量:从每秒20条消息提升到每秒200+条消息CPU使用率:降低约40%(Protobuf序列化更快)数据库压力:降低约80%(Redis缓存)六、优化总结优化策略总结...序列化协议选择对性能影响显著5.性能优化需要持续监控和调整通过以上优化,AQChat的响应时间从50ms降到ms,用户体验得到明显提升。

    35710

    SQL优化深潜:从500ms到5ms,我们如何重构索引设计实现数据库性能飙升

    我们不仅会解释B+树索引的底层工作原理,还会分享一套可落地的“索引三步走”方法论,帮助你从根源上解决SQL性能顽疾。核心技术分析要优化SQL,必须先理解数据库是如何执行查询的。...覆盖索引是指查询所需的所有字段都包含在索引中,这样数据库无需回表,直接从索引返回数据,性能提升巨大。...索引下推则是MySQL5.6引入的特性,它能在索引遍历过程中,先过滤掉不符合条件的记录,减少回表次数。掌握这些原理,你就拥有了用代码而非硬件解决问题的底层能力。...通过EXPLAIN命令发现,MySQL只选择了idx_user_id,过滤出该用户的数万条记录后,再逐一回表检查status条件,最后在内存中对create_time进行文件排序(Usingfilesort...从查询计划来看,type字段从ref变为range,Extra字段中的Usingfilesort消失,取而代之的是Usingindex。

    32410

    插入一个MySQL 及 SQL 防止注入

    如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题。 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入的字符。...所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。...以下实例中,输入的用户名必须为字母、数字及下划线的组合,且用户名长度为 8 到 20 个字符之间: if (preg_match("/^\w{8,20}$/", $_GET['username'], $...情况: // 设定$name 中插入了我们不需要的SQL语句 $name = "Qadir'; DELETE FROM users;"; mysqli_query($conn, "SELECT * FROM...users WHERE name='{$name}'"); 以上的注入语句中,我们没有对 $name 的变量进行过滤,$name 中插入了我们不需要的SQL语句,将删除 users 表中的所有数据。

    2K00

    MySQL索引优化填坑实录:从1秒到50ms,再到28ms的踩坑与填坑

    二、如何检测到坑 通过数据库监控工具 DBdoctor 可以看到: IO 异常 具体的 SQL 语句 修复建议 三、根因SQL分析:先找到坑在哪 3.1 问题SQL SELECT id,...代价消耗 cost 从 10385.3 降至 430.01,SQL 性能提升 2315.13%。...4.2 填坑效果 查询耗时:50ms 4.3 执行计划验证 执行计划 字段 值 含义 id 1 查询中的第1个SELECT select_type SIMPLE 简单查询,不包含子查询或UNION table...六、填坑路径总结 阶段 耗时 filtered 坑的状态 优化前 ~1s - 全表扫描,大坑 单列索引 ~50ms 5.56% 填了一半,还有回表坑 复合索引 ~28ms 55.55% 基本填平,推荐长期方案...MySQL 的坑:OR + 两个范围列无法同时在索引中高效利用。 方案A:接受现状(推荐,如果性能已满足) 当前 50ms 已很好,复合索引已大幅优化。

    16310

    【数据库】MySQL:从基础到高级的SQL技巧

    一、简单的数据查询 在 MySQL 中,字段查询是通过 SELECT 语句从表中检索某个或某些字段的数据。你可以通过指定字段名、条件、排序等来灵活查询表中的数据。...以下是 MySQL 中常见的字段查询方式和操作示例: (一)查询单个字段 如果只需要查询表中的某一个字段,可以在 SELECT 语句中指定该字段的名称。...五、连接查询 MySQL的连接查询用于从多个表中查询相关数据。在数据库设计中,通常会把相关的数据分布在不同的表中,连接查询能够把这些表的数据组合起来,实现跨表查询。...六、总结 本篇文章对MySQL数据查询进行了详细讲解,从最基础的字段查询、条件查询、排序和分页,到更复杂的聚合函数、分组查询以及多表连接等操作,覆盖了MySQL查询中的常见场景和技巧。...通过这些SQL语句的灵活使用,可以更加高效地进行数据检索、分析与处理,提升开发效率。掌握这些SQL查询技巧,可以为实际项目中的数据库操作奠定坚实基础,帮助开发者轻松应对复杂的数据操作需求。

    2.2K10

    vim 从嫌弃到依赖(6)——插入模式

    插入模式是vim中主要用来处理输入的一种模式,在这种模式中,用户的输入的字符会显示在窗口中。该模式中的行为与在普通编辑器中输入类似。...由于在该模式中输入的字符会被当做有效输入,因此该模式下涉及的到命令也少,内容也不多,这一篇文章差不多就能讲完 进入插入模式的一些命令 在前面几节我们在介绍一些例子的时候或多或少接触到了如何进入插入模式,...普通模式 从插入模式返回到普通模式可以使用 \ 键,或者使用 , 但是在某些情况下我主要的经历还是集中在编写代码或者文档上面,之前也说过vim 作为编辑器应该要符合人的一般使用习惯...假设我在写文档或者写代码的时候光标已经到窗口的最后一行了,但是我想将光标定位到窗口中央,一般都会先退回到普通模式,然后使用前面介绍过的 zz来完成这一动作,最后再进入插入模式。...如果加入了自动缩进的属性,在输入下一行的时候它会自动以4个空格进行缩进 到这里,插入模式下的一些内容都介绍完了,插入模式主要用来做文本输入,与在其他编辑器中输入文本相比并没有太大的区别,所以内容比较少,

    1.2K40
    领券