当前位置:首页 > 工业技术
PostgreSQL 9.6从零开始学  视频教学版
PostgreSQL 9.6从零开始学  视频教学版

PostgreSQL 9.6从零开始学 视频教学版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:李小威编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302496212
  • 页数:348 页
图书介绍:全书一共分为16个章节,分别介绍了:PostgreSQL的安装与配置、数据库的基本操作、数据表的基本操作、数据类型和运算符、PostgreSQL函数、查询数据、插入、更新与删除数据、 索引、存储过程和函数、触发器、PostgreSQL用户管理、PostgreSQL安全管理、数据备份与还原、PostgreSQL日志、性能优化。并在每章的后面提供典型案例,供读者操作并加深理解。
《PostgreSQL 9.6从零开始学 视频教学版》目录

第1章 初识PostgreSQL 1

1.1数据库基础 1

1.1.1什么是数据库 1

1.1.2表 2

1.1.3数据类型 2

1.1.4主键 2

1.1.5什么是开源 2

1.2数据库技术构成 3

1.2.1数据库系统 3

1.2.2SQL语言 4

1.2.3数据库访问技术 5

1.3什么是PostgreSQL 6

1.3.1客户机-服务器软件 6

1.3.2PostgreSQL发展历程 6

1.3.3PostgreSQL的优势 7

1.4如何学习PostgreSQL 7

第2章 PostgreSQL9.6的安装与配置 9

2.1PostgreSQL9.6的新功能 9

2.2安装与启动PostgreSQL9.6 10

2.2.1下载PostgreSQL9.6安装包 10

2.2.2安装PostgreSQL9.6 13

2.2.3启动PostgreSQL服务器 15

2.3pgAdmin4的基本操作 17

2.3.1pgAdmin4的启动与连接 18

2.3.2pgAdmin4的界面简介 19

2.3.3配置PostgreSQL服务器的属性 24

2.3.4执行SQL查询语句 25

2.4常见问题及解答 25

疑问1:连接pgAdmin时提示“服务器未监听”的错误怎么办? 26

疑问2:如何修改服务器登录密码? 26

2.5本章小结 26

2.6经典习题 26

第3章 数据库的基本操作 27

3.1创建数据库 27

3.1.1使用对象浏览器创建数据库 27

3.1.2使用SQL创建数据库 29

3.2修改数据库的属性 31

3.2.1使用对象浏览器修改数据库的属性 31

3.2.2使用SQL语句修改数据库的属性 32

3.3删除数据库 32

3.3.1使用对象浏览器删除数据库 32

3.3.2使用SQL语句删除数据库 33

3.4综合案例——数据库的创建和删除 33

3.5常见问题及解答 35

疑问1:如何使用SQL语句创建具有一定条件的数据库? 35

疑问2:使用DROP语句时需要注意什么问题? 35

3.6经典习题 35

第4章 数据表的基本操作 36

4.1创建数据表 36

4.1.1创建数据表的基本方法 36

4.1.2使用主键约束 41

4.1.3使用外键约束 43

4.1.4使用非空约束 45

4.1.5使用唯一性约束 45

4.1.6使用默认约束 47

4.2修改数据表 47

4.2.1修改表名 48

4.2.2修改字段的数据类型 48

4.2.3修改字段名 50

4.2.4添加字段 51

4.2.5删除字段 52

4.2.6删除表的外键约束 53

4.3删除数据表 54

4.3.1删除没有被关联的表 54

4.3.2删除被其他表关联的主表 55

4.4综合案例——数据表的基本操作 56

4.5常见问题及解答 62

疑问1:删除和修改表时需注意什么问题? 62

疑问2:每一个表中都要有一个主键吗? 62

4.6经典习题 62

第5章 数据类型和运算符 64

5.1PostgreSQL数据类型介绍 64

5.1.1整数类型 64

5.1.2浮点数类型 65

5.1.3任意精度类型 66

5.1.4日期与时间类型 66

5.1.5字符串类型 71

5.1.6二进制类型 73

5.1.7布尔类型 73

5.1.8数组类型 74

5.2如何选择数据类型 75

5.3常见运算符介绍 75

5.3.1运算符概述 75

5.3.2算术运算符 76

5.3.3比较运算符 77

5.3.4逻辑运算符 83

5.3.5运算符的优先级 84

5.4综合案例——运算符的使用 85

5.5常见问题及解答 87

疑问1:PostgreSQL中可以存储文件吗? 87

疑问2:二进制和普通字符串的区别是什么? 87

5.6经典习题 87

