自我提升
类型
可以朗读
语音朗读
356千字
字数
2024-09-01
发行日期
展开全部
主编推荐语
系统讲解MySQL 9数据库运维和开发的基础知识。
内容简介
MySQL是流行的关系数据库管理系统之一,由于其体积小、速度快、总体拥有成本低、开放源码等特点,一般中小型企业甚至大型互联网企业的应用开发都选择MySQL作为数据库。本书注重实战操作,详解MySQL 9数据库的操作、运维、优化和设计方法,配套示例源码、PPT课件、同步教学视频、作者微信群答疑服务,帮助读者快速掌握MySQL数据库。
全书共分20章,主要内容包括MySQL的安装与配置,数据库和数据表基本操作,数据类型和运算符,MySQL函数,查询数据,插入、更新与删除数据,索引的设计和使用,存储过程和函数,视图,MySQL触发器,数据备份与恢复,MySQL日志,MySQL权限与安全管理,SQL性能优化,MySQL服务器性能优化,MySQL性能监控,提升MySQL数据库的性能,企业人事管理系统数据库设计,在线购物系统数据库设计。
目录
- 版权信息
- 内容简介
- 作者简介
- 前言
- 第1章 MySQL的安装与配置
- 1.1 什么是MySQL
- 1.1.1 客户端/服务器软件
- 1.1.2 MySQL版本
- 1.2 Windows平台下安装与配置MySQL
- 1.2.1 安装MySQL
- 1.2.2 配置MySQL
- 1.3 启动服务并登录MySQL数据库
- 1.3.1 启动MySQL服务
- 1.3.2 登录MySQL数据库
- 1.3.3 配置Path变量
- 1.4 MySQL常用的图形化管理工具
- 1.5 Linux平台下安装与配置MySQL
- 1.5.1 Linux操作系统下的MySQL版本介绍
- 1.5.2 安装和配置MySQL的RPM包
- 第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()函数
- 4.5.2 IFNULL()函数
- 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 使用降序索引
- 第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 数据备份
- 11.1.1 使用mysqldump命令备份数据
- 11.1.2 直接复制整个数据库目录
- 11.1.3 使用MySQLhotcopy工具快速备份
- 11.2 数据恢复
- 11.2.1 使用mysql命令恢复数据
- 11.2.2 直接复制到数据库目录
- 11.2.3 mysqlhotcopy快速恢复
- 11.3 数据库迁移
- 11.3.1 相同版本的MySQL数据库之间的迁移
- 11.3.2 不同版本的MySQL数据库之间的迁移
- 11.3.3 不同数据库之间的迁移
- 11.4 数据的导出和导入
- 11.4.1 使用SELECT...INTO OUTFILE导出文本文件
- 11.4.2 使用mysqldump命令导出文本文件
- 11.4.3 使用mysql命令导出文本文件
- 11.4.4 使用LOAD DATA INFILE方式导入文本文件
- 11.4.5 使用mysqlimport命令导入文本文件
- 第12章 MySQL日志
- 12.1 日志简介
- 12.2 二进制日志
- 12.2.1 启动和设置二进制日志
- 12.2.2 查看二进制日志
- 12.2.3 删除二进制日志
- 12.2.4 使用二进制日志恢复数据库
- 12.2.5 暂时停止二进制日志功能
- 12.3 错误日志
- 12.3.1 启动和设置错误日志
- 12.3.2 查看错误日志
- 12.3.3 删除错误日志
- 12.4 通用查询日志
- 12.4.1 启动通用查询日志
- 12.4.2 查看通用查询日志
- 12.4.3 删除通用查询日志
- 12.5 慢查询日志
- 12.5.1 启动和设置慢查询日志
- 12.5.2 查看慢查询日志
- 12.5.3 删除慢查询日志
- 第13章 MySQL权限与安全管理
- 13.1 权限表
- 13.1.1 user表
- 13.1.2 db表
- 13.1.3 tables_priv表和columns_priv表
- 13.1.4 procs_priv表
- 13.2 账户管理
- 13.2.1 登录和退出MySQL服务器
- 13.2.2 新建普通用户
- 13.2.3 删除普通用户
- 13.2.4 root用户修改普通用户密码
- 13.3 权限管理
- 13.3.1 MySQL的各种权限
- 13.3.2 授权
- 13.3.3 收回权限
- 13.3.4 查看权限
- 13.4 访问控制
- 13.4.1 连接核实阶段
- 13.4.2 请求核实阶段
- 13.5 提升安全性
- 13.5.1 密码到期更换策略
- 13.5.2 安全模式
- 13.6 管理角色
- 第14章 MySQL性能优化
- 14.1 优化简介
- 14.2 优化查询
- 14.2.1 分析查询语句
- 14.2.2 索引对查询速度的影响
- 14.2.3 使用索引查询
- 14.2.4 优化子查询
- 14.3 优化数据库结构
- 14.3.1 将字段很多的表分解成多张表
- 14.3.2 增加中间表
- 14.3.3 增加冗余字段
- 14.3.4 优化插入记录的速度
- 14.3.5 分析表、检查表和优化表
- 14.4 优化临时表性能
- 14.5 创建全局通用表空间
- 第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章 提升MySQL数据库的性能
- 17.1 默认字符集改为utf8mb4
- 17.2 自增变量的持久化
- 17.3 GROUP BY不再隐式排序
- 17.4 统计直方图
- 17.4.1 直方图的优点
- 17.4.2 直方图的基本操作
- 17.5 日志分类更详细
- 17.6 支持不可见索引
- 17.7 支持JSON类型
- 17.8 全文索引的加强
- 17.9 动态修改InnoDB缓冲池的大小
- 17.10 表空间数据加密
- 17.11 跳过锁等待
- 17.12 MySQL 9.0新特性1——支持将JSON输出保存到用户变量
- 17.13 MySQL 9.0新特性2——支持准备语句
- 17.14 MySQL 9.0新特性3——支持面向AI的向量存储
- 第18章 MySQL终极优化实战
- 18.1 选择合适的存储引擎
- 18.2 通过分区表提升MySQL执行效率
- 18.2.1 认识分区表
- 18.2.2 RANGE分区
- 18.2.3 LIST分区
- 18.2.4 HASH分区
- 18.2.5 线性HASH分区
- 18.2.6 KEY分区
- 18.2.7 复合分区
- 18.3 优化数据表的锁
- 18.3.1 MyISAM表级锁优化建议
- 18.3.2 InnoDB行级锁优化建议
- 18.4 优化事务控制
- 第19章 企业人事管理系统数据库设计
- 19.1 需求分析
- 19.2 系统功能结构
- 19.3 数据库设计
- 19.3.1 数据库实体E-R图
- 19.3.2 数据库表的设计
- 19.4 使用MySQL Workbench创建数据表
- 19.4.1 创建数据库连接
- 19.4.2 创建新的数据库
- 19.4.3 创建数据表
- 第20章 在线购物系统数据库设计
- 20.1 系统分析
- 20.1.1 系统总体设计
- 20.1.2 系统界面设计
- 20.2 系统主要功能
- 20.3 数据库与数据表设计
- 20.3.1 数据库实体E-R图
- 20.3.2 数据库和数据表分析
- 20.4 使用MySQL Workbench数据建模
- 20.4.1 建立E-R模型
- 20.4.2 导入E-R模型
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。