SQL从小白到大牛

SQL从小白到大牛
作 者: 关东升
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  关东升:一个在IT领域摸爬滚打20多年的老程序员、知名培训专家、畅销书作家。精通多种IT技术。参与设计和开发北京市公交一卡通大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目,并在App Store发布多款游戏和应用软件。长期为中国移动、中国联通、中国南方航空、中国工商银行、平安银行和天津港务局等企事业单位提供培训服务。先后出版了《iOS开发指南》《Cocos2d-x实战》《Python从小白到大牛》《Java从小白到大牛》《Kotlin从小白到大牛》《Android从小白到大牛(Kotlin版)》等40多部图书。

内容简介

本书是一本讲述SQL与数据库设计的立体教程(含纸质图书、教学课件、源代码、视频教程与答疑服务)。全书共分为4篇:第1篇为SQL知识基础(第1章~第9章),介绍了SQL表管理、视图管理、修改数据、查询数据、汇总查询结果、子查询和表连接;第2篇为MySQL数据库管理系统(第10章~第13章),介绍了MySQL数据库管理系统安装和日常管理、MySQL中特有的SQL语句和MySQL数据库开发;第3篇为Oracle数据库管理系统(第14章~第16章),介绍了Oracle数据库管理系统安装和日常管理、Oracle数据库中特有的SQL语句和Oracle数据库开发;第4篇为从数据库设计到项目实战(第17章和第18章),重点介绍数据库设计,以及“PetStore宠物商店”项目的数据库设计过程。 为便于读者高效学习,快速掌握SQL编程与实践,本书提供了完整的教学课件、源代码、丰富的配套视频教程以及在线答疑服务等内容。本书适合作为普通高等学校数据库相关课程的教材,也可以作为广大程序员的参考用书。

图书目录

第1篇 SQL知识基础

第1章 开篇综述 3

  1.1 数据管理的发展过程 3

  1.2 数据逻辑模型 3

  1.3 关系模型的核心概念 4

    1.3.1 记录和字段 4

    1.3.2 键 5

    1.3.3 约束条件 6

  1.4 关系模型数据库管理系统 7

    1.4.1 Oracle 7

    1.4.2 SQL Server 7

    1.4.3 DB 2 7

    1.4.4 MySQL 7

    1.4.5 SQLite 7

  1.5 SQL概述 8

    1.5.1 SQL标准 9

    1.5.2 SQL句法 9

  本章小结 10

第2章 学习环境搭建 11

  2.1 麻雀虽小,五脏俱全——SQLite数据库 11

    2.1.1 下载SQLite数据库 11

    2.1.2 配置SQLite命令行工具 12

  2.2 通过命令行访问SQLite数据库 13

  2.3 使用GUI工具管理SQLite数据库 15

    2.3.1 下载和安装DB4S 16

    2.3.2 使用DB4S 17

  本章小结 21

第3章 表管理 22

  3.1 创建表 22

  3.2 字段数据类型 23

    3.2.1 字符串数据 23

    3.2.2 数字数据 23

    3.2.3 日期时间数据 23

    3.2.4 大型对象 24

  3.3 指定键 24

    3.3.1 指定候选键 24

    3.3.2 指定主键 27

    3.3.3 指定外键 28

  3.4 其他约束 30

    3.4.1 指定默认值 30

    3.4.2 禁止空值 31

    3.4.3 CHECK约束 31

  3.5 修改表 32

    3.5.1 修改表名 33

    3.5.2 添加字段 33

    3.5.3 删除字段 34

  3.6 删除表 35

  本章小结 36

第4章 视图管理 37

  4.1 视图概念 37

  4.2 创建视图 38

    4.2.1 案例准备:Oracle自带示例——SCOTT用户数据 38

    4.2.2 提出问题 39

    4.2.3 解决问题 41

  4.3 修改视图 42

  4.4 删除视图 43

  本章小结 43

第5章 修改数据 44

  5.1 插入数据——INSERT语句 44

  5.2 更改数据——UPDATE语句 45

  5.3 删除数据——DELETE语句 46

  5.4 数据库事务 47

    5.4.1 理解事务概念 47

    5.4.2 事务的特性 47

    5.4.3 事务的状态 48

    5.4.4 事务控制 48

  本章小结 50