第6章 PostgreSQL函数 88

6.1PostgreSQL函数简介 88

6.2数学函数 88

6.2.1绝对值函数ABS(x)和返回圆周率的函数PI() 89

6.2.2平方根函数SQRT(x)和求余函数MOD(x,y) 89

6.2.3获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x) 90

6.2.4四舍五入函数ROUND(x)和ROUND(x,y) 91

6.2.5符号函数SIGN(x) 91

6.2.6幂运算函数POW(x,y)、POWER(x,y)和EXP(x) 92

6.2.7对数运算函数LOG(x) 92

6.2.8角度与弧度相互转换的函数RADIANS(x)和DEGREES(x) 93

6.2.9正弦函数SIN(x)和反正弦函数ASIN(x) 93

6.2.10余弦函数COS(x)和反余弦函数ACOS(x) 94

6.2.11正切函数TAN(x)、反正切函数ATAN(x)和余切函数COT(x) 94

6.3字符串函数 95

6.3.1计算字符串字符数和字符串长度的函数 95

6.3.2合并字符串函数CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 96

6.3.3获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n) 97

6.3.4填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2) 98

6.3.5删除空格的函数LTRIM(s)、RTRIM(s)和TRIM(s) 98

6.3.6删除指定字符串的函数TRIM(s1 FROM s) 99

6.3.7重复生成字符串的函数REPEAT(s,n) 100

6.3.8替换函数REPLACE(s,s1,s2) 100

6.3.9获取子串的函数SUBSTRING(s,n,len) 100

6.3.10匹配子串开始位置的函数POSITION(str1 IN str) 101

6.3.11字符串逆序函数REVERSE(s) 101

6.4日期和时间函数 101

6.4.1获取当前日期的函数和获取当前时间的函数 101

6.4.2获取当前日期和时间的函数 102

6.4.3获取日期指定值的函数 103

6.4.4日期和时间的运算操作 104

6.5条件判断函数 106

6.6系统信息函数 107

6.6.1获取PostgreSQL版本号 107

6.6.2获取用户名的函数 107

6.7加密和解密函数 108

6.7.1加密函数MD5(str) 108

6.7.2加密函数ENCODE(str,pswd str) 108

6.7.3解密函数DECODE(crypt_str,pswd_str) 108

6.8改变数据类型的函数 109

6.9综合案例——PostgreSQL函数的使用 109

6.10常见问题及解答 112

疑问1:如何从日期时间值中获取年、月、日等部分日期或时间值? 112

疑问2:如何计算年龄? 112

6.11经典习题 113

第7章 插入、更新与删除数据 114

7.1插入数据 114

7.1.1为表的所有字段插入数据 114

7.1.2为表的指定字段插入数据 116

7.1.3同时插入多条记录 117

7.1.4将查询结果插入表中 118

7.2更新数据 120

7.3删除数据 122

7.4综合案例——记录的插入、更新和删除 124

7.5常见问题及解答 130

疑问1:插入记录时可以不指定字段名称吗? 130

疑问2:更新或者删除表时必须指定WHERE子句吗? 130

7.6经典习题 130

第8章 查询数据 132

8.1基本查询语句 132

8.2单表查询 134

8.2.1查询所有字段 134

8.2.2查询指定字段 135

8.2.3查询指定记录 137

8.2.4带IN关键字的查询 138

8.2.5带BETWEEN AND的范围查询 139

8.2.6带LIKE的字符匹配查询 140

8.2.7空值查询 141

8.2.8带AND的多条件查询 142

8.2.9带OR的多条件查询 143

8.2.10查询结果不重复 144

8.2.11对查询结果排序 145

8.2.12分组查询 147

8.2.13用LIMIT限制查询结果的数量 149

8.3使用集合函数查询 150

8.3.1COUNT()函数 150

8.3.2SUM()函数 152

8.3.3AVG()函数 153

8.3.4MAX()函数 154

8.3.5MIN()函数 155

8.4连接查询 156

8.4.1内连接查询 156

8.4.2外连接查询 158

8.4.3复合条件连接查询 160

8.5子查询 161

8.5.1带ANY、SOME关键字的子查询 161

8.5.2带ALL关键字的子查询 161

8.5.3带EXISTS关键字的子查询 162

8.5.4带IN关键字的子查询 164

8.5.5带比较运算符的子查询 165

8.6合并查询结果 166

8.7为表和字段取别名 168

8.7.1为表取别名 168

8.7.2为字段取别名 170

8.8使用正则表达式查询 171

