4.3 用户推荐指数
计算机
类型
可以朗读
语音朗读
408千字
字数
2022-07-01
发行日期
展开全部
主编推荐语
本书通过大量实用的操作案例,详细讲解MySQL 8.x数据库操作方法和技巧。
内容简介
本书共分25章。主要内容包括MySQL 8.x的安装与配置、数据库和数据表基本操作、数据类型和运算符、MySQL函数、数据的增删改查、索引的设计和使用、存储过程和函数、视图、触发器、存储引擎的选择、分区和事务控制、性能优化、锁定机制、服务器性能优化、性能监控、数据备份与还原、日志、权限与安全管理、高可用架构、复制、MySQL Utilities、MySQL Proxy。
最后通过两个案例系统的数据库设计,进一步讲解MySQL在系统开发中的应用。
本书适合MySQL数据库初学者、MySQL数据库开发人员和MySQL数据库管理员,同时也能作为高等院校相关专业师生的教学用书。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 MySQL的安装与配置
- 1.1 什么是MySQL
- 1.1.1 客户端/服务器软件
- 1.1.2 MySQL版本
- 1.2 Windows平台下安装与配置MySQL 8.0
- 1.2.1 安装MySQL 8.0
- 1.2.2 配置MySQL 8.0
- 1.3 启动服务并登录MySQL数据库
- 1.3.1 启动MySQL服务
- 1.3.2 登录MySQL数据库
- 1.3.3 配置Path变量
- 1.4 MySQL常用图形管理工具
- 1.5 Linux平台下安装与配置MySQL 8.0
- 1.5.1 Linux操作系统下的MySQL版本介绍
- 1.5.2 安装和配置MySQL的RPM包
- 1.5.3 安装和配置MySQL的源码包
- 第2章 数据库和数据表的基本操作
- 2.1 创建数据库
- 2.2 删除数据库
- 2.3 创建数据表
- 2.3.1 创建表的语法形式
- 2.3.2 使用主键约束
- 2.3.3 使用外键约束
- 2.3.4 使用非空约束
- 2.3.5 使用唯一性约束
- 2.3.6 使用默认约束
- 2.3.7 设置表的属性值自动增加
- 2.4 查看数据表结构
- 2.4.1 查看表基本结构语句DESCRIBE
- 2.4.2 查看表详细结构语句SHOW CREATE TABLE
- 2.5 修改数据表
- 2.5.1 修改表名
- 2.5.2 修改字段的数据类型
- 2.5.3 修改字段名
- 2.5.4 添加字段
- 2.5.5 删除字段
- 2.5.6 修改字段的排列位置
- 2.5.7 删除表的外键约束
- 2.6 删除数据表
- 2.6.1 删除没有被关联的表
- 2.6.2 删除被其他表关联的主表
- 第3章 数据类型和运算符
- 3.1 MySQL数据类型介绍
- 3.1.1 整数类型
- 3.1.2 小数类型
- 3.1.3 日期与时间类型
- 3.1.4 文本字符串类型
- 3.1.5 二进制字符串类型
- 3.2 如何选择数据类型
- 3.3 常见运算符介绍
- 3.3.1 运算符概述
- 3.3.2 算术运算符
- 3.3.3 比较运算符
- 3.3.4 逻辑运算符
- 3.3.5 位运算符
- 3.3.6 运算符的优先级
- 第4章 MySQL函数
- 4.1 MySQL函数简介
- 4.2 数学函数
- 4.2.1 绝对值函数ABS(x)和返回圆周率的函数PI()
- 4.2.2 平方根函数SQRT(x)和求余函数MOD(x,y)
- 4.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)
- 4.2.4 获取随机数的函数RAND()和RAND(x)
- 4.2.5 函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
- 4.2.6 符号函数SIGN(x)
- 4.2.7 幂运算函数POW(x,y)、POWER(x,y)和EXP(x)
- 4.2.8 对数运算函数LOG(x)和LOG10(x)
- 4.2.9 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)
- 4.2.10 正弦函数SIN(x)和反正弦函数ASIN(x)
- 4.2.11 余弦函数COS(x)和反余弦函数ACOS(x)
- 4.2.12 正切函数、反正切函数和余切函数
- 4.3 字符串函数
- 4.3.1 计算字符串字符数的函数和字符串长度的函数
- 4.3.2 合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…)
- 4.3.3 替换字符串的函数INSERT(s1,x,len,s2)
- 4.3.4 字母大小写转换函数
- 4.3.5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)
- 4.3.6 填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)
- 4.3.7 删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s)
- 4.3.8 删除指定字符串的函数TRIM(s1 FROM s)
- 4.3.9 重复生成字符串的函数REPEAT(s,n)
- 4.3.10 空格函数SPACE(n)和替换函数REPLACE(s,s1,s2)
- 4.3.11 比较字符串大小的函数STRCMP(s1,s2)
- 4.3.12 获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len)
- 4.3.13 匹配子串开始位置的函数
- 4.3.14 字符串逆序的函数REVERSE(s)
- 4.3.15 返回指定位置的字符串的函数
- 4.3.16 返回指定字符串位置的函数FIELD(s,s1,s2,…,sn)
- 4.3.17 返回子串位置的函数FIND_IN_SET(s1,s2)
- 4.3.18 选取字符串的函数MAKE_SET(x,s1,s2,…,sn)
- 4.4 日期和时间函数
- 4.4.1 获取当前日期的函数和获取当前时间的函数
- 4.4.2 获取当前日期和时间的函数
- 4.4.3 UNIX时间戳函数
- 4.4.4 返回UTC日期的函数和返回UTC时间的函数
- 4.4.5 获取月份的函数MONTH(date)和MONTHNAME(date)
- 4.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d)
- 4.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d)
- 4.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d)
- 4.4.9 获取年份、季度、小时、分钟和秒钟的函数
- 4.4.10 获取日期的指定值的函数EXTRACT(type FROM date)
- 4.4.11 时间和秒钟转换的函数
- 4.4.12 计算日期和时间的函数
- 4.4.13 将日期和时间格式化的函数
- 4.5 条件判断函数
- 4.5.1 IF(expr,v1,v2)函数
- 4.5.2 IFNULL(v1,v2)函数
- 4.5.3 CASE函数
- 4.6 系统信息函数
- 4.6.1 获取MySQL版本号、连接数和数据库名的函数
- 4.6.2 获取用户名的函数
- 4.6.3 获取字符串的字符集和排序方式的函数
- 4.6.4 获取最后一个自动生成的ID值的函数
- 4.7 加密函数
- 4.7.1 加密函数MD5(str)
- 4.7.2 加密函数SHA(str)
- 4.7.3 加密函数SHA2(str, hash_length)
- 4.8 其他函数
- 4.8.1 格式化函数FORMAT(x,n)
- 4.8.2 不同进制的数字进行转换的函数
- 4.8.3 IP地址与数字相互转换的函数
- 4.8.4 加锁函数和解锁函数
- 4.8.5 重复执行指定操作的函数
- 4.8.6 改变字符集的函数
- 4.8.7 改变数据类型的函数
- 4.9 窗口函数
- 第5章 查询数据
- 5.1 基本查询语句
- 5.2 单表查询
- 5.2.1 查询所有字段
- 5.2.2 查询指定字段
- 5.2.3 查询指定记录
- 5.2.4 带IN关键字的查询
- 5.2.5 带BETWEEN…AND…的范围查询
- 5.2.6 带LIKE的字符匹配查询
- 5.2.7 查询空值
- 5.2.8 带AND的多条件查询
- 5.2.9 带OR的多条件查询
- 5.2.10 查询结果不重复
- 5.2.11 对查询结果排序
- 5.2.12 分组查询
- 5.2.13 使用LIMIT限制查询结果的数量
- 5.3 使用集合函数查询
- 5.3.1 COUNT()函数
- 5.3.2 SUM()函数
- 5.3.3 AVG()函数
- 5.3.4 MAX()函数
- 5.3.5 MIN()函数
- 5.4 连接查询
- 5.4.1 内连接查询
- 5.4.2 外连接查询
- 5.4.3 复合条件连接查询
- 5.5 子查询
- 5.5.1 带ANY、SOME关键字的子查询
- 5.5.2 带ALL关键字的子查询
- 5.5.3 带EXISTS关键字的子查询
- 5.5.4 带IN关键字的子查询
- 5.5.5 带比较运算符的子查询
- 5.6 合并查询结果
- 5.7 为表和字段取别名
- 5.7.1 为表取别名
- 5.7.2 为字段取别名
- 5.8 使用正则表达式查询
- 5.8.1 查询以特定字符或字符串开头的记录
- 5.8.2 查询以特定字符或字符串结尾的记录
- 5.8.3 用符号“.”来替代字符串中的任意一个字符
- 5.8.4 使用“*”和“+”来匹配多个字符
- 5.8.5 匹配指定字符串
- 5.8.6 匹配指定字符中的任意一个
- 5.8.7 匹配指定字符以外的字符
- 5.8.8 使用{n,}或者{n,m}来指定字符串连续出现的次数
- 5.9 通用表表达式
- 第6章 插入、更新与删除数据
- 6.1 插入数据
- 6.1.1 为表的所有字段插入数据
- 6.1.2 为表的指定字段插入数据
- 6.1.3 同时插入多条记录
- 6.1.4 将查询结果插入到表中
- 6.2 更新数据
- 6.3 删除数据
- 6.4 为表增加计算列
- 6.5 DDL的原子化
- 第7章 索引的设计和使用
- 7.1 索引简介
- 7.1.1 索引的含义和特点
- 7.1.2 索引的分类
- 7.1.3 索引的设计原则
- 7.2 创建索引
- 7.2.1 创建表的时候创建索引
- 7.2.2 在已经存在的表上创建索引
- 7.3 删除索引
- 7.4 统计直方图
- 7.4.1 直方图的优点
- 7.4.2 直方图的基本操作
- 第8章 存储过程和函数
- 8.1 创建存储过程和函数
- 8.1.1 创建存储过程
- 8.1.2 创建存储函数
- 8.1.3 变量的使用
- 8.1.4 定义条件和处理程序
- 8.1.5 光标的使用
- 8.1.6 流程控制的使用
- 8.2 调用存储过程和函数
- 8.2.1 调用存储过程
- 8.2.2 调用存储函数
- 8.3 查看存储过程和函数
- 8.3.1 使用SHOW STATUS语句查看存储过程和函数的状态
- 8.3.2 使用SHOW CREATE语句查看存储过程和函数的定义
- 8.3.3 从information_schema.Routines表中查看存储过程和函数的信息
- 8.4 修改存储过程和函数
- 8.5 删除存储过程和函数
- 8.6 全局变量的持久化
- 第9章 视 图
- 9.1 视图概述
- 9.1.1 视图的含义
- 9.1.2 视图的作用
- 9.2 创建视图
- 9.2.1 创建视图的语法形式
- 9.2.2 在单表上创建视图
- 9.2.3 在多表上创建视图
- 9.3 查看视图
- 9.3.1 使用DESCRIBE语句查看视图基本信息
- 9.3.2 使用SHOW TABLE STATUS语句查看视图基本信息
- 9.3.3 使用SHOW CREATE VIEW语句查看视图详细信息
- 9.3.4 在views表中查看视图详细信息
- 9.4 修改视图
- 9.4.1 使用CREATE OR REPLACE VIEW语句修改视图
- 9.4.2 使用ALTER语句修改视图
- 9.5 更新视图
- 9.6 删除视图
- 第10章 MySQL触发器
- 10.1 创建触发器
- 10.1.1 创建只有一个执行语句的触发器
- 10.1.2 创建有多个执行语句的触发器
- 10.2 查看触发器
- 10.2.1 利用SHOW TRIGGERS语句查看触发器信息
- 10.2.2 在triggers表中查看触发器信息
- 10.3 触发器的使用
- 10.4 删除触发器
- 第11章 存储引擎的选择
- 11.1 MySQL的架构
- 11.1.1 MySQL物理文件的组成
- 11.1.2 MySQL各逻辑块简介
- 11.1.3 MySQL各逻辑块协调工作
- 11.2 MySQL存储引擎简介
- 11.3 更改数据表的存储引擎
- 11.4 各种存储引擎的特性
- 11.4.1 MyISAM
- 11.4.2 InnoDB存储引擎
- 11.4.3 MEMORY
- 11.4.4 MERGE
- 11.5 选择合适的存储引擎
- 第12章 MySQL分区和事务控制
- 12.1 合并表
- 12.2 分区表
- 12.2.1 认识分区表
- 12.2.2 RANGE分区
- 12.2.3 LIST分区
- 12.2.4 HASH分区
- 12.2.5 线性HASH分区
- 12.2.6 KEY分区
- 12.2.7 复合分区
- 12.3 事务控制
- 12.4 MySQL分布式事务
- 12.4.1 分布式事务的原理
- 12.4.2 分布式事务的语法
- 第13章 MySQL性能优化
- 13.1 优化简介
- 13.2 优化查询
- 13.2.1 分析查询语句
- 13.2.2 索引对查询速度的影响
- 13.2.3 使用索引查询
- 13.2.4 优化子查询
- 13.3 优化数据库结构
- 13.3.1 将字段很多的表分解成多个表
- 13.3.2 增加中间表
- 13.3.3 增加冗余字段
- 13.3.4 优化插入记录的速度
- 13.3.5 分析表、检查表和优化表
- 13.4 临时表性能优化
- 13.5 创建全局通用表空间
- 13.6 隐藏和显示索引
- 第14章 MySQL的锁定机制
- 14.1 认识MySQL的锁定机制
- 14.2 MyISAM的锁定机制
- 14.2.1 MyISAM表级锁的锁模式
- 14.2.2 获取MyISAM表级锁的争用情况
- 14.2.3 MyISAM表级锁加锁方法
- 14.2.4 MyISAM Concurrent Insert的特性
- 14.2.5 MyISAM表锁优化建议
- 14.3 InnoDB的锁定机制
- 14.3.1 InnoDB行级锁模式
- 14.3.2 获取InnoDB行级锁的争用情况
- 14.3.3 InnoDB行级锁的实现方法
- 14.3.4 间隙锁(Net-Key锁)
- 14.3.5 InnoDB在不同隔离级别下加锁的差异
- 14.3.6 InnoDB 存储引擎中的死锁
- 14.3.7 InnoDB行级锁优化建议
- 14.4 跳过锁等待
- 第15章 MySQL服务器性能优化
- 15.1 优化MySQL服务器简介
- 15.1.1 优化服务器硬件
- 15.1.2 优化MySQL的参数
- 15.2 影响MySQL性能的重要参数
- 15.2.1 查看性能参数的方法
- 15.2.2 key_buffer_size的设置
- 15.2.3 内存参数的设置
- 15.2.4 日志和事务参数的设置
- 15.2.5 存储和I/O相关参数的设置
- 15.2.6 其他重要参数的设置
- 15.3 MySQL日志设置优化
- 15.4 MySQL I/O设置优化
- 15.5 MySQL并发设置优化
- 15.6 服务器语句超时处理
- 15.7 线程和临时表的优化
- 15.7.1 线程的优化
- 15.7.2 临时表的优化
- 15.8 增加资源组
- 第16章 MySQL性能监控
- 16.1 基本监控系统方法
- 16.1.1 ps命令
- 16.1.2 top命令
- 16.1.3 vmstat命令
- 16.1.4 mytop命令
- 16.1.5 sysstat工具
- 16.2 开源监控利器Nagios实战
- 16.2.1 安装Nagios之前的准备工作
- 16.2.2 安装Nagios主程序
- 16.2.3 整合Nagios到Apache服务
- 16.2.4 安装Nagios插件包
- 16.2.5 监控服务器的CPU、负载、磁盘I/O使用情况
- 16.2.6 配置Nagios监控MySQL服务器
- 16.3 MySQL监控利器Cacti实战
- 16.3.1 Cacti工具的安装
- 16.3.2 Cacti监控MySQL服务器
- 第17章 数据备份与恢复
- 17.1 数据备份
- 17.1.1 使用mysqldump命令备份
- 17.1.2 直接复制整个数据库目录
- 17.1.3 使用mysqlhotcopy工具快速备份
- 17.2 数据恢复
- 17.2.1 使用MySQL命令恢复
- 17.2.2 直接复制到数据库目录
- 17.2.3 mysqlhotcopy快速恢复
- 17.3 数据库迁移
- 17.3.1 相同版本的MySQL数据库之间的迁移
- 17.3.2 不同版本的MySQL数据库之间的迁移
- 17.3.3 不同数据库之间的迁移
- 17.4 表的导出和导入
- 17.4.1 使用SELECT…INTO OUTFILE导出文本文件
- 17.4.2 使用mysqldump命令导出文本文件
- 17.4.3 使用MySQL命令导出文本文件
- 17.4.4 使用LOAD DATA INFILE方式导入文本文件
- 17.4.5 使用mysqlimport命令导入文本文件
- 第18章 MySQL日志
- 18.1 日志简介
- 18.2 二进制日志
- 18.2.1 启动和设置二进制日志
- 18.2.2 查看二进制日志
- 18.2.3 删除二进制日志
- 18.2.4 使用二进制日志恢复数据库
- 18.2.5 暂时停止二进制日志功能
- 18.3 错误日志
- 18.3.1 启动和设置错误日志
- 18.3.2 查看错误日志
- 18.3.3 删除错误日志
- 18.4 通用查询日志
- 18.4.1 启动通用查询日志
- 18.4.2 查看通用查询日志
- 18.4.3 删除通用查询日志
- 18.5 慢查询日志
- 18.5.1 启动和设置慢查询日志
- 18.5.2 查看慢查询日志
- 18.5.3 删除慢查询日志
- 第19章 MySQL权限与安全管理
- 19.1 权 限 表
- 19.1.1 user表
- 19.1.2 db表
- 19.1.3 tables_priv表和columns_priv表
- 19.1.4 procs_priv表
- 19.2 账户管理
- 19.2.1 登录和退出MySQL服务器
- 19.2.2 新建普通用户
- 19.2.3 删除普通用户
- 19.2.4 root用户修改普通用户密码
- 19.3 权限管理
- 19.3.1 MySQL的各种权限
- 19.3.2 授权
- 19.3.3 收回权限
- 19.3.4 查看权限
- 19.4 访问控制
- 19.4.1 连接核实阶段
- 19.4.2 请求核实阶段
- 19.5 提升安全性
- 19.5.1 密码到期更换策略
- 19.5.2 安全模式安装
- 19.6 管理角色
- 第20章 MySQL高可用架构
- 20.1 MySQL高可用简介
- 20.2 MySQL主从复制架构
- 20.2.1 MySQL主从架构设计
- 20.2.2 配置环境
- 20.2.3 服务器的安装配置
- 20.2.4 LVS的安装配置
- 20.3 MySQL+DRBD+HA主备架构
- 20.3.1 什么是DRBD
- 20.3.2 MySQL+DRBD+HA架构设计
- 20.3.3 配置环境
- 20.3.4 安装配置Heartbeat
- 20.3.5 安装配置DRBD
- 20.4 LVS+Keepalived+MySQL单点写入主主同步架构
- 20.4.1 配置环境
- 20.4.2 LVS+Keepalived的安装
- 20.4.3 LVS+Keepalived的配置
- 20.4.4 Master和Backup的启动
- 20.5 MMM高可用架构
- 20.5.1 MMM高可用架构简介
- 20.5.2 配置环境
- 20.5.3 MMM的安装
- 20.5.4 Monitor服务器的配置
- 20.5.5 各个数据库服务器的配置
- 20.5.6 MMM的管理
- 第21章 MySQL复制
- 21.1 MySQL复制概述
- 21.2 Windows环境下的MySQL主从复制
- 21.2.1 复制前的准备工作
- 21.2.2 Windows环境下实现主从复制
- 21.2.3 Windows环境下主从复制测试
- 21.3 Linux环境下的MySQL复制
- 21.3.1 下载并安装MySQL 8.0
- 21.3.2 单机主从复制前的准备工作
- 21.3.3 mysqld_multi实现单机主从复制
- 21.3.4 不同服务器之间实现主从复制
- 21.3.5 MySQL主从复制启动选项
- 21.3.6 指定复制的数据库或者表
- 21.4 查看从服务器的复制进度
- 21.5 复制环境的监控和维护
- 21.5.1 了解服务器的状态
- 21.5.2 服务器复制出错的原因
- 21.6 切换主从服务器
- 21.7 多源复制的改进
- 第22章 MySQL Utilities
- 22.1 MySQL Utilities概述
- 22.2 安装与配置
- 22.2.1 下载与安装MySQL Utilities
- 22.2.2 MySQL Utilities连接数据库
- 22.3 管理与维护
- 22.3.1 使用mysqldbcompare比较数据
- 22.3.2 使用mysqldbcopy复制数据
- 22.3.3 使用mysqldbexport导出数据
- 22.3.4 使用mysqldbimport导入数据
- 22.3.5 使用mysqldiff比较对象的定义
- 第23章 MySQL Proxy
- 23.1 概述
- 23.2 安装与配置
- 23.2.1 下载与安装MySQL Proxy
- 23.2.2 配置MySQL Proxy参数
- 23.3 使用MySQL Proxy实现读写分离
- 第24章 新闻发布系统数据库设计
- 24.1 系统概述
- 24.2 系统功能
- 24.3 数据库设计和实现
- 24.3.1 设计表
- 24.3.2 设计索引
- 24.3.3 设计视图
- 24.3.4 设计触发器
- 第25章 论坛管理系统数据库设计
- 25.1 系统概述
- 25.2 系统功能
- 25.3 数据库设计和实现
- 25.3.1 设计方案图表
- 25.3.2 设计表
- 25.3.3 设计索引
- 25.3.4 设计视图
- 25.3.5 设计触发器
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。