数据库技术文章/教程

MS SQL Server 或者 Oracle 用于高流量的数据库驱动型网站。MySQL用于低成本的数据库访问。MS Access 用于低流量的网站。最常见的是 MS Access、MySQL、SQL Server 以及 Oracle。

MySQL explain根据查询计划去优化SQL语句

目录 一、什么是MySQL explain 二、如何使用MySQL explain MySQL是一种常见的关系型数据库管理系统,常被用于各种应用程序中存储数据。当涉及到大量的数据时,数据库查询的性能就成了关键因素,这时就需要MySQL的explain功能来帮助优化查询语句。本文将详细介绍MyS »

oracle中sql 正则写法详解

目录 在Oracle 10g及以下版本中,可以使用POSIX扩展来进行正则匹配 Oracle 11g及以上版本 是否走索引 Oracle中使用正则表达式需先使用REGEXP_LIKE函数来匹配字符串。正则表达式的语法与一般正则表达式相似,但具体的写法也受不同版本的Oracle环境不同。 在 »

MySQL学习之SQL语法及SQL解析顺序

目录 SQL语言分类  SQL语法顺序和解析顺序 FROM ON OUTER JOIN WHERE GROUP BY HAVING SELECT DISTINCT ORDER BY LIMIT SQL(Structured Query Language)是一种标准,作为一种访问【关系型数据库的 »

MySQL学习之SQL语法及SQL解析顺序

目录 SQL语言分类  SQL语法顺序和解析顺序 FROM ON OUTER JOIN WHERE GROUP BY HAVING SELECT DISTINCT ORDER BY LIMIT SQL(Structured Query Language)是一种标准,作为一种访问【关系型数据库的 »

MySQL调优之SQL查询深度分页问题

目录 一、问题引入 二、MySQL中的limit用法 三、深度分页优化策略 方法一:用主键id或者唯一索引优化 方法二:利用索引覆盖优化 方法三:基于索引再排序 方法四:基于索引使用prepare 方法五:利用"子查询+索引"快速定位数据  方法六:利用复合索引进行优化 一、问题引入 »

MySQL调优之SQL查询深度分页问题

目录 一、问题引入 二、MySQL中的limit用法 三、深度分页优化策略 方法一:用主键id或者唯一索引优化 方法二:利用索引覆盖优化 方法三:基于索引再排序 方法四:基于索引使用prepare 方法五:利用"子查询+索引"快速定位数据  方法六:利用复合索引进行优化 一、问题引入 »

MySQL内连接和外连接及七种SQL JOINS的实现

目录 1. 内连接 2.外连接 左外连接: 右外连接: 满外连接: 3. SQL99语法实现多表查询 3.1 SQL99实现内连接 3.2 SQL99语法实现外连接 3.2.1 左外连接 3.2.2 右外连接 3.2.3 满外连接 4.总结:七种SQL JOINS的实现 4.1 内连 »

IDEA连接MySQL数据库并执行SQL语句使用数据图文详解

目录 一、IDEA连接MySQL数据库 (一)首先新建普通Java项目 (二)连接数据库 二、使用数据库的数据 (一)新建Java类 Test (二)下载MySQL驱动Jar包 (三)返回IDEA,新建文件夹lib (四)非常重要(添加到库) (五)编写Test类 (六)运行主函数,得到数据 »

IDEA连接MySQL数据库并执行SQL语句使用数据图文详解

目录 一、IDEA连接MySQL数据库 (一)首先新建普通Java项目 (二)连接数据库 二、使用数据库的数据 (一)新建Java类 Test (二)下载MySQL驱动Jar包 (三)返回IDEA,新建文件夹lib (四)非常重要(添加到库) (五)编写Test类 (六)运行主函数,得到数据 »

java通过MySQL驱动拦截器实现执行sql耗时计算

目录 背景 具体实现 MySQL5 MySQL6 MySQL8 使用方法 测试结果 背景 公司的一个需求,公司既有的链路追踪日志组件要支持MySQL的sql执行时间打印,要实现链路追踪常用的手段就是实现第三方框架或工具提供的拦截器接口或者是过滤器接口,对于MySQL也不例外,实际上就是 »

