图书目录

   目录

CONTENTS

   

   

   

   

   

第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

目   录