8.8.1查询以特定字符或字符串开头的记录 172

8.8.2查询以特定字符或字符串结尾的记录 173

8.8.3用“.”符号替代字符串中的任意一个字符 173

8.8.4使用“*”和“+”匹配多个字符 174

8.8.5匹配指定字符串 174

8.8.6匹配指定字符中的任意一个 175

8.8.7匹配指定字符以外的字符 176

8.8.8使用{M}或者{M,N}指定字符串连续出现的次数 176

8.9综合案例——数据表查询操作 177

8.10常见问题及解答 183

疑问1:DISTINCT可以应用于所有列吗? 183

疑问2:ORDER BY可以和LIMIT混合使用吗? 183

疑问3:什么时候使用单引号? 183

疑问4:在WHERE子句中必须使用圆括号吗? 183

疑问5:为什么通配符格式正确却没有查找出符合条件的记录? 183

8.11经典习题 184

第9章 索引 185

9.1索引简介 185

9.1.1索引的含义和特点 185

9.1.2索引的分类 186

9.1.3索引的设计原则 187

9.2创建索引 187

9.2.1使用pgAdmin创建索引 187

9.2.2使用SQL语句创建索引 188

9.3重命名索引 191

9.4删除索引 192

9.5综合案例——创建索引 193

9.6常见问题及解答 195

疑问1:应该如何正确使用索引? 195

疑问2:为什么尽量使用短索引? 195

9.7经典习题 195

第10章 视图 197

10.1视图概述 197

10.1.1视图的含义 197

10.1.2视图的作用 198

10.2创建视图 198

10.2.1创建视图的语法形式 199

10.2.2在单表上创建视图 199

10.2.3在多表上创建视图 200

10.3查看视图 201

10.3.1使用pgAdmin图形化工具查看视图 201

10.3.2使用SQL语句在views表中查看视图详细信息 202

10.4删除视图 203

10.4.1使用pgAdmin图形化工具删除视图 203

10.4.2使用SQL语句删除视图 203

10.5综合案例——视图应用 204

10.6常见问题及解答 208

疑问1:PostgreSQL中视图和表的区别以及联系是什么? 208

疑问2:如何修改视图的属性? 208

10.7经典习题 209

第11章 触发器 210

11.1什么是触发器和触发器函数 210

11.2创建触发器 211

11.3查看和修改触发器 212

11.4使用触发器 213

11.5删除触发器 214

11.6综合案例——触发器的使用 215

11.7常见问题及解答 217

疑问1:使用触发器时应注意什么问题? 217

疑问2:为什么要及时删除不需要的触发器? 218

11.8经典习题 218

第12章 事务处理与并发控制 219

12.1事务管理简介 219

12.1.1事务的含义 219

12.1.2事务的属性 220

12.1.3事务块管理的常用语句 220

12.1.4事务的应用案例 221

12.2PostgreSQL的并发控制 222

12.3锁机制 223

12.3.1锁的类型 224

12.3.2死锁 225

12.3.3锁的应用案例 226

12.4常见问题及解答 227

疑问1:事务和锁在应用上的区别是什么? 227

疑问2:事务和锁有什么关系? 227

12.5经典习题 227

第13章 PostgreSQL用户管理 228

13.1组角色管理 228

13.1.1创建组角色 228

13.1.2查看和修改组角色 230

13.1.3删除组角色 231

13.2角色的各种权限 232

13.3账户管理 234

13.3.1创建用户 234

13.3.2删除用户 236

13.3.3修改用户密码 237

13.4组角色和用户权限管理 238

13.4.1对组角色授权 238

13.4.2对用户授权 239

13.4.3收回组角色权限 239

13.4.4收回用户权限 240

13.5数据库权限管理 240

13.5.1修改数据库的拥有者 240

13.5.2增加用户的数据表权限 241

13.6综合案例——综合管理用户权限 243

13.7常见问题及解答 244

疑问1:如何撤销用户对数据表的操作权限? 244

疑问2:组角色和登录角色之间的区别是什么? 244

疑问3:如何使用超级用户权限? 245

13.8经典习题 245

第14章 数据备份与还原 246

14.1数据备份 246

14.1.1使用pgAdmin4备份数据库 246

14.1.2使用pg_dump工具备份数据库 248

14.1.3使用pg_dumpall工具备份整个服务器的数据库 250

14.2数据还原 251

14.2.1使用pgAdmin4还原数据库 251

14.2.2使用psql还原数据库 252

14.2.3使用pg_restore快速还原数据库 254

14.3数据库迁移 255

