快速念咒:MYSQL入门指南与进阶实战
- ISBN:9787121476334
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:404
- 出版时间:2024-04-01
- 条形码:9787121476334 ; 978-7-121-47633-4
本书特色
★以讲故事、打比方的方式呈现SQL原理,通俗易懂。 ★涵盖MySQL所有的必会知识点,全面、细致、丰富。 ★全书提供上百个示例,代码讲解清楚,提供源数据表。 ★专业手绘人物形象及插图,图文并茂,样式美观。
内容简介
在当今社会,高效管理数据是一种思维方式,也是一种能力。越来越多的公司和岗位看重这一点。本书的核心理念是基于MySQL将学习数据管理的过程自然融入日常生活,使学习变得轻松,而不再是一项艰巨的任务。本书采用引入故事场景的方式来呈现SQL语句的适用情景,并以此来解释其使用原理,帮助读者更好地理解SQL语言的本质。本书不仅是一本技术入门指南,也是一次走进SQL世界的探索之旅,旨在为初学者提供全面、易于理解、实用的学习体验。
目录
1.1 什么是SQL / 2
1.2 什么是数据库 / 6
第2章 简单检索 / 16
2.1 基础查询:姻缘介绍所的联络清单 / 17
2.1.1 检索整张表(通配符“*”) / 17
2.1.2 检索整张表的限制 / 18
2.1.3 检索特定列 / 19
2.1.4 理解表中的“列”与“行” / 20
2.1.5 关于SQL语句的书写规范 / 21
2.2 对查询结果排序:鱼儿的大小和颜色 / 24
2.2.1 根据单列内容排序 / 25
2.2.2 升序和降序 / 26
2.2.3 排序的必要性和原理 / 27
2.2.4 根据多列内容排序 / 27
2.2.5 使用列别名排序 / 31
2.2.6 使用列编号排序 / 32
2.2.7 ORDER BY的其他使用事项 / 33
2.3 LIMIT分页语句:跳跃的青蛙 / 35
2.3.1 限制结果的输出行数 / 35
2.3.2 LIMIT的用法分析 / 36
2.3.3 浅谈SQL语法 / 37
2.3.4 搭配LIMIT进行数据更新 / 38
2.4 去掉重复的输出行:唯一的组合值 / 39
2.4.1 使用DISTINCT / 39
2.4.2 对整张表去重没有意义:初识主键 / 41
2.4.3 另一种去重的办法:使用GROUP BY / 42
2.4.4 MySQL中列别名的特殊用法 / 43
2.4.5 如何在SQL语句中添加注释 / 44
第3章 数据过滤与模糊查询 / 46
3.1 基础的数据过滤:酷似“苏菲·玛索”的女孩 / 47
3.1.1 初识WHERE从句 / 47
3.1.2 比较运算符 / 49
3.1.3 理解空值 / 52
3.1.4 利用空值进行过滤 / 53
3.1.5 使用BINARY区分过滤条件中的大小写 / 53
3.2 使用逻辑操作符:挑选优质的巴尔干甜豆 / 55
3.2.1 操作符AND和OR / 55
3.2.2 AND和OR的执行原理 / 58
3.2.3 组合查询:UNION ALL与UNION / 59
3.2.4 再次理解AND和OR / 60
3.2.5 使用小括号改变连接对象 / 61
3.2.6 操作符IN和NOT / 65
3.2.7 课后阅读:《胶囊时报》专栏采访 / 66
3.3 模糊查询:谓词LIKE和正则表达式REGEXP / 67
3.3.1 模糊查询的适用场景 / 67
3.3.2 得心应手的百分号(%) / 69
3.3.3 专一的下画线(_) / 71
3.3.4 让特殊符号回归符号本身(\\) / 72
3.3.5 正则表达式的一般使用场景 / 72
3.3.6 正则表达式的更多使用场景 / 73
第4章 显示栏、CASE表达式与常用函数 / 78
4.1 创建显示栏:卡路奇欧的“贪婪美德” / 79
4.1.1 使用算术运算符创建显示栏 / 79
4.1.2 将MySQL当作计算器 / 82
4.1.3 算术运算符与空值:COALESCE函数 / 83
4.1.4 创建拼接栏:“猫牌胶水”CONCAT函数 / 84
4.2 神奇的变形咒语:CASE表达式 / 86
4.2.1 初识CASE表达式 / 87
4.2.2 CASE表达式的一般使用原理 / 89
4.2.3 不同的输出形式和对应效果 / 91
4.2.4 CASE表达式的规律总结 / 95
4.3 千奇百怪的函数:MySQL的生物多样性 / 99
4.3.1 函数多样性的原因 / 99
4.3.2 处理时间的函数 / 100
4.3.3 处理字符串的函数 / 104
4.3.4 处理数值的函数 / 110
第5章 聚集函数、窗口函数与数据分组 / 115
5.1 使用聚集函数:返回一组数据的各项指标 / 117
5.1.1 什么是聚集函数 / 117
5.1.2 统计个数和统计行数:COUNT函数 / 117
5.1.3 COUNT(*)与COUNT(列名)的原理解释 / 118
5.1.4 求和:SUM函数 / 121
5.1.5 求均值:AVG函数 / 122
5.1.6 求*大值与*小值:MAX函数和MIN函数 / 123
5.2 GROUP BY数据分组:对数据进行打包处理 / 123
5.2.1 数据分组的重要性 / 124
5.2.2 分组计算的产物与分组的原理 / 126
5.2.3 分组前的数据过滤:使用WHERE过滤行 / 129
5.2.4 指定多个分组依据 / 130
5.2.5 配合使用WITH ROLLUP:贴心的小计与总计 / 133
5.2.6 对空值分组:验证COUNT(列名)与COUNT(*) / 135
5.3 使用HAVING从句进行过滤:“韦尔集团”的大麻烦 / 137
5.3.1 分组后的数据过滤:使用HAVING过滤组 / 137
5.3.2 WHERE的不完美替代品 / 140
5.3.3 “三巨头”的会面:同时使用WHERE、GROUP BY和HAVING / 141
5.4 窗口函数:等级、累计与拆分 / 143
5.4.1 初识窗口函数语法 / 144
5.4.2 不一样的ORDER BY / 146
5.4.3 非必要的PARTITION BY / 147
5.4.4 RANK、DENSE_RANK和ROW_NUMBER / 148
5.4.5 累计计算:将聚集函数用作窗口函数 / 150
5.4.6 平移变动的窗口:累计计算的拆分 / 154
第6章 复合查询 / 158
6.1 利用子查询进行过滤:忧郁的萨茉莉公主 / 160
6.1.1 利用子查询进行过滤 / 160
6.1.2 利用子查询过滤的关键思路及关联的基础 / 162
6.1.3 普遍存在的“中间人” / 164
6.1.4 正序子查询的书写思路 / 166
6.1.5 完全限定列名 / 168
6.2 初识联结的建立:拆分表的逆向操作 / 170
6.2.1 理解主键和外键 / 170
6.2.2 关联的设定机制 / 173
6.2.3 使用WHERE建立联结 / 174
6.2.4 什么是笛卡儿积 / 175
6.2.5 等值行与不等值行 / 176
6.2.6 内部联结的语法 / 178
6.2.7 子查询和联结的区别 / 180
6.3 自联结与自然联结:巧妙的复制 / 184
6.3.1 建立自联结:巧妙的复制 / 184
6.3.2 建立自然联结:不走寻常路的简洁 / 192
6.4 外部联结:向左走,还是向右走 / 193
6.4.1 不同于以往的关联大表 / 193
6.4.2 不同联结方式的比较 / 198
6.5 关联子查询的建立:另一只看不见的手 / 201
6.5.1 标量子查询 / 202
6.5.2 利用关联子查询进行过滤 / 203
6.5.3 关联子查询与一般子查询的共性与区别 / 205
6.5.4 在检索中使用子查询 / 206
6.6 使用视图:飘逸灵动的胶片机 / 208
6.6.1 利用子查询进行过滤的限制 / 208
6.6.2 从子查询到视图:在FROM语句中建立子查询 / 210
6.6.3 创建视图 / 211
6.6.4 更新视图 / 213
6.6.5 灵活创建的数据集 / 215
6.6.6 删除视图 / 216
第7章 表的创建与数据更新 / 219
7.1 创建表:非凡药剂师协会 / 220
7.1.1 考查数据源 / 220
7.1.2 进行合理的数据拆分 / 221
7.1.3 表与列的命名规则 / 223
7.1.4 常用的数据类型 / 224
7.1.5 空值的指定 / 226
7.1.6 定义主键 / 227
7.1.7 选择引擎 / 229
7.2 调整表及外键约束:先有鸡,还是先有蛋 / 230
7.2.1 重命名表和删除表 / 230
7.2.2 增加列、重命名列与删除列 / 231
7.2.3 外键约束和定义外键 / 231
7.2.4 数据的完整性:合理的信息记录 / 232
7.2.5 外键约束的后果 / 235
7.2.6 关联表的层次关系:上游表和下游表 / 237
7.3 数据的插入:INSERT语句的使用 / 239
7.3.1 插入行的两种方式 / 239
7.3.2 提供列清单的重要性 / 240
7.3.3 空值、默认值和AUTO_INCREMENT的插入方式 / 240
7.3.4 同时插入多行数据 / 242
7.3.5 在INSERT语句中使用子查询:数据导入 / 243
7.4 数据的删除:DELETE语句的使用 / 245
7.4.1 使用DELETE删除特定行 / 245
7.4.2 删除表中的所有行:MySQL中的安全模式 / 246
7.4.3 外键约束的开启和关闭 / 247
7.4.4 在DELETE语句中使用子查询 / 248
7.5 数据的替换:UPDATE语句的使用 / 249
7.5.1 修改数据:替换已有数据 / 250
7.5.2 增加数据:替换空值 / 251
7.5.3 删除数据:用空值替换已有数据 / 252
7.5.4 同时更新多列数据 / 253
7.5.5 数据删除方式汇总 / 254
7.6 使用事务处理:数据更新前服下的“后悔药” / 256
7.6.1 初识事务处理:START TRANSACTION / 256
7.6.2 事务处理的本质 / 258
7.6.3 关闭事务处理的休止符:ROLLBACK和COMMIT / 258
7.6.4 使用保留点:恰到好处的回滚方式 / 259
7.6.5 保留点的使用规范和释放 / 263
第8章 触发器与存储过程 / 265
8.1 触发器(上):“扣动扳机”的正确姿势 / 266
8.1.1 初识触发器的安装和使用 / 266
8.1.2 理解触发器的触发机制和执行时机 / 269
8.1.3 触发器的应用场景、类型与数量限制 / 269
8.1.4 初识触发器中的“NEW”:目前没有,但即将有 / 270
8.2 触发器(下):忙碌的火车站送车员 / 274
8.2.1 初识触发器中的“OLD”:目前有,但即将没有 / 274
8.2.2 触发器的功能限制 / 277
8.2.3 再谈“NEW”和“OLD” / 278
8.2.4 触发器的执行失败 / 281
8.3 存储过程(上):麦克里尼的心病 / 284
8.3.1 初识存储过程 / 284
8.3.2 初识参数:关键词IN / 288
8.3.3 再探参数:关键词OUT / 291
8.4 存储过程(下):走出低谷 / 293
8.4.1 不一样的调用形式 / 294
8.4.2 更加智能的存储过程 / 297
8.4.3 什么是局部变量 / 301
第9章 不断翻新的数据集 / 304
9.1 不等值行的妙用 / 305
9.2 关联分析 / 312
9.3 在CASE表达式中使用聚集函数 / 320
9.4 在聚集函数中使用CASE表达式 / 323
9.5 行列转换:创建数据透视表 / 328
9.6 寻找中位数 / 344
第10章 思考与练习 / 354
作者简介
彭宇奇,资深数据分析师,新派技术书作者,擅长用打比方、讲故事的形式来构建技术框架,并解释内在原理。创作主旨是——尽量让学习变得有趣和活泼,学习一项技术的*好方式,就是忘记我们正在学习它。技术之外,热爱运动和音乐,离不开游泳、hiphop和摩托车。其实很多图书创作灵感都源于看似与之毫不相干的事物和经历。 施雯,90后插画师,喜欢通过图像与文字进行表达,享受沉浸其中的很安心、很有趣的感觉,希望以这种方式将更好的内容传递给广大读者。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
情感计算
¥66.8¥89.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0