第6章 查询数据 51

  6.1 SELECT语句 51

    6.1.1 指定查询字段 51

    6.1.2 指定字段顺序 51

    6.1.3 选定所有字段 52

    6.1.4 为字段指定别名 53

    6.1.5 使用表达式 54

    6.1.6 使用算术运算符 55

  6.2 排序查询结果——ORDER BY子句 56

  6.3 筛选查询结果——WHERE子句 58

    6.3.1 比较运算符 58

    6.3.2 逻辑运算符 58

    6.3.3 IN运算符 61

    6.3.4 BETWEEN运算符 62

    6.3.5 LIKE运算符 63

    6.3.6 运算符先后顺序 65

  本章小结 67

第7章 汇总查询结果 68

  7.1 聚合函数 68

    7.1.1 COUNT函数 68

    7.1.2 SUM函数 70

    7.1.3 AVG函数 70

    7.1.4 MIN和MAX函数 72

  7.2 分类汇总 74

    7.2.1 分组查询结果——GROUP BY子句 74

    7.2.2 使用HAVING子句筛选查询结果 78

    7.2.3 使用DISTINCT运算符选择唯一值 81

  本章小结 83

第8章 子查询 84

  8.1 子查询的概念 84

    8.1.1 从一个案例引出的思考 84

    8.1.2 使用子查询解决问题 84

  8.2 单行子查询 85

    8.2.1 示例:查找所有工资超过平均工资的员工 85

    8.2.2 示例:查找工资最高的员工 86

    8.2.3 示例:查找与SMITH职位相同的员工 87

    8.2.4 示例:查找谁的工资超过了工资最高的销售人员 87

    8.2.5 示例:查找职位与CLARK相同,且工资超过CLARK的员工 89

    8.2.6 示例:查找资格最老的员工 89

    8.2.7 示例:查找员工表中第2高的工资 90

  8.3 多行子查询 91

    8.3.1 示例:查找销售部所有员工 91

    8.3.2 示例:查找与SMITH或CLARK职位不同的所有员工 92

  8.4 嵌套子查询 93

    8.4.1 示例:查找超出平均工资员工所在部门 93

    8.4.2 示例:查找员工表中工资第3高的员工信息 94

  8.5 在DML中使用子查询 95

    8.5.1 在DELETE语句中使用子查询 95

    8.5.2 示例:删除部门所在地为纽约的所有员工 95

    8.5.3 在UPDATE语句中使用子查询 96

    8.5.4 示例:给所有低于平均工资的员工涨工资 96

  本章小结 96

第9章 表连接 97

  9.1 表连接的概念 97

    9.1.1 使用表连接重构“找出所有销售部所有员工信息”案例 97

    9.1.2 准备数据 98

  9.2 内连接 100

    9.2.1 内连接语法1 101

    9.2.2 内连接语法2 101

    9.2.3 示例:找出部门在纽约的所有员工姓名 102

  9.3 左连接 103

    9.3.1 左连接语法 103

    9.3.2 示例:员工表与部门表的左连接查询 103

  9.4 右连接 104

    9.4.1 右连接语法 105

    9.4.2 示例:员工表与部门表的右连接查询 105

  9.5 全连接 106

    9.5.1 全连接语法 106

    9.5.2 示例:员工表与部门表的全连接查询 107

  9.6 交叉连接 107

    9.6.1 交叉连接语法1 108

    9.6.2 交叉连接语法2 108

  本章小结 109

第2篇 MySQL数据库管理系统

第10章 MySQL数据库管理系统安装 113

  10.1 MySQL概述 113

    10.1.1 MySQL的主要特点 113

    10.1.2 MySQL的主要版本 113

  10.2 MySQL数据库安装和配置 114

    10.2.1 Windows平台安装MySQL 114

    10.2.2 Linux平台安装MySQL 124

    10.2.3 macOS平台安装MySQL 129

  本章小结 134

第11章 MySQL数据库管理系统日常管理 135

  11.1 登录服务器 135

  11.2 常见的管理命令 136

    11.2.1 帮助命令 136

    11.2.2 退出命令 137

    11.2.3 数据库管理 138

    11.2.4 用户管理 138

  11.3 查看系统对象信息 140

    11.3.1 查看库 140

    11.3.2 查看表 141

    11.3.3 查看表结构 141

    11.3.4 执行脚本文件 142

  11.4 数据库备份与恢复 144

    11.4.1 备份数据库 144

    11.4.2 恢复数据库 147

    11.4.3 实例:在Windows备份,到Linux恢复 147

  11.5 MySQL图形界面管理工具 149

    11.5.1 下载和安装MySQL Workbench 149

    11.5.2 配置连接数据库 152

    11.5.3 管理数据库 154

    11.5.4 管理表 156

    11.5.5 执行SQL语句 157

  本章小结 158