java通过MySQL驱动拦截器实现执行sql耗时计算

目录 背景 具体实现 MySQL5 MySQL6 MySQL8 使用方法 测试结果 背景 公司的一个需求,公司既有的链路追踪日志组件要支持MySQL的sql执行时间打印,要实现链路追踪常用的手段就是实现第三方框架或工具提供的拦截器接口或者是过滤器接口,对于MySQL也不例外,实际上就是 »

mysql全连接和oracle全连接查询、区别及说明

目录 mysql全连接和oracle全连接查询区别 oracle中的全连接问题 总结 mysql全连接和oracle全连接查询区别 oracle的全连接查询可以直接用full on,但是在mysql中没有full join,mysql使用union实现全连接 oracle的全连接 se »

mysql实现按组区分后获取每组前几名的sql写法

目录 一、创建表,插入相关测试数据 二、查询每科成绩前三的记录 三、查询学生各科分数大于等于90分的记录 1. 第一种写法:正向思考 2. 第二种写法:逆向思考 总结 遇到一个场景,要把数据分组,然后获取每组前10条数据,首先我想到用group by分组,但是难点是分组后怎么知道该数据在 »

mysql实现按组区分后获取每组前几名的sql写法

目录 一、创建表,插入相关测试数据 二、查询每科成绩前三的记录 三、查询学生各科分数大于等于90分的记录 1. 第一种写法:正向思考 2. 第二种写法:逆向思考 总结 遇到一个场景,要把数据分组,然后获取每组前10条数据,首先我想到用group by分组,但是难点是分组后怎么知道该数据在 »

服务器上的mysql实现读取sql文件

目录 服务器上的mysql读取sql文件 将sql文件导入服务器的mysql 获取本地sql文件 将sql上传到服务器 导入服务器mysql 总结 服务器上的mysql读取sql文件 1.输入命令mysql -u root -p-A,再输入密码, -A是进入一种模式,防止表过大没法 »

服务器上的mysql实现读取sql文件

目录 服务器上的mysql读取sql文件 将sql文件导入服务器的mysql 获取本地sql文件 将sql上传到服务器 导入服务器mysql 总结 服务器上的mysql读取sql文件 1.输入命令mysql -u root -p-A,再输入密码, -A是进入一种模式,防止表过大没法 »

mysql一次将多条不同sql查询结果并封装到一个结果集的实现方法

目录 前言 问题处理过程 1.使用union all进行并列查询 2.求和处理 总结 前言 最近遇到一个统计查询需求,要求一次性查询多个统计信息,其中两个查询信息不在一个表中,也没有业务关联,表中也没有做连接处理。不考虑产品设计是否合理,完全是实际需求如此,需要一次性查询出来返回给前 »

MySQL数据更新操作的两种办法(数据可视化工具和SQL语句)

目录 数据更新有两种办法: 添加数据 插入数据 删除数据 修改数据 mysql千万级数据量更新操作 总结 数据更新有两种办法: 1:使用数据可视化工具操作 2:SQL语句 添加数据 前面的添加数据命令一次只能插入一条记录。如果想一次插入多条记录怎么办呢? 可以将子查询的结果,以集 »

MySQL数据更新操作的两种办法(数据可视化工具和SQL语句)

目录 数据更新有两种办法: 添加数据 插入数据 删除数据 修改数据 mysql千万级数据量更新操作 总结 数据更新有两种办法: 1:使用数据可视化工具操作 2:SQL语句 添加数据 前面的添加数据命令一次只能插入一条记录。如果想一次插入多条记录怎么办呢? 可以将子查询的结果,以集 »

MySQL索引失效原因以及SQL查询语句不走索引原因详解

目录 前言 1. 隐式的类型转换,索引失效 2. 查询条件包含 or,可能导致索引失效 3. like 通配符可能导致索引失效 4. 查询条件不满足联合索引的最左匹配原则 5. 在索引列login_time上使用 mysql 的内置函数 6. 对索引列age进行列运算(如,+、-、*、/), 索引 »