14.3.1相同版本的PostgreSQL数据库之间的迁移 255

14.3.2不同版本的PostgreSQL数据库之间的迁移 255

14.3.3不同类型数据库之间的迁移 255

14.4综合案例——数据的备份与恢复 256

14.5常见问题及解答 256

疑问1:pgdump备份的文件只能在PostgreSQL中使用吗? 256

疑问2:使用pgAdmin恢复数据库时需要注意什么问题? 256

14.6经典习题 257

第15章 性能优化 258

15.1优化简介 258

15.2优化查询 258

15.2.1分析查询语句EXPLAIN 258

15.2.2索引对查询速度的影响 259

15.2.3优化子查询 260

15.3优化数据库结构 261

15.3.1将字段很多的表分解成多个表 261

15.3.2增加中间表 262

15.3.3增加冗余字段 263

15.3.4优化插入记录的速度 263

15.3.5分析表的统计信息 264

15.4优化PostgreSQL服务器 265

15.4.1优化服务器硬件 265

15.4.2优化PostgreSQL的参数 265

15.5综合案例——优化PostgreSQL服务器 266

15.6常见问题及解答 267

疑问1:是不是索引建立得越多越好? 267

疑问2:如何更新缓冲区的缓冲? 267

15.7经典习题 267

第16章 高可用、负载均衡和数据复制 268

16.1常见的数据同步解决方案 268

16.2日志传送备用服务器 269

16.2.1日志传送概述 269

16.2.2设置备用服务器 270

16.3数据的流复制 271

16.3.1流复制概述 271

16.3.2身份验证 272

16.4数据的同步复制 272

16.4.1同步复制概述 272

16.4.2同步复制的应用案例 273

16.5常见问题及解答 277

疑问1:如何监控系统中锁的情况? 277

疑问2:什么是数据分区? 277

第17章 服务器配置与数据库监控 278

17.1服务器配置 278

17.1.1服务器配置的文件 278

17.1.2连接与认证 280

17.1.3资源消耗 281

17.1.4预写式日志 283

17.1.5查询规划 284

17.1.6错误报告和日志 285

17.1.7运行时统计 286

17.1.8自动清理 287

17.1.9客户端连接配置 287

17.1.10锁管理 288

17.1.11版本和平台兼容性 289

17.2监控数据库的活动 289

17.2.1配置统计收集器 289

17.2.2查看收集到的统计信息 290

17.3监控磁盘的使用 293

17.3.1监控磁盘的使用量 293

17.3.2磁盘满导致的失效 295

17.4综合实战——查看监控磁盘的使用情况 295

17.5常见问题及解答 297

疑问1:当服务器配置出现冲突时采用什么优先级? 297

疑问2:为什么有时磁盘没有写满性能却很差? 297

第18章 内部结构 298

18.1PostgreSQL的内部概述 298

18.1.1查询经过的路径 298

18.1.2建立连接 299

18.1.3分析器阶段 300

18.1.4PostgreSQL规则系统 300

18.1.5规划器/优化器 301

18.1.6执行器 302

18.2PostgreSQL的内部系统表 303

18.2.1数据表 303

18.2.2系统视图 308

18.3PostgreSQL的内部前端/后端协议 312

18.3.1概述 312

18.3.2消息流 312

18.3.3消息数据类型 317

18.3.4消息格式 317

18.3.5错误和通知消息字段 326

18.4PostgreSQL的编码约定 326

18.4.1格式 326

18.4.2报告服务器里的错误 327

18.4.3错误消息风格指南 328

18.5基因查询优化器 331

18.5.1作为复杂优化问题的查询处理 331

18.5.2基因算法 331

18.5.3PostgreSQL里的基因查询优化 332

18.6索引访问方法接口定义 333

18.6.1索引的系统表记录 333

18.6.2索引访问方法函数 334

18.6.3索引扫描 337

18.6.4索引唯一性检查 338

18.6.5索引开销估计函数 339

18.7GiST索引 340

18.7.1GiST简介 340

18.7.2可扩展性 340

18.7.3实现方法 341

18.8数据库物理存储 341

18.8.1数据库文件布局 341

18.8.2TOAST 342

18.8.3数据库分页文件 344

18.9BKI后端接口 346

18.9.1BKI文件格式 346

18.9.2BKI命令 346

18.9.3系统初始化的BKI文件结构 347

18.9.4例子 348

18.10常见问题及解答 348

疑问1:什么是GIN索引? 348

疑问2:使用索引锁需要注意什么? 348

相关图书
作者其它书籍
返回顶部