全部文章

随笔分类 -  mysql

摘要:学习目标:了解实体之间的关联关系,掌握多表操作的方式和解决的需求问题 联合查询 连接查询 子查询 示例 不管是大型还是小型项目,一个数据库里都会有N张表,表之间也通过一对一、多对一或者多对多关系进行关联:如新闻管理系统 作者表:id、用户名、密码 新闻表:id、标题、内容、发布时间、作者id 显示新 阅读全文
posted @ 2020-08-16 21:51 指尖下的世界 阅读(581) 评论(0) 推荐(0)
摘要:学习目标:掌握常见的SQL高级操作,主要集中在数据操作(增删改查),基于基础操作之上实现一些复杂业务的数据操作 数据新增 多数据插入 蠕虫复制 主键冲突 查询数据 查询选项 别名 数据源 where子句 group by子句 having子句 order by子句 limit子句 更新数据 限制更新 阅读全文
posted @ 2020-08-14 23:49 指尖下的世界 阅读(746) 评论(0) 推荐(0)
摘要:3.1 复制概述 复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。 3.2 复制原理 MyS 阅读全文
posted @ 2020-07-31 22:25 指尖下的世界 阅读(175) 评论(0) 推荐(0)
摘要:2. Mysql 日志 在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外,在 MySQL 中,有 4 种不同的日志,分别是错误日志、二进制日志(BINLOG 日志)、查询日志和慢查询日志,这些日志记录着数据库 阅读全文
posted @ 2020-07-31 21:12 指尖下的世界 阅读(150) 评论(0) 推荐(0)
摘要:注意,这里所说的客户端工具就是指我们在没有登录到数据库之前我们可以运行的命令 1.1 mysql 该mysql不是指mysql服务,而是指mysql的客户端工具。 语法 : mysql [options] [database] 1.1.1 连接选项 参数 : -u, --user=name 指定用户 阅读全文
posted @ 2020-07-31 12:45 指尖下的世界 阅读(378) 评论(0) 推荐(0)
摘要:幻读!幻读!!幻读!!!幻TMD读!!!!!! 真的把我搞晕了,为了不让其他未来之星看到幻读头大,我这里要把幻读搞得明明白白,给大家看!(虽然现在是凌晨了...) 概念:事务A的两次读之间有其他事务写操作,比如事务A统计年龄 > 30,当A两次读数据之间其他事务新添加了记录, 所以事务A第二次读取到 阅读全文
posted @ 2020-07-31 00:44 指尖下的世界 阅读(257) 评论(0) 推荐(0)
摘要:6.1 SQL执行顺序 编写顺序 SELECT DISTINCT <select list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY < 阅读全文
posted @ 2020-07-30 22:02 指尖下的世界 阅读(403) 评论(0) 推荐(0)
摘要:5. Mysql锁问题 5.1 锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。 在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据 阅读全文
posted @ 2020-07-30 19:13 指尖下的世界 阅读(231) 评论(0) 推荐(0)
摘要:1. 应用优化 前面章节,我们介绍了很多数据库的优化措施。但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力。 1.1 使用连接池 对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立 数据 阅读全文
posted @ 2020-07-30 17:28 指尖下的世界 阅读(186) 评论(0) 推荐(0)
摘要:5.1 大批量插入数据 参考:https://www.cnblogs.com/luzhanshi/p/13392286.html 5.2 优化insert语句 当进行数据的insert操作的时候,可以考虑采用以下几种优化方案。 如果需要同时对一张表插入很多行数据时,应该尽量使用多个值表的insert 阅读全文
posted @ 2020-07-29 00:08 指尖下的世界 阅读(239) 评论(0) 推荐(0)
摘要:索引是数据库优化最常用也是最重要的手段之一, 通过索引通常可以帮助用户解决大多数的MySQL的性能优化问题。 4.1 验证索引提升查询效率 在我们准备的表结构tb_item 中, 一共存储了 300 万记录; 1). 根据ID查询 select * from tb_item where id = 9 阅读全文
posted @ 2020-07-28 23:02 指尖下的世界 阅读(242) 评论(0) 推荐(1)
摘要:1.load方式导入本地数据 1.环境准备 创建表: CREATE TABLE `tb_user_2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NULL, `password` varchar(96) NO 阅读全文
posted @ 2020-07-28 17:17 指尖下的世界 阅读(3526) 评论(0) 推荐(0)
摘要:3.1 查看SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连 阅读全文
posted @ 2020-07-28 11:56 指尖下的世界 阅读(523) 评论(0) 推荐(0)
摘要:这里所说的命令都是在登录mysql之后我们可以运行的mysql命令(也就是写在mysql>之后的命令) 另外还有一类命令是未登录mysql时所使用的命令,我们叫做客户端工具,可以参考:https://www.cnblogs.com/luzhanshi/p/13409045.html 1.连接登录 m 阅读全文
posted @ 2020-07-26 23:04 指尖下的世界 阅读(501) 评论(0) 推荐(0)
摘要:2.1 存储引擎概述 和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的。所以存储引擎也可被称为表类型。 Oracle,SqlServer等数据库 阅读全文
posted @ 2020-07-26 23:02 指尖下的世界 阅读(367) 评论(0) 推荐(0)
摘要:整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & Utilities : 管理服务和工具组件 SQL Interface : SQL接口组件 Parser : 查询分析器组件 Optimizer : 优化器组件 Cac 阅读全文
posted @ 2020-07-26 20:14 指尖下的世界 阅读(133) 评论(0) 推荐(0)
摘要:5.1 介绍 触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。 使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容 阅读全文
posted @ 2020-07-26 19:10 指尖下的世界 阅读(390) 评论(0) 推荐(0)
摘要:4.1 存储过程和函数概述 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程和函数的区别在于函数必须有返回值,而存储过程没有。 函数 : 是 阅读全文
posted @ 2020-07-26 19:04 指尖下的世界 阅读(255) 评论(0) 推荐(0)
摘要:3.1 视图概述 视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 视图相对于普通的表的 阅读全文
posted @ 2020-07-26 11:20 指尖下的世界 阅读(179) 评论(0) 推荐(0)
摘要:2.1 索引概述 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。如下面的==示意图= 阅读全文
posted @ 2020-07-25 22:29 指尖下的世界 阅读(253) 评论(0) 推荐(0)