| 作者 |
| 屠要峰 |
| 丛书名 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121369018 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 PostgreSQL是和MySQL类似的关系型数据库。*近PostgreSQL的关注度正在提升,各种会议、培训,都在介绍PostgreSQL。本章按照关系型数据的一般性结构进行讲解,即安装→建库→建表→查询→索引→视图→触发器→权限管理→备份→事务→优化。具体章安排如下:第1章 初识PostgreSQL;第2章 安装及启动PostgreSQL;第3章 创建数据库并输入数据;第4章 数据类型及其运算符;第5章 函数;第6章 查询和修改数据;第7章 索引;第8章 视图;第9章 触发器第10章 表继承和表分区;第11章 管理用户权限和模式;第12章 配置和管理数据库服务器;第13章 备份和恢复数据;第14章 事务;第15章 优化SQL语句;第16章 优化数据库服务端性能;第17章 PL/PgSQL服务端编程;第18章 高可用方案;第19章 设计一个商品管理数据库; |
| 目录 |
| ------------------第1篇 准备 --第1章 初识PostgreSQL /2 1.1 PostgreSQL的起源 /2 1.2 PostgreSQL简介 /3 O1.2.1 基本概念 /3 O1.2.2 存储体系结构 /4 O1.2.3 进程体系架构 /6 1.3 PostgreSQL 10版本的新特性 /6 1.4 小结 /7 - -第2章 安装和启动PostgreSQL /8 2.1 安装PostgreSQL /8 O2.1.1 在Windows中安装PostgreSQL /8 O2.1.2 在Linux中安装PostgreSQL /12 O2.1.3 源码安装PostgreSQL /14 2.2 初始化数据库 /17 2.3 数据库的基本配置 /18 O2.3.1 配置数据库监听IP和端口 /18 O2.3.2 配置数据库错误日志 /18 2.4 启动、停止、查看数据库 /18 O2.4.1 启动数据库 /18 O2.4.2 停止数据库 /19 O2.4.3 查看数据库状态 /19 2.5 小结 /19 - ------------------第2篇 入门 - 第3章 创建数据库和表 /21 3.1 认识SQL语言 /21 O3.1.1 SQL语句类型 /21 O3.1.2 SQL数据类型 /21 3.2 使用交互式终端psql /22 O3.2.1 连接数据库 /22 O3.2.2 常用命令 /23 O3.2.3 使用技巧 /26 3.3 表空间的创建、修改和删除 /27 O3.3.1 实例1:创建表空间 /27 O3.3.2 实例2:修改表空间 /29 O3.3.3 实例3:删除表空间 /29 3.4 数据库的创建、修改和删除 /30 O3.4.1 实例4:创建数据库 /30 O3.4.2 实例5:修改数据库 /31 O3.4.3 实例6:删除数据库 /32 3.5 创建数据表 /32 O3.5.1 创建表的语法格式 /32 O3.5.2 使用CHECK约束 /35 O3.5.3 使用非空约束 /36 O3.5.4 使用唯一性约束 /36 O3.5.5 使用主键约束 /37 O3.5.6 使用默认约束 /38 O3.5.7 使用外键约束 /38 O3.5.8 实例7:设置表的属性值自动增加 /40 O3.5.9 实例8:查看表结构 /41 3.6 修改数据表 /42 O3.6.1 实例9:修改表名 /42 O3.6.2 实例10:修改字段名 /43 O3.6.3 实例11:添加字段 /43 O3.6.4 实例12:删除字段 /44 O3.6.5 实例13:删除表的外键约束 /44 3.7 删除数据表 /46 O3.7.1 实例14:删除没有被关联的表 /46 O3.7.2 实例15:删除被其他表关联的主表 /46 3.8 数据的插入、修改和删除 /47 O3.8.1 实例16:向表中插入数据 /47 O3.8.2 实例17:修改表中的数据 /48 O3.8.3 实例18:删除表中的数据 /49 3.9 数据的简单查询 /50 O3.9.1 实例19:创建最简单的单表查询 /50 O3.9.2 实例20:创建带过滤条件的查询 /50 3.10 小结 /51 - 第4章 数据类型及其运算符 /52 4.1 数值类型 /52 O4.1.1 整数类型 /52 O4.1.2 任意精度数字类型 /53 O4.1.3 浮点类型 /53 O4.1.4 序列类型 /54 O4.1.5 货币类型 /55 O4.1.6 实例21:使用数学运算符 /55 4.2 字符串类型 /56 O4.2.1 字符串类型分类 /57 O4.2.2 使用连接运算符 /57 O4.2.3 使用模式匹配运算符 /58 4.3 二进制数据类型 /60 O4.3.1 二进制数据类型简介 /60 O4.3.2 二进制数据的十六进制格式 /61 4.3.3 二进制数据的转义格式 /61 4.4 日期类型和时间类型 /61 O4.4.1 日期类型和时间类型分类 /61 O4.4.2 日期类型和时间类型输入格式 /62 O4.4.3 日期类型和时间类型输出格式 /64 O4.4.4 时区 /64 O4.4.5 使用日期类型和时间类型运算符 /65 4.5 布尔类型 /66 O4.5.1 布尔类型简介 /66 O4.5.2 布尔类型运算符 /66 4.6 位串类型 /68 O4.6.1 位串类型简介 /68 O4.6.2 实例22:使用位串类型运算符 /68 4.7 枚举类型 /69 O4.7.1 声明枚举类型 /69 O4.7.2 排序 /69 O4.7.3 注意枚举类型安全性 /70 4.8 几何类型 /71 O4.8.1 点(point) /71 O4.8.2 线(line) /72 O4.8.3 线段(lseg) /72 O4.8.4 矩形(box) /73 O4.8.5 路径(path) /74 O4.8.6 多边形(polygon) /75 O4.8.7 圆(circle) /75 O4.8.8 实例23:使用几何类型运算符 /76 4.9 JSON数据类型 /77 O4.9.1 JSON数据类型简介 /77 O4.9.2 JSON数据类型的输入/输出语法 /78 O4.9.3 实例24:使用json运算符 /79 O4.9.4 实例25:使用jsonb运算符 /79 4.10 范围类型 /80 O4.10.1 内建范围类型 /80 O4.10.2 范围类型的边界 /81 O4.10.3 范围值的输入 /81 O4.10.4 使用范围类型运算符 /82 O4.10.5 实例26:定义自己的范围类型 /83 4.11 数组类型 /83 O4.11.1 定义数组类型 /84 O4.11.2 输入数组 /84 O4.11.3 访问数组 /86 O4.11.4 修改数组 /87 O4.11.5 查找数组中的内容 /88 O4.11.6 数组运算符 /89 4.12 小结 /89 - 第5章 函数 /90 5.1 数学函数 /90 O5.1.1 认识数学函数 /90 O5.1.2 实例27:使用数学函数对小数取整 /93 5.2 字符串函数 /94 O5.2.1 认识字符串函数 /95 O5.2.2 认识二进制字符串函数 /99 O5.2.3 实例28:使用format()函数格式化输出 /101 5.3 数据类型格式化函数 /103 5.4 序列函数 /104 O5.4.1 认识序列函数 /104 O5.4.2 实例29:创建及使用序列函数 /104 5.5 日期函数和时间函数 /107 O5.5.1 认识日期函数和时间函数 /107 O5.5.2 实例30:使用AT TIME ZONE进行时区转换 /110 O5.5.3 实例31:获取当前的日期和时间 /111 O5.5.4 实例32:设置延时执行 /112 5.6 位串函数 /113 O5.6.1 认识位串函数 /113 O5.6.2 实例33:使用bit()函数转换整数和位串 /113 5.7 枚举函数 /114 O5.7.1 认识枚举函数 /114 O5.7.2 实例34:使用枚举函数获取枚举类型中的值 /114 5.8 几何函数 /115 O5.8.1 认识几何函数 /115 O5.8.2 实例35:使用area()函数计算几何类型的面积 /117 5.9 JSON函数 /117 O5.9.1 JSON创建函数 /117 O5.9.2 JSON处理函数 /118 O5.9.3 实例36:使用to_json()函数将字符串转换成JSON格式 /122 O5.9.4 实例37:使用json_array_length()函数统计JSON数据类型中的元素个数 /122 5.10 范围函数 /123 O5.10.1 认识范围函数 /123 O5.10.2 实例38:用range_merge()函数获取一个包含给定范围的最小范围 /123 O5.10.3 实例39:用upper_inc()函数判断上界是否被包含在范围内 /123 5.11 数组函数 /124 O5.11.1 认识数组函数 /124 O5.11.2 实例40:用array_position()函数在数组中检索数据 /125 O5.11.3 实例41:用array_to_string()函数将数组转为字符串 /126 5.12 其他函数 /126 O5.12.1 聚合函数 /126 O5.12.2 集合返回函数 /131 O5.12.3 系统信息函数 /131 O5.12.4 系统管理函数 /133 5.13 小结 /134 - 第6章 查询和修改数据 /135 6.1 SELECT语法 /135 6.2 单表查询 /136 O6.2.1 实例42:简单查询 /136 O6.2.2 实例43:等值查询 /137 O6.2.3 实例44:范围查询 /137 O6.2.4 实例45:去重 /138 O6.2.5 实例46:排序 /140 O6.2.6 实例47:分组 /140 O6.2.7 实例48:分页 /141 6.3 多表查询 /142 O6.3.1 实例49:内连接 /143 O6.3.2 实例50:外连接 /144 O6.3.3 实例51:交叉连接 /146 O6.3.4 实例52:多表关联复合查询 /146 6.4 子查询 /147 O6.4.1 实例53:IN/NOT IN 子查询 /147 O6.4.2 实例54:EXISTS/NOT EXISTS子查询 /148 O6.4.3 实例55:ANY/SOME/ALL子查询 /149 6.5 模糊匹配查询 /150 O6.5.1 实例56:LIKE查询 /150 O6.5.2 实例57:SIMILAR TO查询 /152 6.6 查询运算 /152 O6.6.1 实例58:聚集运算 /152 O6.6.2 实例59:分组运算 /154 O6.6.3 实例60:表达式运算 /156 O6.6.4 实例61:递归查询 /157 6.7 窗口函数 /158 6.8 高级操作 /162 O6.8.1 实例62:归并数据 /162 O6.8.2 实例63:批量插入 /164 O6.8.3 实例64:批量更新 /165 O6.8.4 实例65:关联更新 /166 O6.8.5 实例66:批量删除 /166 O6.8.6 实例67:关联删除 /166 O6.8.7 实例68:移动数据到历史表 /167 O6.8.8 实例69:清空表 /167 6.9 小结 /168 - -----------------第3篇 进阶 - 第7章 索引 /170 7.1 索引简介 /170 O7.1.1 索引的含义和作用 /170 O7.1.2 索引的分类 /171 O7.1.3 索引的设计原则 /172 7.2 索引操作 /172 O7.2.1 创建索引 /172 O7.2.2 修改索引 /174 O7.2.3 删除索引 /175 7.3 常用索引方法 /176 O7.3.1 多列索引 /176 O7.3.2 组合索引 /177 O7.3.3 唯一索引 /177 O7.3.4 表达式索引 /178 O7.3.5 部分索引 /178 O7.3.6 索引与排序 /180 7.4 索引类型 /180 O7.4.1 B-tree索引 /180 O7.4.2 Hash索引 /181 O7.4.3 GiST索引 /182 O7.4.4 SP-GiST索引 /184 O7.4.5 GIN索引 /185 O7.4.6 BRIN索引 /186 7.5 索引使用案例 /187 O7.5.1 实例70:使用GiST索引提升RANGE类型数据的查询性能 /187 O7.5.2 实例71:使用SP-GiST索引快速查找几何空间数据 /189 O7.5.3 实例72:使用GIN索引快速查找JSON数据 /19 |