新書推薦:
《
那本书是(吉竹伸介与又吉直树 天才联动!)
》
售價:NT$
454.0
《
传播的跃迁:人工智能如何革新人类的交流
》
售價:NT$
505.0
《
纯粹·古代中国的历史与制度
》
售價:NT$
286.0
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:NT$
265.0
《
一个英国军事顾问眼中的二战
》
售價:NT$
1265.0
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:NT$
306.0
《
瘦肝
》
售價:NT$
454.0
《
股票大作手回忆录
》
售價:NT$
254.0
|
編輯推薦: |
MySQL被设计为一个可移植的数据库,几乎能在所有的操作系统上运行,如Linux、Solaris、FreeBSD、Mac和Windows。开源MySQL数据库发展到今天,已经拥有了非常广泛的用户基础,市场证明MySQL具有性价比高、使用灵活、支持良好和应用广泛的特点。MySQL 8做了大量的改进,性能比MySQL 5.7快两倍!MySQL 8.0是全球*受欢迎的开源数据库之一。通过本书的实训,读者可以快速上手流行的数据库工具,掌握MySQL数据库技术。
|
內容簡介: |
本书内容主要包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、数据表的操作(插入、更新与删除数据)、索引、视图、查询数据、MySQL函数、存储过程和函数、触发器、用户管理、数据备份与还原、MySQL日志、性能优化。*后通过两个综合案例的数据库设计进一步讲述MySQL在实际工作中的应用,重点介绍MySQL的安装与配置、数据类型和运算符以及数据表的操作。本书注重实战操作,帮助读者循序渐进地掌握MySQL中的各项技术。 本书共有400个实例和14个综合案例,还有大量的经典习题。随书赠送了近20小时培训班形式的视频教学录像,详细讲解书中每一个知识点和每一个数据库操作的方法和技巧。同时还提供本书所有例子的源代码,读者可以直接查看和调用。 本书适合MySQL数据库初学者、MySQL数据库开发人员和MySQL数据库管理员学习,同时也能作为高等院校相关专业师生的教学用书。
|
關於作者: |
胡同夫,从事多年网站前端开发和数据库管理工作。精通多种编程语言和关系型数据库管理,具有多年实战开发经验,对MySQL有深入研究。
|
目錄:
|
目录
第1章 MySQL的安装与配置 1
1.1 在Windows平台下安装与配置MySQL 8.0 1
1.1.1 安装MySQL 8.0 1
1.1.2 配置MySQL 8.0 5
1.2 启动服务并登录MySQL数据库 9
1.2.1 启动MySQL服务 9
1.2.2 登录MySQL数据库 10
1.2.3 配置Path变量 11
1.3 MySQL常用图形管理工具 13
1.4 在Linux平台下安装与配置MySQL 8.0 14
1.4.1 Linux操作系统下的MySQL版本介绍 14
1.4.2 安装和配置MySQL的RPM包 15
1.4.3 安装和配置MySQL的源码包 18
1.5 专家解惑 19
1.6 经典习题 19
第2章 操作数据库和数据表 20
2.1 创建数据库 20
2.2 删除数据库 22
2.3 创建数据表 22
2.3.1 创建表的语法形式 22
2.3.2 使用主键约束 24
2.3.3 使用外键约束 25
2.3.4 使用非空约束 26
2.3.5 使用唯一性约束 27
2.3.6 使用默认约束 27
2.3.7 设置表的属性值自动增加 28
2.4 查看数据表结构 29
2.4.1 查看表基本结构语句DESCRIBE 29
2.4.2 查看表详细结构语句SHOW CREATE TABLE 30
2.5 修改数据表 31
2.5.1 修改表名 31
2.5.2 修改字段的数据类型 32
2.5.3 修改字段名 33
2.5.4 添加字段 34
2.5.5 删除字段 36
2.5.6 修改字段的排列位置 37
2.5.7 更改表的存储引擎 38
2.5.8 删除表的外键约束 39
2.6 删除数据表 40
2.6.1 删除没有被关联的表 41
2.6.2 删除被其他表关联的主表 41
2.7 MySQL 8.0的新特性1默认字符集改为utf8mb4 43
2.8 MySQL 8.0的新特性2自增变量的持久化 44
2.9 综合案例数据表的基本操作 46
2.10 专家解惑 54
2.11 经典习题 54
第3章 数据类型和运算符 56
3.1 MySQL数据类型介绍 56
3.1.1 整数类型 56
3.1.2 浮点数类型和定点数类型 58
3.1.3 日期与时间类型 60
3.1.4 文本字符串类型 71
3.1.5 二进制字符串类型 76
3.2 如何选择数据类型 79
3.3 常见运算符介绍 80
3.3.1 运算符概述 80
3.3.2 算术运算符 81
3.3.3 比较运算符 82
3.3.4 逻辑运算符 90
3.3.5 位运算符 92
3.3.6 运算符的优先级 95
3.4 综合案例运算符的使用 96
3.5 专家解惑 98
3.6 经典习题 99
第4章 插入、更新与删除数据 100
4.1 插入数据 100
4.1.1 为表的所有字段插入数据 100
4.1.2 为表的指定字段插入数据 102
4.1.3 同时插入多条记录 103
4.1.4 将查询结果插入表中 105
4.2 更新数据 107
4.3 删除数据 109
4.4 为表增加计算列 111
4.5 MySQL 8.0的新特性DDL的原子化 112
4.6 综合案例记录的插入、更新和删除 113
4.7 专家解惑 117
4.8 经典习题 118
第5章 索引 119
5.1 索引简介 119
5.1.1 索引的含义和特点 119
5.1.2 索引的分类 120
5.1.3 索引的设计原则 121
5.2 创建索引 121
5.2.1 创建表的时候创建索引 121
5.2.2 在已经存在的表上创建索引 127
5.3 删除索引 134
5.4 MySQL 8.0的新特性1支持降序索引 136
5.5 MySQL 8.0的新特性2统计直方图 138
5.5.1 直方图的优点 139
5.5.2 直方图的基本操作 139
5.6 综合案例创建索引 141
5.7 专家解惑 143
5.8 经典习题 143
第6章 视图 145
6.1 视图概述 145
6.1.1 视图的含义 145
6.1.2 视图的作用 146
6.2 创建视图 147
6.2.1 创建视图的语法形式 147
6.2.2 在单表上创建视图 147
6.2.3 在多表上创建视图 148
6.3 查看视图 149
6.3.1 使用DESCRIBE语句查看视图的基本信息 149
6.3.2 使用SHOW TABLE STATUS语句查看视图的基本信息 150
6.3.3 使用SHOW CREATE VIEW语句查看视图的详细信息 151
6.3.4 在views表中查看视图的详细信息 152
6.4 修改视图 153
6.4.1 使用CREATE OR REPLACE VIEW语句修改视图 153
6.4.2 使用ALTER语句修改视图 154
6.5 更新视图 155
6.6 删除视图 158
6.7 综合案例视图应用 158
6.8 专家解惑 166
6.9 经典习题 167
第7章 查询数据 168
7.1 基本查询语句 168
7.2 单表查询 170
7.2.1 查询所有字段 171
7.2.2 查询指定字段 172
7.2.3 查询指定记录 173
7.2.4 带IN关键字的查询 175
7.2.5 带BETWEEN AND的范围查询 176
7.2.6 带LIKE的字符匹配查询 178
7.2.7 查询空值 179
7.2.8 带AND的多条件查询 181
7.2.9 带OR的多条件查询 182
7.2.10 查询结果不重复 183
7.2.11 对查询结果排序 184
7.2.12 分组查询 188
7.2.13 使用LIMIT限制查询结果的数量 193
7.3 使用集合函数查询 194
7.3.1 COUNT函数 194
7.3.2 SUM函数 195
7.3.3 AVG函数 196
7.3.4 MAX函数 197
7.3.5 MIN函数 198
7.4 连接查询 199
7.4.1 内连接查询 199
7.4.2 外连接查询 202
7.4.3 复合条件连接查询 204
7.5 子查询 205
7.5.1 带ANY、SOME关键字的子查询 205
7.5.2 带ALL关键字的子查询 206
7.5.3 带EXISTS关键字的子查询 207
7.5.4 带IN关键字的子查询 208
7.5.5 带比较运算符的子查询 210
7.6 合并查询结果 211
7.7 为表和字段取别名 214
7.7.1 为表取别名 214
7.7.2 为字段取别名 216
7.8 使用正则表达式查询 217
7.8.1 查询以特定字符或字符串开头的记录 218
7.8.2 查询以特定字符或字符串结尾的记录 219
7.8.3 用符号.来替代字符串中的任意一个字符 219
7.8.4 使用*和 匹配多个字符 220
7.8.5 匹配指定字符串 220
7.8.6 匹配指定字符中的任意一个 221
7.8.7 匹配指定字符以外的字符 222
7.8.8 使用{n,}或者{n,m}指定字符串连续出现的次数 223
7.9 MySQL 8.0的新特性1GROUP BY不再隐式排序 224
7.10 MySQL 8.0的新特性2通用表表达式 226
7.11 综合案例数据表查询操作 230
7.12 专家解惑 237
7.13 经典习题 237
第8章 MySQL函数 239
8.1 MySQL函数简介 239
8.2 数学函数 240
8.3 字符串函数 241
8.3.1 计算字符串字符数的函数和计算字符串长度的函数 242
8.3.2 合并字符串函数CONCATs1,s2,、CONCAT_WSx,s1,s2, 242
8.3.3 替换字符串的函数INSERTs1,x,len,s2和字母大小写转换函数 242
8.3.4 获取指定长度的字符串的函数LEFTs,n和RIGHTs,n 243
8.3.5 填充字符串的函数LPADs1,len,s2和RPADs1,len,s2 243
8.3.6 删除空格的函数LTRIMs和RTRIMs 244
8.3.7 删除指定字符串的函数TRIMs1 FROM s 244
8.3.8 重复生成字符串的函数REPEATs,n 244
8.3.9 空格函数SPACEn和替换函数REPLACEs,s1,s2 245
8.3.10 比较字符串大小的函数STRCMPs1,s2 245
8.3.11 获取子串的函数SUBSTRINGs,n,len和MIDs,n,len 245
8.3.12 匹配子串开始位置的函数 246
8.3.13 字符串逆序的函数REVERSEs 247
8.3.14 返回指定位置的字符串的函数 247
8.3.15 返回指定字符串位置的函数FIELDs,s1,s2, 247
8.3.16 返回子串位置的函数FIND_IN_SETs1,s2 248
8.3.17 选取字符串的函数MAKE_SETx,s1,s2, 248
8.4 日期和时间函数 249
8.4.1 获取当前日期的函数和获取当前时间的函数 249
8.4.2 获取当前日期和时间的函数 250
8.4.3 UNIX时间戳函数 250
8.4.4 返回UTC日期的函数和返回UTC时间的函数 251
8.4.5 获取月份的函数MONTHdate和MONTHNAMEdate 251
8.4.6 获取星期的函数DAYNAMEd、DAYOFWEEKd和WEEKDAYd 252
8.4.7 获取星期数的函数WEEKd和WEEKOFYEARd 253
8.4.8 获取天数的函数DAYOFYEARd和DAYOFMONTHd 254
8.4.9 获取年份、季度、小时、分钟和秒钟的函数 254
8.4.10 获取日期的指定值的函数EXTRACTtype FROM date 255
8.4.11 时间和秒钟转换的函数 255
8.4.12 计算日期和时间的函数 256
8.4.13 将日期和时间格式化的函数 259
8.5 条件判断函数 262
8.5.1 IFexpr,v1,v2函数 262
8.5.2 IFNULLv1,v2函数 262
8.5.3 CASE函数 263
8.6 系统信息函数 264
8.6.1 获取MySQL版本号、连接数和数据库名的函数 264
8.6.2 获取用户名的函数 266
8.6.3 获取字符串的字符集和排序方式的函数 266
8.6.4 获取最后一个自动生成的ID值的函数 267
8.7 MySQL 8.0的新特性1加密函数 268
8.7.1 加密函数MD5str 269
8.7.2 加密函数SHAstr 269
8.7.3 加密函数SHA2str, hash_length 269
8.8 MySQL 8.0的新特性2窗口函数 270
8.9 综合案例MySQL函数的使用 271
8.10 专家解惑 274
8.11 经典习题 275
第9章 存储过程和函数 277
9.1 创建存储过程和函数 277
9.1.1 创建存储过程 278
9.1.2 创建存储函数 280
9.1.3 变量的使用 281
9.1.4 定义条件和处理程序 282
9.1.5 光标的使用 285
9.1.6 流程控制的使用 286
9.2 调用存储过程和函数 291
9.2.1 调用存储过程 291
9.2.2 调用存储函数 292
9.3 查看存储过程和函数 292
9.3.1 使用SHOW STATUS语句查看存储过程和函数的状态 293
9.3.2 使用SHOW CREATE语句查看存储过程和函数的定义 293
9.3.3 从information_schema.Routines表中查看存储过程和函数的信息 294
9.4 修改存储过程和函数 295
9.5 删除存储过程和函数 297
9.6 MySQL 8.0的新特性全局变量的持久化 298
9.7 综合案例创建存储过程和函数 299
9.8 专家解惑 302
9.9 经典习题 302
第10章 MySQL触发器 303
10.1 创建触发器 303
10.1.1 创建只有一个执行语句的触发器 304
10.1.2 创建有多个执行语句的触发器 304
10.2 查看触发器 307
10.2.1 使用SHOW TRIGGERS语句查看触发器信息 307
10.2.2 在triggers表中查看触发器信息 309
10.3 触发器的使用 310
10.4 删除触发器 311
10.5 综合案例触发器的使用 312
10.6 专家解惑 314
10.7 经典习题 314
第11章 MySQL权限与安全管理 315
11.1 权限表 315
11.1.1 user表 315
11.1.2 db表 318
11.1.3 tables_priv表和columns_priv表 319
11.1.4 procs_priv表 320
11.2 账户管理 320
11.2.1 登录和退出MySQL服务器 321
11.2.2 新建普通用户 322
11.2.3 删除普通用户 324
11.2.4 root用户修改自己的密码 325
11.2.5 root用户修改普通用户密码 326
11.3 权限管理 327
11.3.1 MySQL的各种权限 327
11.3.2 授权 329
11.3.3 收回权限 331
11.3.4 查看权限 332
11.4 访问控制 333
11.4.1 连接核实阶段 333
11.4.2 请求核实阶段 333
11.5 提升安全性 334
11.5.1 AES 256加密 334
11.5.2 密码到期更换策略 336
11.5.3 安全模式安装 338
11.6 MySQL 8.0的新特性管理角色 338
11.7 综合案例综合管理用户权限 339
11.8 专家解惑 342
11.9 经典习题 342
第12章 数据备份与恢复 344
12.1 数据备份 344
12.1.1 使用MySQLdump命令备份 344
12.1.2 直接复制整个数据库目录 350
12.1.3 使用MySQLhotcopy工具快速备份 351
12.2 数据恢复 351
12.2.1 使用MySQL命令恢复 351
12.2.2 直接复制到数据库目录 352
12.2.3 MySQLhotcopy快速恢复 353
12.3 数据库迁移 353
12.3.1 相同版本的MySQL数据库之间的迁移 353
12.3.2 不同版本的MySQL数据库之间的迁移 354
12.3.3 不同数据库之间的迁移 354
12.4 表的导出和导入 354
12.4.1 使用SELECTINTO OUTFILE导出文本文件 355
12.4.2 使用MySQLdump命令导出文本文件 359
12.4.3 使用MySQL命令导出文本文件 361
12.4.4 使用LOAD DATA INFILE方式导入文本文件 364
12.4.5 使用MySQLimport命令导入文本文件 367
12.5 综合案例数据的备份与恢复 368
12.6 专家解惑 372
12.7 经典习题 373
第13章 MySQL日志 374
13.1 日志简介 374
13.2 二进制日志 375
13.2.1 启动和设置二进制日志 375
13.2.2 查看二进制日志 376
13.2.3 删除二进制日志 378
13.2.4 使用二进制日志恢复数据库 380
13.2.5 暂时停止二进制日志功能 380
13.3 错误日志 381
13.3.1 启动和设置错误日志 381
13.3.2 查看错误日志 381
13.3.3 删除错误日志 382
13.4 通用查询日志 383
13.4.1 启动通用查询日志 383
13.4.2 查看通用查询日志 383
13.4.3 删除通用查询日志 384
13.5 慢查询日志 384
13.5.1 启动和设置慢查询日志 385
13.5.2 查看慢查询日志 385
13.5.3 删除慢查询日志 386
13.6 MySQL 8.0的新特性日志分类更详细 386
13.7 综合案例MySQL日志的综合管理 386
13.8 专家解惑 392
13.9 经典习题 393
第14章 性能优化 394
14.1 优化简介 394
14.2 优化查询 395
14.2.1 分析查询语句 395
14.2.2 索引对查询速度的影响 398
14.2.3 使用索引查询 399
14.2.4 优化子查询 402
14.3 优化数据库结构 402
14.3.1 将字段很多的表分解成多个表 403
14.3.2 增加中间表 404
14.3.3 增加冗余字段 405
14.3.4 优化插入记录的速度 406
14.3.5 分析表、检查表和优化表 407
14.4 优化MySQL服务器 409
14.4.1 优化服务器硬件 409
14.4.2 优化MySQL的参数 410
14.5 临时表性能优化 411
14.6 服务器语句超时处理 413
14.7 创建全局通用表空间 414
14.8 MySQL 8.0的新特性1支持不可见索引 414
14.9 MySQL 8.0的新特性2增加资源组 416
14.10 综合案例全面优化MySQL服务器 418
14.11 专家解惑 420
14.12 经典习题 421
第15章 综合项目1论坛管理系统数据库设计 422
15.1 系统概述 422
15.2 系统功能 423
15.3 数据库设计和实现 424
15.3.1 设计方案图表 424
15.3.2 设计表 426
15.3.3 设计索引 429
15.3.4 设计视图 430
15.3.5 设计触发器 431
第16章 综合项目2新闻发布系统数据库设计 433
16.1 系统概述 433
16.2 系统功能 434
16.3 数据库设计和实现 435
16.3.1 设计表 435
16.3.2 设计索引 439
16.3.3 设计视图 440
16.3.4 设计触发器 441
|
內容試閱:
|
前言
本书是面向MySQL数据库管理系统初学者的一本高质量的图书。目前国内MySQL需求旺盛,各大知名企业高薪招聘技术能力强的MySQL开发人员和管理人员。本书根据这样的需求,针对初学者量身定做,内容注重实战,通过实例的操作与分析,引领读者快速学习和掌握MySQL开发和管理技术。
本书内容
第1章介绍MySQL的安装和配置,主要包括Windows平台下的安装和配置、Linux平台下的安装和配置、如何启动MySQL服务、如何更改MySQL的配置等。
第2章介绍MySQL数据库的基本操作,包括创建数据库、删除数据库、创建数据表、查看数据表结构、修改数据表和删除数据表。
第3章介绍MySQL中的数据类型和运算符,主要包括MySQL数据类型介绍、如何选择数据类型和常见运算符介绍。
第4章介绍如何插入、更新与删除数据,包括插入数据、更新数据、删除数据。
第5章介绍MySQL中的索引,包括索引简介、如何创建各种类型的索引和如何删除索引。
第6章介绍MySQL视图,主要包括视图的概念、创建视图、查看视图、修改视图、更新视图和删除视图。
第7章介绍如何查询数据表中的数据,主要包括基本查询语句、单表查询、使用聚合函数查询、连接查询、子查询、合并查询结果、为表和字段取别名以及使用正则表达式查询。
第8章介绍MySQL函数,包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数和其他函数。
第9章介绍MySQL中的存储过程和函数,包括存储过程和函数的创建、调用、查看、修改和删除。
第10章介绍MySQL触发器,包括创建触发器、查看触发器、触发器的使用和删除触发器。
第11章介绍MySQL用户管理,主要包括MySQL中的各种权限表、账户管理、权限管理和MySQL的访问控制机制。
第12章介绍MySQL数据库的备份和恢复,主要包括数据备份、数据恢复、数据库的迁移和数据表的导出和导入。
第13章介绍MySQL日志,主要包括日志简介、二进制日志、错误日志、通用查询日志和慢查询日志。
第14章介绍如何对MySQL进行性能优化,包括优化简介、优化查询、优化数据库结构和优化MySQL服务器。
第15章介绍论坛系统数据库的设计方法和实现过程。
第16章介绍新闻发布系统数据库的设计方法和实现过程。
本书特色
内容全面:涵盖所有MySQL的基础知识点,由浅入深地介绍MySQL数据库开发技术。
图文并茂:在介绍案例的过程中,每一个操作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到操作的过程以及效果,便于读者更快地理解和掌握。
易学易用:颠覆传统看书的观念,变成一本能操作的书。
案例丰富:把知识点融汇于系统的案例实训中,并且结合综合案例进行讲解和拓展,进而达到知其然,并知其所以然的目的。
提示说明:本书对读者在学习过程中可能会遇到的疑难问题以提示的形式进行了说明,以免读者在学习的过程中走弯路。
超值下载包:本书共有400个详细实例和14个综合案例的源代码,能让读者在实战应用中掌握MySQL的每一项技能。下载包中赠送近20小时培训班形式的视频教学录像,使本书真正体现自学无忧,令其物超所值。
读者对象
本书是一本完整介绍MySQL数据库技术的教程,内容丰富、条理清晰、实用性强,适合以下读者学习使用:
? MySQL数据库初学者。
? 对数据库开发有兴趣,希望快速、全面掌握MySQL的人员。
? 对其他数据库有一定的了解,想转到MySQL平台上的开发者。
? 高等院校和培训学校相关专业的师生。
鸣谢与技术支持
本书由胡同夫主编,还有李小威、刘增产、王秀荣、王天护、张工厂、刘增杰、刘玉萍、王英英、皮素芹、王猛、王攀登、王婷婷、王朵朵、王维维、张芳、刘玉红等人参加编写工作。虽然倾注了众多编者的努力,但由于水平有限、时间仓促,书中难免有疏漏之处,请读者谅解,如果遇到问题或有意见和建议,敬请与编者联系,编者将全力提供帮助,技术支持QQ群:790586917。
课件、源代码、教学视频下载
本书课件、源代码、教学视频可以扫描二维码下载。
如果下载有问题,请发送电子邮件至booksaga@163.com,
邮件主题为MySQL 8从零开始学下载资源。
著 者
2019年6月
|
|