MySQL数据库原理与应用
![MySQL数据库原理与应用 MySQL数据库原理与应用](https://img.dushu.com/2024/07/17/13065442792155.jpg_200.jpg)
作者:王金恒,王煜林,刘卓华,陈孝如
出版社:清华大学出版社
出版时间:2023-08-01
ISBN:9787302639336
定价:¥59.80
第1章数据库概述
1.1为什么要使用数据库
1.1.1何为数据库
1.1.2数据库的特点
1.2数据库与数据库管理系统
1.2.1数据库的相关概念
1.2.2数据库与数据库管理系统的关系
1.2.3数据库管理系统的排名
1.2.4常见的数据库
1.3关系数据库与非关系数据库
1.3.1关系数据库
1.3.2非关系数据库
1.3.3常见的非关系数据库
1.4关系数据库的设计
1.4.1信息世界的基本概念
1.4.2数据模型
1.4.3关系模型的完整性约束
1.4.4关系运算
1.4.5设计关系数据库的基本步骤
课业任务
*课业任务11开发数据库学习系统的需求分析
*课业任务12数据库学习系统的概念结构设计
*课业任务13数据库学习系统的逻辑结构设计
*课业任务14数据库学习系统的物理结构设计
课业任务15数据库的实施
课业任务16数据库的运行和维护
习题
第2章MySQL工具的使用
2.1MySQL概述
2.2MySQL的下载与安装
2.3MySQL服务的启动与停止
2.3.1使用图形界面工具启动与停止MySQL服务
2.3.2使用命令行启动与停止MySQL服务
2.4MySQL服务器的登录
2.4.1使用MySQL自带的客户端登录
2.4.2使用命令行方式登录
2.4.3两种数据库图形化管理工具
课业任务
*课业任务21下载MySQL 8.0社区版
*课业任务22安装MySQL 8.0
*课业任务23配置MySQL 8.0的环境变量
*课业任务24登录MySQL服务器
课业任务25卸载MySQL
课业任务26使用MySQL Workbench工具登录MySQL服务器
课业任务27使用Navicat Premium工具登录MySQL服务器
常见错误及解决方案
错误21安装过程失败
错误22MySQL运行失败
错误23用MySQL 8.0自带的客户端登录时报错
错误24卸载后重装MySQL失败
习题
第3章结构化查询语言
3.1SQL的概述
3.1.1SQL的背景
3.1.2SQL的分类
3.2SQL的规则与规范
3.2.1SQL的基本规则
3.2.2SQL大小写的规范
3.2.3MySQL注释符
3.2.4MySQL数据库对象的命名规范
3.3运算符
3.3.1算术运算符
3.3.2比较运算符
3.3.3逻辑运算符
3.3.4位运算符
3.3.5运算符的优先级
课业任务
课业任务31算术运算符的应用
课业任务32比较运算符的应用
课业任务33逻辑运算符的应用
课业任务34位运算符的应用
课业任务35运算符的综合应用
课业任务36使用MySQL Workbench工具进行比较运算
课业任务37使用Navicat Premium工具进行综合运算
常见错误及解决方案
错误31关键字分行书写时报错
错误32采用中文状态下的半角输入方式时报错
习题
第4章MySQL数据库管理
4.1MySQL数据库管理概述
4.1.1数据库系统概述
4.1.2数据的存储过程
4.2创建和管理数据库
4.2.1创建数据库
4.2.2查看数据库
4.2.3选择当前操作的数据库
4.2.4修改数据库
4.2.5删除数据库
课业任务
*课业任务41创建数据库学习系统数据库
课业任务42使用数据库学习系统数据库
课业任务43修改数据库学习系统数据库
课业任务44删除数据库学习系统数据库
课业任务45使用MySQL Workbench工具管理数据库
*课业任务46使用Navicat Premium工具管理数据库
常见错误及解决方案
错误41数据库在创建时报错
错误42删除数据库失败
习题
第5章MySQL数据表管理
5.1数据类型
5.1.1MySQL数据类型介绍
5.1.2整数类型
5.1.3浮点数类型与定点数类型
5.1.4日期与时间类型
5.1.5文本字符串类型
5.1.6二进制字符串类型
5.2创建数据表
5.2.1约束概述
5.2.2创建数据表的语法格式
5.2.3使用非空约束
5.2.4使用主键约束
5.2.5使用外键约束
5.2.6使用唯一约束
5.2.7使用自增列
5.2.8使用默认值约束
5.2.9使用检查约束
5.2.10查看数据表结构
5.3修改数据表
5.3.1重命名数据表
5.3.2添加字段
5.3.3修改字段
5.3.4重命名字段
5.3.5修改字段的排列位置
5.3.6删除字段
5.4删除数据表
5.4.1删除没有被关联的数据表
5.4.2删除被其他数据表关联的数据表
课业任务
*课业任务51创建用户登录表
课业任务52向用户登录表中添加字段
课业任务53修改用户登录表中字段的数据类型
课业任务54删除用户登录表中的一个字段
课业任务55删除用户登录表
课业任务56使用MySQL Workbench工具创建用户登录表
课业任务57使用Navicat Premium工具向用户登录表添加字段
常见错误及解决方案
错误51创建数据表失败
错误52删除数据表失败
习题
第6章表记录的检索
6.1单表查询
6.1.1基本查询
6.1.2WHERE子句
6.1.3ORDER BY子句
6.1.4GROUP BY子句
6.1.5用LIMIT关键字限制查询结果的数量
6.2函数查询
6.2.1COUNT()函数
6.2.2SUM()函数
6.2.3AVG()函数
6.2.4MAX()、MIN()函数
6.3多表查询
6.3.1连接查询
6.3.2子查询
6.3.3合并查询结果
6.3.4定义别名
6.3.5正则表达式查询
课业任务
*课业任务61查询课程表中课程学分为4的专业基础课的课程信息
*课业任务62查询学生表中最高和最矮身高
课业任务63查询计算机学院所管理的班级数量
课业任务64查询选修了“数据库原理与应用”课程的学生姓名
*课业任务65综合查询的应用
课业任务66使用MySQL Workbench工具进行连接查询
课业任务67使用Navicat Premium工具进行综合查询
常见错误及解决方案
错误61分组查询失败
错误62连接查询失败
习题
第7章视图与索引
7.1视图
7.1.1创建视图
7.1.2查看视图
7.1.3修改视图
7.1.4更新视图
7.1.5删除视图
7.2索引
7.2.1创建索引
7.2.2删除索引
课业任务
*课业任务71创建视图求计算机系的人数
课业任务72创建视图求每位同学的成绩
课业任务73创建唯一索引
课业任务74使用MySQL Workbench工具创建索引
课业任务75使用Navicat Premium工具创建视图
常见错误及解决方案
错误71创建视图失败
错误72创建唯一索引失败
习题
第8章数据处理之增、删、改
8.1插入数据
8.1.1通过INSERT…VALUES语句插入数据
8.1.2通过INSERT…SET语句插入数据
8.1.3通过INSERT…SELECT语句插入查询结果
8.2更新数据
8.3删除数据
8.3.1通过DELETE语句删除数据
8.3.2通过TRUNCATE TABLE语句删除数据
8.3.3DELETE、TRUNCATE TABLE和DROP语句的区别
课业任务
*课业任务81向课程表插入一行记录
课业任务82向课程表同时插入多行记录
*课业任务83更新课程表中的字段内容
*课业任务84删除课程表中插入的多行记录
课业任务85使用MySQL Workbench工具删除课程表中的记录
课业任务86使用Navicat Premium工具更新课程表中的记录
常见错误及解决方案
错误81向课程表插入一行数据失败
错误82TRUNCATE TABLE语句清空数据表失败
习题
第9章存储过程与游标
9.1存储过程概述
9.2存储过程的创建、调用与查看
9.2.1创建存储过程
9.2.2调用存储过程
9.2.3查看存储过程
9.3游标的使用
9.4存储过程的修改
9.5存储过程的删除
9.6变量类型
9.6.1局部变量
9.6.2用户变量
9.6.3会话变量
9.6.4全局变量
9.7流程控制
9.7.1分支结构
9.7.2循环结构
9.7.3跳转语句
课业任务
课业任务91使用WHILE语句求1 2 … 100
课业任务92使用LOOP语句、ITERATE语句和LEAVE语句求
1 2 … 100
*课业任务93创建存储过程查询某同学的成绩
课业任务94使用MySQL Workbench工具求1 2 … 100
课业任务95使用Navicat Premium工具求某系的人数
常见错误及解决方案
错误91创建存储过程失败
错误92为用户变量赋值失败
错误93调用存储过程进入死循环
习题
第10章函数
10.1存储函数的创建、调用与查看
10.1.1创建存储函数
10.1.2调用存储函数
10.1.3查看存储函数
10.2修改存储函数
10.3删除存储函数
10.4MySQL系统函数
10.4.1字符串函数
10.4.2数学函数
10.4.3日期和时间函数
10.4.4统计函数
10.4.5流程控制函数
课业任务
课业任务101创建存储函数求某班级的总人数
课业任务102统计学生的姓氏数量
*课业任务103使用MySQL Workbench工具创建存储函数求
某学生的成绩总分
课业任务104使用Navicat Premium工具计算当前日期是一年中的
第几周
常见错误及解决方案
错误101创建存储函数失败
错误102调用系统函数失败
错误103调用数学函数得到的结果与实际结果不同
习题
第11章触发器
11.1MySQL触发器概述
11.1.1什么是触发器
11.1.2触发器的作用
11.1.3触发器的优缺点
11.1.4NEW变量和OLD变量
11.2创建触发器
11.3查看触发器
11.3.1查看当前数据库的所有触发器
11.3.2查看当前数据库的某个触发器
11.3.3查看TRIGGERS数据表中的触发器信息
11.4删除触发器
课业任务
课业任务111保护部门表中人文与教育学院的地址信息不被
更改
课业任务112保护成绩表中某学号的信息不被删除
*课业任务113使用Navicat Premium工具创建触发器记录班级表
操作日志
课业任务114使用MySQL Workbench工具管理触发器
常见错误及解决方案
错误111语句结束符冲突
错误112切换结束标记符无效
错误113创建触发器重复
习题
第12章事务处理
12.1存储引擎概述
12.1.1什么是存储引擎
12.1.2MySQL存储引擎
12.1.3查看存储引擎
12.2事务的基本概念
12.2.1事务的ACID特性
12.2.2事务的状态
12.3使用事务
12.3.1显式事务
12.3.2隐式事务
12.4事务隔离级别
12.4.1数据并发问题
12.4.2SQL中的4种隔离级别
12.4.3MySQL默认支持的隔离级别
12.4.4设置事务的隔离级别
课业任务
课业任务121提交与回滚操作
课业任务122读未提交操作
课业任务123读已提交操作
课业任务124可重复读操作
常见错误及解决方案
错误121未进行事务提交(COMMIT)操作
错误122可重复读操作时会话窗口未响应
习题
第13章数据库安全
13.1数据库安全概述
13.2数据库安全控制
13.2.1计算机系统的安全措施
13.2.2数据库管理系统安全控制
13.3用户管理
13.3.1登录MySQL服务器
13.3.2创建用户
13.3.3修改用户
13.3.4查看用户
13.3.5删除用户
13.4权限管理
13.4.1权限列表
13.4.2授予权限的原则
13.4.3授予权限
13.4.4查看权限
13.4.5收回权限
13.5权限表
13.5.1user数据表
13.5.2db数据表
13.5.3tables_priv数据表和columns_priv数据表
13.5.4procs_priv数据表
13.6角色管理
13.6.1角色的作用
13.6.2创建角色
13.6.3给角色授予权限
13.6.4查看角色的权限
13.6.5回收角色的权限
13.6.6给用户赋予角色
13.6.7激活角色
13.6.8撤销用户的角色
13.6.9删除角色
课业任务
*课业任务131创建用户并授予权限
课业任务132修改用户名并回收权限
课业任务133创建角色并赋予权限
课业任务134回收角色的权限并将其删除
课业任务135使用MySQL Workbench工具管理用户
课业任务136使用Navicat Premium工具管理用户
常见错误及解决方案
错误131查看数据库中的所有用户失败
错误132无法修改普通用户密码
习题
第14章MySQL数据库的备份和恢复
14.1数据库备份的意义
14.2数据库备份的类型
14.3数据库备份策略
14.4数据库备份方法
14.5使用MySQLdump工具进行备份
14.5.1备份数据库
14.5.2备份数据表
14.5.3MySQLdump常用选项
14.6MySQL数据恢复
14.6.1从单库备份中恢复单库
14.6.2从全量备份中恢复单库
14.7MySQL导出、导入文本文件
14.7.1使用MySQL命令和MySQLdump工具导出文本文件
14.7.2使用SELECT INTO OUTFILE语句导出文本文件
14.7.3使用LOAD DATA INFILE方式导入文本文件
14.7.4使用MySQLimport命令导入文本文件
14.8MySQL数据库迁移
14.8.1MySQL数据库之间的迁移
14.8.2不同数据库与MySQL数据库之间的迁移
课业任务
课业任务141使用MySQLdump工具导出文本文件
课业任务142使用MySQL命令导出文本文件
*课业任务143使用MySQL Workbench工具对数据库进行
备份
课业任务144使用Navicat Premium工具对数据库进行恢复
常见错误及解决方案
错误141导出失败
错误142删除数据表失败
错误143迁移失败(1)
错误144迁移失败(2)
错误145迁移失败(3)
习题
第15章部署和运行数据库学习系统
15.1数据库学习系统概述
15.2创建数据库和导入数据表
15.2.1新建数据库
15.2.2向数据库中导入已经存在的数据表
15.3教学管理系统所需环境
15.4数据库学习系统的文件展示
*15.5数据库技术在数据库学习系统中的应用
15.5.1登录功能的应用
15.5.2分页查询功能的应用
15.5.3添加功能的应用
15.5.4修改功能的应用
15.5.5删除功能的应用
15.5.6单表查询的应用
15.5.7函数查询的应用
15.5.8连接查询的应用
15.5.9综合查询的应用
15.5.10视图的应用
15.5.11存储过程的应用
15.5.12触发器的应用
15.5.13用户管理的应用
*15.6将数据库学习系统部署到腾讯云轻量应用服务器
15.6.1腾讯云轻量应用服务器的配置
15.6.2宝塔的部署
15.6.3系统部署
15.6.4域名的解析与绑定