![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
肥茹
这个作者很懒,什么都没留下…
展开
-
mysql快速生成1000万的测试数据
用Navicat直接运行更直观看到数据变化。原创 2024-03-01 10:02:47 · 301 阅读 · 0 评论 -
常用mysql语句
创建数据库CREATE TABLE `user` ( `id` INT ( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR ( 255 ) DEFAULT NULL COMMENT '姓名', `tel` VARCHAR ( 30 ) DEFAULT NULL COMMENT '手机号', `create_time` INT ( 11 ) DEFAULT NULL COMMENT '创建时间',PRIMARY KEY ( `id`原创 2022-02-17 10:13:44 · 334 阅读 · 0 评论 -
SQLSTATE[HY000] [2002] Connection refused
在docker搭建的mysql拒绝连接进入到mysql容器docker exec -it mysql bashmysql -uroot -proot原创 2021-06-15 22:29:10 · 1248 阅读 · 0 评论 -
mysql 统计某一列的值出现的次数
select count(id) as num,ziduan from table GROUP BY ziduan ORDER BY num desc统计ziduan里面的值分别出现了多少次原创 2021-05-20 17:28:46 · 969 阅读 · 0 评论 -
MySQL执行流程
客户端:PHP JAVA Navicat服务端:连接层:主要用于程序的连接判断用户密码校验 校验后会分配一个线程管理这个连接 查询用户的权限=》对表的操作权限 返回连接的id优化器+解析器+查询缓存=》 sql层:处理优化的sql语句,有自己的执行计划先判断sql的语句类型(query,dml【update,insert,delete】,ddl【alter】修改表的语句),rep,status 查询表的状态 如果是query类型,判断是否开启缓存,命中缓存 ,直接返回缓存 .原创 2020-09-03 22:59:06 · 77 阅读 · 0 评论 -
MySQL 聚集索引和非聚集索引的区别
根本区别聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致。聚集索引聚集索引表记录的排列顺序和索引的排列顺序一致,所以查询效率快,只要找到第一个素引值记录,其余就连续性的记录在物理也一样连续存放。聚集索引对应的缺点就是修改慢,因为为了保证表中记录的物理和索引顺序一致,在记录插入的时候,会对数据页重新排序。聚集索引类似于新华字典中用拼音去查找汉字,拼音检索表于书记顺序都是按照a~z排列的,就像相同的逻辑顺序于物理顺序一样非聚集索引非聚集素引制定了表..原创 2020-09-03 11:06:08 · 362 阅读 · 0 评论 -
MySQL的事务基础理论与锁的理解
1. 事务基础概论事务比较常用于订单的生成,或者是支付,像这样一些涉及到支付,金额的场景都可以使用事务去避免一些异常而导致用户数据异常。在代码中通常会使用try{}catch{}捕获异常的语句来配合事务使用。如果捕获到异常可以直接回滚整个事务,否则正常提交。即保证数据的一致性,原子性:要么都做,要么不做事务的特性:1. 事务要求 ACID 的特性,即:原子性、、一致性、、隔离性、、持久性。2. 原子性:要么执行成功,要么执行失败。3. 一致性:将数据库从一种一致性状态转换为下一种一致性状.原创 2020-05-17 23:31:02 · 131 阅读 · 0 评论 -
MySQL事务隔离级别的类型
1. 事务隔离级别类型以及序列化介绍事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。 在并发下事务会容易出现一些问题:脏读 :一个事务开始读取了某行数据,另外一个事务已经更新了此数据但没有能够及时提交。这是相当危险的,因为很可能所有的操作都被回滚。个人理解:开启两个事务查询同一条数据,第一个事务查询了并更新了数据,但是没有提交,第二个事务查询的却是第一个事务已经更新的数据,没有提交事务却读到了更新后的数据,所以这就.原创 2020-05-21 22:56:00 · 159 阅读 · 0 评论 -
MySQL读写IO的操作过程解析
数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问MySQL数据库的IO流程以及IO相关的参数。一、MySQL的文件首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下几种文件类型:1)数据文件 (datafile)存放表中的具体数据的文件。2)数据字典记录数据库中所有innodb表的信息。3)重做日志 (redolog)记录数据库变更记录的文件,用于系统异常crash(转载 2020-06-02 22:09:12 · 948 阅读 · 0 评论 -
mysql之explain 分析sql语句
EXPLAIN SELECT * FROM 表名rows (估算) =>这个是MYSQL在改优化器的执行方案中扫描的大约数据量与实际的数据有多少在实际项目中,需要做一个某个统计操作的时候需要的数据不一定正确,这个时候就可以使用explain来获取select_type:查询类型不是核心 SIMPLE:除了子查询或者union之外的查询显示partitions:参数的使用,SQL优化本质=》减少=》减少数据扫描的范围type:类型->当前SQL扫...原创 2020-06-12 00:26:59 · 191 阅读 · 0 评论 -
mysql 索引
MySQL主要索引主要有4中类型的索引,分别为:B-Tree索引,Hash索引、Fulltext索引和R-Tree索引。索引功能包括:保持数据完整性 优化数据访问性能 改进表的连接(join)操作 对结构进行排序 简化聚合数据操作...原创 2020-06-16 22:10:43 · 168 阅读 · 0 评论 -
mysql视图
1.1 概念1. 视图是 MySQL 在 5.0.1 版本中加入的功能。它可以理解为一个虚表。2. 之所以被称为虚表,是因为它只是存储了一个结构,并不存储真实的数据。它的数据是在查询过程中动态生成的。3. 视图并不是真的优化1.2 创建视图 视图 只是存储了一个结构,并不存储真实的数据。-- 创建视图 create VIEW users_view as select id,name,email from `users`;1.3 查看视图 和表一样,可以用 desc 视图名;来查原创 2020-07-25 23:00:33 · 120 阅读 · 0 评论 -
mysql 触发器
1.创建触发器:触发器 类似于 框架 事件create trigger [触发器名称] [触发器的执行时间] [执行的动作点] on [表名] for each row [函数 或者动作]触发器的执行时间 :before, after执行的动作点:insert, update, delete函数:begin end;或者动作:update ,insert2.示例 当我对users表进行insert语句的时候,触发器就会执行-- 创建触发器CREATE TRIGGER -..原创 2020-07-25 23:24:59 · 72 阅读 · 0 评论 -
mysql 存储过程
1.概念 存储过程和函数可以理解为一段 SQL 语句的集合,它们被事先编译好并且存储在数据库中。在 Pascal 语言中,是有”过程”和”函数”的区分的,过程可以理解为 没有返回值的函数。不过在 C 家族语言中,则没有过程这个概念, 统一为函数。创建一个存储过程的语法为:create procedure 存储过程名(参数列表)begin存储过程体endcall 存储过程名(参数列表)简单存储过程-- 创建存储过程CREATE PROCEDURE users (IN x I原创 2020-07-26 14:31:35 · 99 阅读 · 0 评论 -
mysql 计算经纬度的距离
longitude 经度latitude 纬度CREATE TABLE `shoplist` ( `id` int(11) NOT NULL AUTO_INCREMENT, `longitude` varchar(20) DEFAULT '', `latitude` varchar(20) DEFAULT '', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1272 DEFAULT CHARSET=utf8 $sql .原创 2020-08-17 17:48:22 · 709 阅读 · 0 评论