第12章 MySQL中特有的SQL语句 159

  12.1 自增长字段 159

  12.2 MySQL日期相关数据类型 160

  12.3 限制返回行数 163

  12.4 常用函数 165

    12.4.1 数字型函数 165

    12.4.2 字符串函数 167

    12.4.3 日期和时间函数 169

  本章小结 172

第13章 MySQL数据库开发 173

  13.1 存储过程 173

    13.1.1 使用存储过程重构“找出销售部所有员工信息”案例 173

    13.1.2 调用存储过程 175

    13.1.3 删除存储过程 176

  13.2 存储过程参数 176

    13.2.1 IN参数 176

    13.2.2 OUT参数 178

    13.2.3 INOUT参数 179

  13.3 存储函数 180

    13.3.1 创建存储函数 180

    13.3.2 调用存储函数 183

    13.3.3 删除存储函数 184

  本章小结 184

第3篇 Oracle数据库管理系统

第14章 Oracle数据库管理系统的安装与日常管理 187

  14.1 Oracle主要版本 187

  14.2 Oracle 21c快捷版安装和配置 187

    14.2.1 下载Oracle 21c快捷版 187

    14.2.2 在Windows平台安装Oracle 21c快捷版 188

    14.2.3 远程访问配置 192

  14.3 Oracle日常管理 195

    14.3.1 使用SQL Plus 195

    14.3.2 登录字符串 198

    14.3.3 用户管理 199

    14.3.4 查看当前用户信息 201

    14.3.5 执行脚本文件 203

  14.4 使用Oracle SQL Developer工具 205

    14.4.1 下载和安装Oracle SQL Developer 205

    14.4.2 配置连接数据库 206

    14.4.3 管理表 208

    14.4.4 管理表数据 209

    14.4.5 执行SQL语句 209

  本章小结 210

第15章 Oracle数据库中特有的SQL语句 211

  15.1 序列 211

    15.1.1 创建序列 211

    15.1.2 使用序列 212

    15.1.3 修改序列 213

    15.1.4 删除序列 214

  15.2 标识字段 215

  15.3 层次关系与递归查询 216

    15.3.1 层次关系 216

    15.3.2 递归查询 217

  15.4 限制返回行数 218

  本章小结 220

第16章 Oracle数据库开发 221

  16.1 PL/SQL 221

    16.1.1 匿名代码块 221

    16.1.2 使用游标 223

  16.2 编写第1个Oracle存储过程 224

    16.2.1 调用存储过程 225

    16.2.2 删除存储过程 227

  16.3 存储过程参数 227

    16.3.1 IN参数 227

    16.3.2 OUT参数 229

    16.3.3 IN OUT参数 229

  16.4 存储函数 231

    16.4.1 创建存储函数 231

    16.4.2 调用存储函数 232

    16.4.3 删除存储函数 233

  本章小结 233

第4篇 从数据库设计到项目实战

第17章 数据库设计 237

  17.1 数据库设计与E-R图 237

    17.1.1 E-R图中的各种符号 237

    17.1.2 实例:网上商城E-R图 238

    17.1.3 E-R图鱼尾纹表示法 239

  17.2 数据建模过程 240

    17.2.1 概念模型设计 240

    17.2.2 逻辑模型设计 241

    17.2.3 物理模型设计 241

  17.3 建模工具 241

    17.3.1 PowerDesigner建模 241

    17.3.2 MySQL Workbench建模 243

  17.4 数据库设计范式 247

    17.4.1 1NF 248

    17.4.2 2NF 248

    17.4.3 3NF 250

  本章小结 250

第18章 项目实战:“PetStore宠物商店”项目数据库设计 251

  18.1 系统分析 251

    18.1.1 项目概述 251

    18.1.2 需求分析 252

    18.1.3 原型设计 252

  18.2 数据库设计 254

    18.2.1 概念模型 254

    18.2.2 物理模型 255

  18.3 数据库实现 256

    18.3.1 编写DDL脚本 256

    18.3.2 构建数据库结构 259

    18.3.3 初始化数据库 260

  本章小结 261

10

SQL从小白到大牛

9

目 录