![](https://img-blog.csdnimg.cn/0a5e402790154ee39b38af62a1a427fc.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MYSQL剑客传:征战数据江湖
文章平均质量分 92
MySQL是一个小型的开源的关系型数据库管理系统,与其他大型数据库管理系统例如Oracle、DB2、SQL Server等相比,MySQL规模小,功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用已经够用,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。
进击的雷神
CSDN博客专家、担任过EMV软件工程师、嵌入式软件工程师、JAVA开发工程师、测试开发工程师、某公司测试组长,有自己的测试专利
展开
-
SQL自学通之函数 :对数据的进一步处理
这些函数将大大加强你对这一周的早些时间所学习的 SQL 的基本功能所获得的数据的操作能力 开始的五个汇总函数 COUNT SUM AVG MAX MIN 是由 ANSI 标准 所制定的 大多数的SQL解释器都对汇总函数进行了扩充 其中有一些今天会提到 在有 些解释器这汇总函数的名称与这里所提到的不一样。这是 SUBSTR 的另一个非常有用的功能 倘若你需要打印一个报表而其中一些列的宽度超 过了 50 个字符时 你可以使用 SUBSTR 来减小列宽以使它更接近数据的真实宽度 请看 一个下面的这两个例子。原创 2023-12-11 10:03:28 · 1088 阅读 · 0 评论 -
SQL自学通之表达式条件语句与运算
在第二天我们学习了使用SELECT语句和FROM语句来对数据进行有趣味性 也是非常有 用的 运算 在今天我们将对昨天学习的进行进一步的扩充 我们将把新的方法应用到查 询 表和行中 引进新的子句和被称为运算的批量处理方法 在第三天的阳光下 你将学会:知道什么叫作表达式以及如何来使用它们知道什么叫作条件语句以及如何来使用它们熟悉基本的子句 WHERE 的使用可以用算术 比较 字符和逻辑表达式来建立一个运算 学会将多种不同的运算结合在一起使用。原创 2023-12-04 16:56:51 · 1314 阅读 · 0 评论 -
SQL自学通之查询--SELECT语句的使用
在第一天中我们简要地介绍了关系型数据库系统所具有的强大功能 在对 SQL 进行了 简要的介绍中我们知道了如何同它进行交流 最终 我们将会与计算机用一种非常清楚 果断的话说 给我看一下所有在本公司中工作十年以上 左撇子 蓝眼睛的外国人 如 果你能够这样做 与计算机交流 而不是查他们的档案 每一个人都可以用他自己的方法 来达到目的 但是你却是用SQL的一种重要功能— —查询来达到目的。语句的格式变更不会对输出的结果造成影响 现在你已经知道了如何对输出的结果进 行排序 试着将表格的列按照你的要求进行排序。原创 2023-12-03 10:01:53 · 1230 阅读 · 0 评论 -
SQL自学通之简介
客房机/服务器系统就是把单一的任务分解到多个处理器上进行协同处理,就像在单个处理器上运行时一样,一个完备的客户机/服务器系统可以将多个处理器捆绑在一起,以提供一个单一系统虚拟环境 共享的资源可以被位于远端的客户机通过特殊的服务来访问,这种结构可以逐级递归 所以一级服务器可以在最后转变为客户机进需 要求其他的服务器提供服务 就这样一直下去。原创 2023-12-02 10:12:47 · 1058 阅读 · 0 评论 -
MySQL查询语句练习题,测试基本够用了
【代码】MySQL查询语句练习题,测试基本够用了。原创 2023-11-11 05:30:00 · 783 阅读 · 0 评论 -
【数据库事务日志碎片原理分析与方案】-深入解析篇.pdf
说实在的,我还真 不好说了,但是可以这样思考:如果是你设置日志文件的大小和 VLF,你会根据我们之 前告诉大家的方法来设置 VLF 的个数(例如,每次增加 1GB 的日志文件,增加 8 个 VLF),得到你设置的 VLF 的个数,然后比较现在的 VLF 个数,如果两个数据之间相差 的十几倍以上,那么就可能存在 VLF 问了,就需要整理碎片了。另外,也不是说:自动增长就是罪恶的,只要用的合适,依然不错,而且它还是 保护措施,特别是当我们把日志的增长速度估算错误的时候,自动增长可以来帮助我们弥 补这个问题。原创 2023-09-09 06:30:00 · 112 阅读 · 0 评论 -
【数据库事务日志碎片原理分析与方案】-分析篇
我们现在试想一下:如果 T2 事务一直提交,而新的事务不断的在开启,那么最后的结果 就是 VLF1-4 中都包含活动日志,使得所以的 VLF 都是活动的,如果 VLF4 已经空间写完, 此时数据库发现它不能循环的写入,即不能再从 VLF1 开始写,因为 VLF1 是活动的,这个 时候,数据库就分配新的空间,分配新的 VLF,然后再写入。确实,原本应该是这样的,但是在 T3 之后,又开始了 T4,而且还没有提交,从而使得 T3 处于没有提交的事务 T2 和 T4 之间,导致这一连串的都成为“活动的“。原创 2023-09-08 05:30:00 · 338 阅读 · 0 评论 -
查询优化器内核剖析之从一个实例看执行计划
如果查询是个需要消耗很长时间,很多资源 的查询,我们在分析问题的时候,会先查看这个查询估计的执行计划,并且这样做也不会对使用 数据库的其他用户产生影响。不带头脑的优化,能好到那里去?学习查询优化器不是我们的目的,而是通过 它,我们掌握 SQL Server 是如何处理我们的 SQL 的,掌握执行计划,掌握为什么产生 I/O 问题, 为什么 CPU 使用老高,为什么你的索引加了不起作用...我们可以以很多的不同的方式,例如图形化,文本,XML 的形式来查看一个给定查询的实 际的执行计划和估计的执行计划。原创 2023-09-04 05:30:00 · 152 阅读 · 0 评论 -
查询优化器内核剖析之查询的执行与计划的缓存 & Hint 提示
而对于参数 值为 870 的时候,在表中的存在相同的 ProductId 为 870 的数据很少,这个时候,如果采用索引 查找,可能会更快,那么就说明之前的执行计划中的整表扫描不适合了!注意:一般情况下,我们没有必要去干扰查询优化器的工作,因为它会已经足够的“智能” 去选择更好的执行计划,除非我们非常有信心,并且证明我们用一些 Hint 会提升性能,这个时候, 我们可以加入 Hint。但是,在有些情况下,查询优化器选择的执行计划没有达到预期的效果,或者说,查询优 化器做出了错误的选择。原创 2023-09-03 06:00:00 · 184 阅读 · 0 评论 -
查询优化器内核剖析之产生候选执行计划&执行计划成本估算
为了得到最好的计划,查询优化器必须在某些条件的限制下,尽可能多的创建和评估大量 的候选执行计划。然而,一些复杂的查询可能有成千 上万,或者甚至数百万可能的执行计划,查询优化器不可能去产生并评估一个查询的每一个候选 的执行计划,如果那样,评估所有计划的时间会非常的长,并且严重影响查询的整体的执行时间。即使是一个非常简单的查询,也会存在很多的不同方式去访问数据,而这些不同的方式都是可以 得到相同的结果的,所以,查询优化器必须要很“明智的”从这些大量的执行计划中找出了一个 “最佳”的出来。原创 2023-09-02 06:00:00 · 217 阅读 · 0 评论 -
查询优化器内核剖析第一篇
实际上, 因为查询优化器不可能对每一个产生的候选计划进行优化,所以查询优化器会在优化时间和查询 计划的质量之间进行一个平衡,尽可能的选择一个“最优”的计划。1. Parsing 和 Binding(解析与绑定):在一个查询提交给了数据库之后,首先就要被进行 语法的解析,如果这个查询的语法是没有问题的,那么这个 Parsing 过程的输入结果就 是一个逻辑树,在这个逻辑树种每一个节点都表示了这个查询进行的每个操作,例如 读取某个表,进行 inner join 等。查询的执行与计划的缓存。原创 2023-09-01 06:00:00 · 200 阅读 · 0 评论 -
SQL Server 和 MySql 语法和关键字的区别
(13) select @a=count(*) from VW_Action 在mySql中修改为:select count(*) from VW_Action into @a;4MySQL dayof... 函数:dayofweek(), dayofmonth(), dayofyear()分别返回日期参数,在一周、一月、一年中的位置。9MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)%u 星期(0……原创 2023-08-31 06:00:00 · 374 阅读 · 0 评论 -
SQLServer与MySql区别(关键字和语法)
(13) select @a=count(*) from VW_Action 在mySql中修改为:select count(*) from VW_Action into @a;4MySQL dayof... 函数:dayofweek(), dayofmonth(), dayofyear()分别返回日期参数,在一周、一月、一年中的位置。9MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)6=Saturday )原创 2023-08-31 06:00:00 · 345 阅读 · 0 评论 -
系统理解SQL语句
假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),你可以用BETWEEN 或者数学等式选出第一条记录和适当数量的递增记录。select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)原创 2023-08-30 06:00:00 · 252 阅读 · 0 评论 -
一些经典的SQL语句
10、select table1.id from table1,table2,(select id from table3) as t3 where table1.id=table2.id and table2.id=t3.id '有些类似。8、select table1.id from table1 where not exists (select table2.id from table2 where table1.id=table2.id) '这个应该比not in快。原创 2023-08-29 05:30:00 · 312 阅读 · 0 评论 -
SQL高级知识点
select * from 表名 where 条件 order by 字段 limit 起始值,条数;select * from 学生表 where 姓名 like '%小%';select * from 学生表 where 姓名 like '张%';select * from 表名 where 条件 order by 字段;select * from 表名 where 字段 like '%_内容';select * from 表名 where 字段 in (select语句);原创 2023-08-28 06:00:00 · 508 阅读 · 0 评论 -
数据库中的中英文术语大全
(注:颜色相同表示同一概念的不同名称)分组函数(多行函数,聚集函数)内连接(通常意义上的有效连接)合集(重复数据多次显示)索引(默认为B树索引)三、DML和事务控制。原创 2023-05-28 09:48:31 · 3715 阅读 · 0 评论 -
Mysql函数大全
提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。计算并返回加密后的字符串密码,注意这个函数的加密是单向的(不可逆),因此不应将它应用在个人的应用程序中而应该只在。给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数,地址可以使。服务器验证的用户名和主机的组合,一般这几个函数的返回值是相同的。返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为。前者返回指定日期中的月份,后者返回指定日期中的月份的名称。原创 2023-05-28 09:49:02 · 2633 阅读 · 0 评论 -
Mysql基础语法理论大全
- 如果是BLOB,TEXT数据类型,必须制定length。VALUES(20205,'王小明',19,'女','经济系','510839199810106670',1001);VALUES(20205,'王小明',19,'女','经济系','510839199810106671',1001);(20506,'张文斌',18,'女','外语系','510639199905183452',1005),(20507,'张文',18,'男','外语系','510639199905183433',1005),原创 2023-05-28 09:04:52 · 3113 阅读 · 0 评论 -
只此一篇,让你掌握Mysql所有语法及用法
- 查询emp表中各个职位的薪水总和,只查询薪水总和大于5000的职位,且职位不是SALES开头的,并按照薪水总和降序排列。-- 查询emp表中各个职位的薪水总和,只查询薪水总和大于5000的职位,且销售部(dept表)除外,并按照薪水总和降序排列。-- 索引虽然提高了查询速度,同时却会降低更新表的速度,因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。-- 在编程语言中,函数是为了实现特定功能的小程序,在很多高级语言中,都有一些给定的函数,也可以自己编写函数。原创 2023-06-02 09:29:51 · 1158 阅读 · 0 评论 -
MAC 中 启动Mysql 报错 The server quit without updating PID
一、系统配置信息:系统 macOS bigSur 11.6mysql 8.0.26二、启动MySql服务:sudo /usr/local/mysql/support-files/mysql.server start错误信息如下:Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/jinjideleishen.local.pid).解决命令mac 默认用原创 2022-01-26 10:53:34 · 4373 阅读 · 0 评论 -
常用数据库比较全面的实战及语法
一、前言sql的核心语法无法增删改查,排序分组,核心和重点在于对多表联合查询的组合及应用,下面就以一个常用的学生表的例子去实战和让大家巩固掌握下多表查询的语法和精妙。二、数据准备准备如下两张表提供学习和使用:1、学生表student2、成绩表三、 实战规则:查啥select后先跟啥,主键关联找条件1.查询所有学生的数学成绩,显示学生姓名 name, 分数, 由高到低(排序order by用法)语句:SELECT s.`name`, g.score ..原创 2021-07-23 11:20:08 · 660 阅读 · 1 评论 -
mysql必知必会重点总结
数据库表的创建说明:https://blog.csdn.net/duhena0384/article/details/80396542数据库创建表详细说明:https://www.jianshu.com/p/cf2765fad21f一、数据库1.选择数据库 crashcourse为数据库名USE crashcourse;2.显示数据库SHOW DATABASES;3.显示表SHOW TABLES...原创 2018-07-07 21:15:05 · 821 阅读 · 1 评论 -
记住,永远不要在MySQL中使用“utf8”编码
原创: 无明、Adam 聊聊架构 6月15日最近工作中我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的 MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇的错误:Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1我用的是 UTF-8 编码的客户端,服务器也是...转载 2018-07-03 21:20:09 · 428 阅读 · 0 评论 -
mysql数据库整理之增删改查
1. 创建数据库 create database 数据库名;CREATE DATABASE mybase;2.使用数据库 use 数据库名例如:USE mybase;3. 创建数据表的格式 create table 表名( 列名1 数据类型 约束, 列名2 数据类型 约束, 列名3 数据类型 约束 );例如: ...原创 2018-06-03 20:14:06 · 586 阅读 · 2 评论 -
count(*)这么慢,我该怎么办
https://www.evernote.com/shard/s54/client/snv?noteGuid=72a67690-55fd-4c3e-82d8-dacbc6496a43&noteKey=a35b6ec681924bab&sn=https%3A%2F%2Fwww.evernote.com%2Fshard%2Fs54%2Fsh%2F72a67690-55fd-4c3e-8...转载 2018-12-27 16:17:31 · 236 阅读 · 0 评论 -
SQL入门进阶级别常用语句语法整理
一、SQL SELECT DISTINCT 语句在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。语法:SELECT DISTINCT 列名称 FROM 表名称二、特殊常用运算符1、不等运算符<>或!=语法:SELECT 列名称 FROM 表名称 WHERE 列 <> 值2、BETWEEN 在某个范围(包含边界值),操作符 BETWEEN ....原创 2020-05-13 18:01:49 · 2476 阅读 · 1 评论 -
关于防止sql注入问题
0. SQL注入简介SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。注入攻击的总体思路寻找到SQL注入的位置判断服务器类型和后台数据库类型针对不通的服务器和数据库特点进行SQL注入攻击1. SQL注入原理以登录账号为例,要求我们输入账号(userName)和密码(pass...原创 2019-01-08 11:01:26 · 433 阅读 · 1 评论