-
mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构
所属栏目:[MySql教程] 日期:2020-12-12 热度:151
InnoDB一个支持事务安全的存储引擎,同时也是mysql的默认存储引擎。本文主要从数据结构的角度,详细介绍InnoDB行记录格式和数据页的实现原理,从底层看清InnoDB存储引擎。 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购[详细]
-
mysql进阶知识点,启动项、系统变量、字符集介绍!
所属栏目:[MySql教程] 日期:2020-12-12 热度:165
mysql数据库是当前应用最为的广泛的数据库,在实际工作中也经常接触到。真正用好mysql也不仅仅是会写sql就行,更重要的是真正理解其内部的工作原理。本文先从宏观角度介绍一些mysql相关的知识点,目的是为了让大家对mysql能有一个大体上的认知,后续再逐一对[详细]
-
分库分表Sharding-JDBC入门与项目实战,数据量大了一定要分表
所属栏目:[MySql教程] 日期:2020-12-12 热度:144
最近项目中不少表的数据量越来越大,并且导致了一些数据库的性能问题。因此想借助一些分库分表的中间件,实现自动化分库分表实现。调研下来,发现 Sharding-JDBC 目前成熟度最高并且应用最广的 Java分库分表的客户端组件 。本文主要介绍一些Sharding-JDBC核[详细]
-
面试中的老大难-mysql事务和锁,一次性讲清楚!
所属栏目:[MySql教程] 日期:2020-12-12 热度:136
众所周知, 事务和锁 是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍 事务和锁 的相关概念及其实现原理,相信大家看完之后,一定会对 事务和锁 有更加深入的理解。 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细[详细]
-
你真的理解索引吗?从数据结构层面解析mysql索引原理
所属栏目:[MySql教程] 日期:2020-12-12 热度:83
从《mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构》中,我们已经知道了 数据页内各个记录是按主键正序排列并组成了一个单向链表的,并且各个数据页之间形成了双向链表 。在数据页内,通过 页目录 ,根据主键可以快速定位到一条记录。这一章中,我们深[详细]
-
必须了解的mysql三大日志-binlog、redo log和undo log
所属栏目:[MySql教程] 日期:2020-12-12 热度:196
日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。 mysql 日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志( binlog )和事务日志(包括 redo log 和 undo log ),[详细]
-
MySQL基础
所属栏目:[MySql教程] 日期:2020-12-12 热度:74
MySQL基础 目录 MySQL基础 1. 初识MySQL 2. 为什么要学习数据库 1. 岗位需求 2. 现在的世界,大数据时代 3. 被迫需求:存数据 4. 数据库是所有软件体系中最核心的存在(重要) 3. 什么是数据库 4. 数据库分类 1.关系型数据库(SQL) 2. 非关系型数据库(NoSQL=[详细]
-
MySQL数据管理
所属栏目:[MySql教程] 日期:2020-12-12 热度:54
MySQL数据管理 目录 MySQL数据管理 1. 外键(了解) 1. 方式1 2. 方式2 2. DML语言(全部记住) 1. 添加 2. 修改 3. 删除 1. delete命令 2. truncate命令 3. delete和truncate的区别 4. delete删除的问题 3. DQL语言(最重点) 1.DQL 2. 指定查询字段 1. 去[详细]
-
事务
所属栏目:[MySql教程] 日期:2020-12-12 热度:133
事务 目录 事务 1. 什么是事务 2. 事务原则:ACID原则 1. 原子性(Atomicity) 2. 一致性(Consistency) 3. 隔离性(isolation) 4. 持久性(durability) 5. 隔离所导致的一些问题 1. 脏读 2. 不可重复读 3. 幻读(虚读) 3. 执行事务 4. 模拟场景 1. 什么[详细]
-
操作数据库
所属栏目:[MySql教程] 日期:2020-12-12 热度:147
操作数据库 目录 操作数据库 1. 数据库的增删改查(了解) 1. 创建数据库 2. 删除数据库 3. 使用数据库 4. 查看数据库 2. 数据库的列类型 1. 数值 2. 字符串 3. 时间日期 4. null 3. 数据库的字段属性(重点) 1. Unsigned 2. zerofill 3. 自增 4. 非空 5.[详细]
-
JDBC
所属栏目:[MySql教程] 日期:2020-12-12 热度:70
JDBC 目录 JDBC 1. 数据库驱动 2. JDBC 3. 第一个JDBC程序 4. DriveManager 5. URL 6. Statement 1. CRUD操作-create 2. CRUD操作-delete 3. CRUD操作-update 4. CRUD操作-read 5. 代码实现 1. 提取工具类 2. 编写增删改的方法,使用executeUpdate方法 4. 查[详细]
-
业务级别MySQL
所属栏目:[MySql教程] 日期:2020-12-12 热度:158
业务级别MySQL 目录 业务级别MySQL 1. 权限管理和备份 1. 用户管理 1. SQLyog可视化操作 2. SQL命令操作 2. MySQL备份 3. 规范数据库设计 1. 为什么需要设计 1. 糟糕的数据库设计: 2. 良好的数据库设计 3. 软件开发中,关于数据库的设计 4. 设计数据库的步[详细]
-
索引
所属栏目:[MySql教程] 日期:2020-12-12 热度:154
索引 目录 索引 1. 索引的分类 1. 主键索引(primary key) 2. 唯一索引(unique key) 3. 常规索引(key / index) 4. 全文索引(fulltext) 2. 索引的使用 1. 基础语法 2. 测试索引 3. 索引原则 4. 索引的数据结构 1. 索引的分类 MySQL官方对索引的定义为:[详细]
-
MySQL5.5 升级 5.6
所属栏目:[MySql教程] 日期:2020-12-12 热度:127
sudo apt-get updatesudo apt-get upgradesudo apt-get install mysql-server-5.6[详细]
-
[MySQL]支持 emoji(字符集问题)
所属栏目:[MySql教程] 日期:2020-12-12 热度:83
问题的根源 主要问题就是在字符集,一般解决这种问题都是靠试验。我实验了一通,得出的结论和大家分享一下(如有错误,还望指正): 数据库的字符集 数据库连接的字符集 配置方法 设置数据库的字符集为 utf8mb4 :创建数据库时( 注意 :是数据库),指定字[详细]
-
SQLite向MySQL的数据库迁移
所属栏目:[MySql教程] 日期:2020-12-12 热度:171
SQLite 数据库在数据超过 20M 查询速度就会明显变慢,所以 “未雨绸缪” 为了以后数据量变大做准备,最好还是用 MySQL 数据库。 迁移步骤如下: 通过 SQLite 可视化工具 dump 出 xxx.sql 文件,用于数据迁移 因为 SQLite 和 MySQL 的 dump 文件有兼容问题,[详细]
-
[MySQl]MySQL忘记密码
所属栏目:[MySql教程] 日期:2020-12-12 热度:133
1.修改MySQL的登录设置: vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。 2.重新启动mysqld # /etc/init.d/mysqld restart ( service mysqld restart ) 3.登录并修改MySQL的root密码 mysql USE mysql ;mysql UPDATE user SET[详细]
-
[MySQL]去重:DISTINCT
所属栏目:[MySql教程] 日期:2020-12-12 热度:131
SELECT DISTINCT name,age :去掉name字段重复的(需要先写去重的字段);如果想多个取出多个字段重复,需要用 group by 。[详细]
-
[MySQL]创建数据库以及设置编码
所属栏目:[MySql教程] 日期:2020-12-12 热度:86
新建数据库: create database xxxx; 删除数据库: drop database xxxx; 查看字符集: show variables like 'character%'; character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;char[详细]
-
[MySQL]增加约束键
所属栏目:[MySql教程] 日期:2020-12-12 热度:54
增加约束键 ALTER TABLE Persons ADD UNIQUE (P_Id) 创建表时加入约束键 CREATE TABLE Persons(P_Id int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),UNIQUE (P_Id),UNIQUE (LastName))[详细]
-
[MySQL]brew 安装 配置 操作 mysql(中文问题)
所属栏目:[MySql教程] 日期:2020-12-12 热度:176
mac 下卸载mysqldmg mac下mysql的DMG格式安装内有安装文件,却没有卸载文件……很郁闷的事。 网上搜了一下,发现给的方法原来得手动去删。 很多文章记述要删的文件不完整,后来在stackoverflow这里发现了一个遗漏的地方,所以将完整版记述在这里,以供查阅。[详细]
-
[MySQL]长连接和短链接(转载)
所属栏目:[MySql教程] 日期:2020-12-12 热度:87
转载于http://www.cnblogs.com/pipelone/archive/2010/06/02/1750026.html 什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。 通常的短连接操作步骤是: 连接-》数据传输-》关闭连接; 而长连接通常就是:[详细]
-
MySQL 的性能(下篇)—— 性能优化方法
所属栏目:[MySql教程] 日期:2020-12-12 热度:53
简介 文中内容均为阅读前辈的文章所整理而来,参考文章已在最后全指明 本文分为上下两篇: 上篇:MySQL 的 SQL 执行分析 下篇:MySQL 性能优化 下面为下篇内容,分为以下部分: 一、创建表时的性能优化 二、设计表时的性能优化 三、优化 SQL 语句 四、其它[详细]
-
[MySQL]备份和导入
所属栏目:[MySql教程] 日期:2020-12-12 热度:120
备份数据库 mysqldump 数据库名 数据库备份名mysqldump -A -u用户名 -p密码 数据库名数据库备份名mysqldump -d -A --add-drop-table -uroot -p xxx.sql 导出结构不导出数据: mysqldump -d 数据库名 -uroot -p xxx.sql 导出数据不导出结构: mysqldump -t 数[详细]
-
[MySQL]删除一张表的所有数据
所属栏目:[MySql教程] 日期:2020-12-12 热度:169
清空一张表 truncate table user; truncate 和 delete 的区别在于, truncate 删除后 id 是从头开始计算的。我理解是真正意义上的清空![详细]