第1篇 MariaDB数据库基础
第1章 数据库概述
1.1 MariaDBs基础
1.1.1 常见的数据库系统
1.1.2 为什么要使用MariaDB
1.1.3 MariaDB版本和获取
1.2 如何学习数据库
1.2.1 多上机实践
1.2.2 多编写SQL语句
1.2.3 讨论和交流
1.3 常见问题及解答
1.4 小结
1.5 本章习题
第2章 在Windows平台下安装与配置MariaDB
2.1 安装与配置MariaDB
2.1.1 安装MariaDB
2.1.2 启动MariaDB服务
2.1.3 登录MariaDB数据库
2.1.4 配置Path变量
2.2 更改MariaDB的配置
2.3 MariaDB常用图形管理工具
2.4 使用免安装的MariaDB
2.5 上机实践
2.6 常见问题及解答
2.7 小结
2.8 本章习题
第3章 在Linux平台下安装与配置MariaDB
3.1 Linux操作系统下的MariaDB版本介绍
3.2 安装和配置MariaDB的RPM包
3.3 安装和配置MariaDB的DEB包
3.4 安装和配置MariaDB的二进制包
3.5 安装和配置MariaDB的源码包
3.6 上机实践
3.7 常见问题及解答
3.8 小结
3.9 本章习题
第2篇 MariaDB数据库基础维护
第4章 MariaDB数据类型
4.1 MariaDB数据类型介绍
4.1.1 整数类型
4.1.2 浮点数类型和定点数类型
4.1.3 日期与时间类型
4.1.4 字符串类型
4.1.5 二进制类型
4.2 如何选择数据类型
4.3 常见问题及解答
4.4 小结
4.5 本章习题
第5章 操作数据库
5.1 创建数据库
5.2 删除数据库
5.3 数据库存储引擎
5.3.1 MariaDB存储引擎简介
5.3.2 InnoDB存储引擎
5.3.3 MyISAM存储引擎
5.3.4 MEMORY存储引擎
5.3.5 存储引擎的选择
5.4 本章实例
5.5 上机实践
5.6 常见问题及解答
5.7 小结
5.8 本章习题
第6章 创建、修改和删除表
6.1 创建表
6.1.1 创建表的语法形式
6.1.2 设置表的主键
6.1.3 设置表的外键
6.1.4 设置表的非空约束
6.1.5 设置表的唯一性约束
6.1.6 设置表的属性值自动增加
6.1.7 设置表的属性的默认值
6.2 查看表结构
6.2.1 查看表基本结构语句DESCRIBE
6.2.2 查看表详细结构语句SHOW CREATE TABLE
6.3 修改表
6.3.1 修改表名
6.3.2 修改字段的数据类型
6.3.3 修改字段名
6.3.4 增加字段
6.3.5 删除字段
6.3.6 修改字段的排列位置
6.3.7 更改表的存储引擎
6.3.8 删除表的外键约束
6.4 删除表
6.4.1 删除没有被关联的普通表
6.4.2 删除被其他表关联的父表
6.5 本章实例
6.6 上机实践
6.7 常见问题及解答
6.8 小结
6.9 本章习题
第7章 索引
7.1 索引简介
7.1.1 索引的含义和特点
7.1.2 索引的分类
7.1.3 索引的设计原则
7.2 创建索引
7.2.1 创建表的时候创建索引
7.2.2 在已经存在的表上创建索引
7.2.3 用ALTER TABLE语句来创建索引
7.3 删除索引
7.4 本章实例
7.5 上机实践
7.6 常见问题及解答
7.7 小结
7.8 本章习题
第8章 视图
8.1 视图简介
8.1.1 视图的含义
8.1.2 视图的作用
8.2 创建视图
8.2.1 创建视图的语法形式
8.2.2 在单表上创建视图
8.2.3 在多表上创建视图
8.3 查看视图
8.3.1 DESCRIBE语句查看视图基本信息
8.3.2 SHOW TABLE STATUS语句查看视图基本信息
8.3.3 SHOW CREATE VIEW语句查看视图详细信息
8.3.4 在views表中查看视图详细信息
8.4 修改视图
8.4.1 CREATE OR REPLACE VIEW语句修改视图
8.4.2 ALTER语句修改视图
8.5 更新视图
8.6 删除视图
8.7 本章实例
8.8 上机实践
8.9 常见问题及解答
8.10 小结
8.11 本章习题
第9章 触发器
9.1 创建触发器
9.1.1 创建只有一个执行语句的触发器
9.1.2 创建有多个执行语句的触发器
9.2 查看触发器
9.2.1 SHOW TRIGGERS语句查看触发器信息
9.2.2 在triggers表中查看触发器信息
9.3 触发器的使用
9.4 删除触发器
9.5 本章实例
9.6 上机实践
9.7 常见问题及解答
9.8 小结
9.9 本章习题
第3篇 SQL查询语句
第10章 查询数据
10.1 基本查询语句
10.2 单表查询
10.2.1 查询所有字段
10.2.2 查询指定字段
10.2.3 查询指定记录
10.2.4 带IN关键字的查询
10.2.5 带BETWEEN AND的范围查询
10.2.6 带LIKE的字符匹配查询
10.2.7 查询空值
10.2.8 带AND的多条件查询
10.2.9 带OR的多条件查询
10.2.10 查询结果不重复
10.2.11 对查询结果排序
10.2.12 分组查询
10.2.13 用LIMIT限制查询结果的数量
10.3 使用集合函数查询
10.3.1 COUNT()函数
10.3.2 SUM()函数
10.3.3 AVG()函数
10.3.4 MAX()函数
10.3.5 MIN()函数
10.4 连接查询
10.4.1 内连接查询
10.4.2 外连接查询
10.4.3 复合条件连接查询
10.5 子查询
10.5.1 带IN关键字的子查询
10.5.2 带比较运算符的子查询
10.5.3 带EXISTS关键字的子查询
10.5.4 带ANY关键字的子查询
10.5.5 带ALL关键字的子查询
10.6 合并查询结果
10.7 为表和字段取别名
10.7.1 为表取别名
10.7.2 为字段取别名
10.8 使用正则表达式查询
10.8.1 查询以特定字符或字符串开头的记录
10.8.2 查询以特定字符或字符串结尾的记录
10.8.3 用符号“.”来替代字符串中的任意一个字符
10.8.4 匹配指定字符中的任意一个
10.8.5 匹配指定字符以外的字符
10.8.6 匹配指定字符串
10.8.7 使用“*”和“+”来匹配多个字符
10.8.8 使用{M}或者{M,N}来指定字符串连续出现的次数
10.9 本章实例
10.10 上机实践
10.11 常见问题及解答
10.12 小结
10.13 本章习题
第11章 插入、更新与删除数据
11.1 插入数据
11.1.1 为表的所有字段插入数据
11.1.2 为表的指定字段插入数据
11.1.3 同时插入多条记录
11.1.4 将查询结果插入到表中
11.2 更新数据
11.3 删除数据
11.4 本章实例
11.5 上机实践
11.6 常见问题及解答
11.7 小结
11.8 本章习题
第12章 MariaDB运算符
12.1 运算符简介
12.2 算术运算符
12.3 比较运算符
12.4 逻辑运算符
12.5 位运算符
12.6 运算符的优先级
12.7 本章实例
12.8 上机实践
12.9 常见问题及解答
12.10 小结
12.11 本章习题
第13章 MariaDB函数
13.1 MariaDB函数简介
13.2 数学函数
13.2.1 绝对值函数ABS(x)和返回圆周率的函数PI()
13.2.2 平方根函数SQRT(x)和求余函数MOD(x,y)
13.2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)
13.2.4 获取随机数的函数RAND()和RAND(x)
13.2.5 四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
13.2.6 符号函数SIGN(x)
13.2.7 幂运算函数POW(x,y)、POWER(x,y)和EXP(x)
13.2.8 对数运算函数LOG(x)和LOG10(x)
13.2.9 角度与弧度相互转换的函数RADIANS(x)和DEGREES(x)
13.2.10 正弦函数SIN(x)和反正弦函数ASIN(x)
13.2.11 余弦函数COS(x)和反余弦函数ACOS(x)
13.2.12 正切函数、反正切函数和余切函数
13.3 字符串函数
13.3.1 计算字符串字符数的函数和字符串长度的函数
13.3.2 合并字符串的函数CONCAT(s1,s2,…)和CONCAT_WS(x,s1,s2,…)
13.3.3 替换字符串的函数INSERT(s1,x,len,s2)
13.3.4 字母大小写转换函数
13.3.5 获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)
13.3.6 填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)
13.3.7 删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s)
13.3.8 删除指定字符串的函数TRIM(s1 FROM s)
13.3.9 重复生成字符串的函数REPEAT(s,n)
13.3.10 空格函数SPACE(n)和替换函数REPLACE(s,s1,s2)
13.3.11 比较字符串大小的函数STRCMP(s1,s2)
13.3.12 获取子串的函数SUBSTRING(s,n,len)和MID(s,n,len)
13.3.13 匹配子串开始位置的函数
13.3.14 字符串逆序的函数REVERSE(s)
13.3.15 返回指定位置的字符串的函数
13.3.16 返回指定字符串位置的函数FIELD(s,s1,s2,…)
13.3.17 返回子串位置的函数FIND_IN_SET(s1,s2)
13.3.18 选取字符串的函数MAKE_SET(x,s1,s2,…)
13.4 日期和时间函数
13.4.1 获取当前日期的函数和获取当前时间的函数
13.4.2 获取当前日期和时间的函数
13.4.3 UNIX时间戳函数
13.4.4 返回UTC日期的函数和返回UTC时间的函数
13.4.5 获取月份的函数MONTH(d)和MONTHNAME(d)
13.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d)
13.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d)
13.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d)
13.4.9 获取年份、季度、小时、分钟和秒钟的函数
13.4.10 获取日期的指定值的函数EXTRACT(type FROM d)
13.4.11 时间和秒钟转换的函数
13.4.12 计算日期和时间的函数
13.4.13 将日期和时间格式化的函数
13.5 条件判断函数
13.5.1 IF(expr,v1,v2)函数
13.5.2 IFNULL(v1,v2)函数
13.5.3 CASE函数
13.6 系统信息函数
13.6.1 获取MariaDB版本号、连接数和数据库名的函数
13.6.2 获取用户名的函数
13.6.3 获取字符串的字符集和排序方式的函数
13.6.4 获取最后一个自动生成的ID值的函数
13.7 加密函数
13.7.1 加密函数PASSWORD(str)
13.7.2 加密函数MD5(str)
13.7.3 加密函数ENCODE(str,pswd_str)
13.7.4 解密函数DECODE(crypt_str,pswd_str)
13.8 其他函数
13.8.1 格式化函数FORMAT(x,n)
13.8.2 不同进制的数字进行转换的函数
13.8.3 IP地址与数字相互转换的函数
13.8.4 加锁函数和解锁函数
13.8.5 重复执行指定操作的函数
13.8.6 改变字符集的函数
13.8.7 改变字段数据类型的函数
13.9 本章实例
13.10 上机实践
13.11 常见问题及解答
13.12 小结
13.13 本章习题
第14章 存储过程和函数
14.1 创建存储过程和函数
14.1.1 创建存储过程
14.1.2 创建存储函数
14.1.3 变量的使用
14.1.4 定义条件和处理程序
14.1.5 光标的使用
14.1.6 流程控制的使用
14.2 调用存储过程和函数
14.2.1 调用存储过程
14.2.2 调用存储函数
14.3 查看存储过程和函数
14.3.1 SHOW STATUS语句查看存储过程和函数的状态
14.3.2 SHOW CREATE语句查看存储过程和函数的定义
14.3.3 从information_schema.Routines表中查看存储过程和函数的信息
14.4 修改存储过程和函数
14.5 删除存储过程和函数
14.6 本章实例
14.7 上机实践
14.8 常见问题及解答
14.9 小结
14.10 本章习题
第4篇 MariaDB数据库高级管理
第15章 MariaDB用户管理
15.1 权限表
15.1.1 user表
15.1.2 db表和host表
15.1.3 tables_priv表和columns_priv表
15.1.4 procs_priv表
15.2 账户管理
15.2.1 新建普通用户
15.2.2 删除普通用户
15.2.3 root用户修改自己的密码
15.2.4 root用户修改普通用户密码
15.2.5 普通用户修改密码
15.3 权限管理
15.3.1 MariaDB的各种权限
15.3.2 授权
15.3.3 收回权限
15.3.4 查看权限
15.4 本章实例
15.5 上机实践
15.6 常见问题及解答
15.7 小结
15.8 本章习题
第16章 数据备份与还原
16.1 数据备份
16.1.1 使用mysqldump命令备份
16.1.2 直接复制整个数据库目录
16.1.3 使用mysqlhotcopy工具快速备份
16.2 数据还原
16.2.1 使用mysql命令还原
16.2.2 直接复制到数据库目录
16.3 数据库迁移
16.3.1 相同版本的MariaDB数据库之间的迁移
16.3.2 不同版本的MariaDB数据库之间的迁移
16.3.3 Windows操作系统下的MySQL向MariaDB的迁移
16.3.4 Linux操作系统下的MySQL向MariaDB的迁移
16.4 表的导出和导入
16.4.1 用SELECT…INTO OUTFILE导出文本文件
16.4.2 用mysqldump命令导出文本文件
16.4.3 用mysql命令导出文本文件
16.4.4 用LOAD DATA INFILE方式导入文本文件
16.4.5 用mysqlimport命令导入文本文件
16.5 本章实例
16.6 上机实践
16.7 常见问题及解答
16.8 小结
16.9 本章习题
第17章 MariaDB日志
17.1 日志简介
17.2 二进制日志
17.2.1 启动和设置二进制日志
17.2.2 查看二进制日志
17.2.3 删除二进制日志
17.2.4 使用二进制日志还原数据库
17.2.5 暂时停止二进制日志功能
17.3 错误日志
17.3.1 启动和设置错误日志
17.3.2 查看错误日志
17.3.3 删除错误日志
17.4 通用查询日志
17.4.1 启动和设置通用查询日志
17.4.2 查看通用查询日志
17.4.3 删除通用查询日志
17.5 慢查询日志
17.5.1 启动和设置慢查询日志
17.5.2 查看慢查询日志
17.5.3 删除慢查询日志
17.6 本章实例
17.7 上机实践
17.8 常见问题及解答
17.9 小结
17.10 本章习题
第18章 性能优化
18.1 优化简介
18.2 优化查询
18.2.1 分析查询语句
18.2.2 索引对查询速度的影响
18.2.3 使用索引查询
18.2.4 优化子查询
18.3 优化数据库结构
18.3.1 将字段很多的表分解成多个表
18.3.2 增加中间表
18.3.3 增加冗余字段
18.3.4 优化插入记录的速度
18.3.5 分析表、检查表和优化表
18.4 优化MariaDB服务器
18.4.1 优化服务器硬件
18.4.2 优化MariaDB的参数
18.5 本章实例
18.6 上机实践
18.7 常见问题及解答
18.8 小结
18.9 本章习题
第5篇 MariaDB应用与实战开发
第19章 Java访问MariaDB数据库
19.1 Java连接MariaDB数据库
19.1.1 下载JDBC驱动MariaDB Connector
19.1.2 安装MariaDB Connector驱动
19.1.3 连接MariaDB数据库
19.2 Java操作MariaDB数据库
19.2.1 创建Statement对象
19.2.2 使用SELECT语句查询数据
19.2.3 插入、更新或者删除数据
19.2.4 执行任意SQL语句
19.2.5 关闭创建的对象
19.3 Java备份与还原MariaDB数据库
19.3.1 Java备份MariaDB数据库
19.3.2 Java还原MariaDB数据库
19.4 本章实例
19.5 上机实践
19.6 常见问题及解答
19.7 小结
19.8 本章习题
第20章 PHP访问MariaDB数据库
20.1 PHP连接MariaDB数据库
20.1.1 Windows操作系统下配置PHP
20.1.2 Linux操作系统下配置PHP
20.1.3 连接MariaDB数据库
20.2 PHP操作MariaDB数据库
20.2.1 执行SQL语句
20.2.2 处理查询结果
20.2.3 获取查询结果的字段名
20.2.4 一次执行多个SQL语句
20.2.5 处理带参数的SQL语句
20.2.6 关闭创建的对象
20.3 PHP备份与还原MariaDB数据库
20.3.1 PHP备份MariaDB数据库
20.3.2 PHP还原MariaDB数据库
20.4 本章实例
20.5 上机实践
20.6 常见问题及解答
20.7 小结
20.8 本章习题
第21章 C#访问MariaDB数据库
21.1 C#连接MariaDB数据库
21.1.1 下载Connector/Net驱动程序
21.1.2 安装Connector/Net驱动程序
21.1.3 使用Connector/Net驱动程序
21.1.4 连接MariaDB数据库
21.2 C#操作MariaDB数据库
21.2.1 创建MySqlCommand对象
21.2.2 插入、更新或者删除数据
21.2.3 使用SELECT语句查询数据
21.2.4 一次执行多个SELECT语句
21.2.5 处理SELECT语句只返回一个值的情况
21.2.6 处理带参数的SQL语句
21.2.7 使用DataSet对象和DataTable对象
21.2.8 关闭创建的对象
21.3 C#备份与还原MariaDB数据库
21.3.1 C#备份MariaDB数据库
21.3.2 C#还原MariaDB数据库
21.4 本章实例
21.5 上机实践
21.6 常见问题及解答
21.7 小结
21.8 本章习题
第22章 驾校学员管理系统
22.1 系统概述
22.2 系统功能
22.3 数据库设计
22.3.1 设计表
22.3.2 设计索引
22.3.3 设计视图
22.3.4 设计触发器
22.4 系统实现
22.4.1 构建工程
22.4.2 访问和操作MariaDB数据库的代码
22.5 用户管理模块
22.5.1 用户登录功能
22.5.2 修改密码
22.6 学籍管理模块
22.6.1 添加学员的学籍信息
22.6.2 查询学员的学籍信息
22.6.3 修改学员的学籍信息
22.6.4 删除学员的学籍信息
22.7 体检管理模块
22.8 成绩管理模块
22.9 证书管理模块
22.10 小结
展开