本书是著名数据库专家关东升力作,系统论述数据库开发,手把手教你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
第2篇 MySQL数据库管理系统
第10章 MySQL数据库管理系统安装 113
第11章 MySQL数据库管理系统日常管理 135
第12章 MySQL中特有的SQL语句 159
第13章 MySQL数据库开发 173
第3篇 Oracle数据库管理系统
第14章 Oracle数据库管理系统的安装与日常管理 187
第15章 Oracle数据库中特有的SQL语句 211
第16章 Oracle数据库开发 221
第4篇 从数据库设计到项目实战
第17章 数据库设计 237
第18章 项目实战:“PetStore宠物商店”项目数据库设计 251