Postgresql学习笔记

上传人:啧**** 文档编号:305507100 上传时间:2022-06-07 格式:DOCX 页数:11 大小:20.20KB
返回 下载 相关 举报
Postgresql学习笔记_第1页
第1页 / 共11页
Postgresql学习笔记_第2页
第2页 / 共11页
Postgresql学习笔记_第3页
第3页 / 共11页
Postgresql学习笔记_第4页
第4页 / 共11页
Postgresql学习笔记_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《Postgresql学习笔记》由会员分享,可在线阅读,更多相关《Postgresql学习笔记(11页珍藏版)》请在金锄头文库上搜索。

1、WORD(可编辑版本)Postgresql学习笔记 一:数据类型 主要有三大类以及其他一点杂项类型: 数值型、字符型、日期型。 数值型: 2:select SELECT column1, column2.column FROM table_name 3:update UPDATE table_name SET column1 = value1, column2 = value2., columnN = valueN WHERE condition; 4:delete DELETE FROM table_name WHERE condition; 5:order by SELECT column

2、-list FROM table_name WHERE condition ORDER BY column1, column2, . columnN ASC | DESC; 6:group by SELECT column-list FROM table_name WHERE conditions GROUP BY column1, column2.columnN /先分组ORDER BY column1, column2.columnN 后排序 7:having:分组的条件限制 SELECT column1, column2 FROM table1, table2 WHERE conditi

3、ons GROUP BY column1, column2 HAVING conditions ORDER BY column1, column2 8:条件查询:用于where 子句 主要有以下几种条件: AND 条件OR 条件NOT 条件LIKE 条件:模糊查询,使用%作占位符。IN 条件NOT IN 条件BETWEEN 条件:BETWEEN . AND . 四:连接操作 主要有: 内连接(INNER JOIN)左外连接(LEFT OUTER JOIN)右外连接(RIGHT OUTER JOIN)全连接(FULL OUTER JOIN)跨连接(CROSS JOIN) 内连接:两表某字段值相等

4、 SELECT table1.columns, table2.columns FROM table1 INNER JOIN table2 ON mon_filed = mon_field; 外连接:哪边连接就保留哪边字段。 左外连接:左外连接返回从“ON”条件中指定的左侧表中的满意条件的行,右侧不满意条件的字段值显示为空。 SELECT table1.columns, table2.columns FROM table1 LEFT OUTER JOIN table2 ON mon_filed = mon_field; 右外连接:保留右侧表中的字段。 SELECT table1.columns,

5、 table2.columns FROM table1 RIGHT OUTER JOIN table2 ON mon_filed = mon_field; 全外连接:FULL外连接从LEFT手表和RIGHT表中返回全部行。 它将NULL置于不满意连接条件的位置。 SELECT table1.columns, table2.columns FROM table1 FULL OUTER JOIN table2 ON mon_filed = mon_field; 跨连接:(CROSS JOIN)将第单个表的每一行与其次个表的每一行相匹配。 它也被称为笛卡儿积分。 假如table1具有“x”列,而ta

6、ble2具有“y”列,则所得到的表将具有(x + y)列。 SELECT coloums FROM table1 CROSS JOIN table2 五:高级操作 1:视图 CREATE TEMP | TEMPORARY VIEW view_name AS SELECT column1, column2. FROM table_name WHERE condition; 2:存储过程 存储过程是存储在数据库服务器上并可以使用SQL执行的一组SQL语句和过程语句(声明,安排,循环,掌握流程等)。 它有助于您执行通常在数据库中的单个函数中进行多次查询和来回操作的操作。通常可以作为高并发数据库操作的

7、优化手段来使用。 CREATE FUNCTION function_name (arguments) RETURNS return_type AS $variable_name$ DECLARE declaration; /变量声明:格式为 varName Type . BEGIN function_body 函数体:一般为多句sql语句 . RETURN variable_name | value END; LANGUAGE plpgsql;/指明实现该函数的言语 调用存储过程: PROCEDURE funcName(); 3:触发器 触发器是一组回调函数,它们在指定的表上执行指定的数据库大

8、事(即,INSERT,UPDATE,DELETE或TRUNCATE语句)时自动运行。 触发器多用于验证输入数据,执行业务规章,保持审计跟踪等。 对于操作修改的每一行,都会调用单个标记为FOR EACH ROWS的触发器。而标记为FOR EACH STATEMENT的触发器只对任何给定的操作执行一次,而不管它修改多少行。 CREATE TRIGGER trigger_name BEFORE|AFTER|INSTEAD OF event_name ON table_name - Trigger logic goes here. ; 您可以选择在表名后指定FOR EACH ROWFOR EACH S

9、TATEMENTS 4:索引 索引是用于加速从数据库检索数据的独特查找表。 索引为消失在索引列中的每个值创建单个条目。 索引使用SELECT查询和WHERE子句加速数据输出,可是会减慢使用INSERT和UPDATE语句输入的数据。 可以通过使用CREATE INDEX语句创建索引,指定创建索引的索引名称和表或列名称。还可以创建单个唯一索引,类似于唯一约束,该索引防止列或列的组合上有单个索引重复的项。 索引的类型: B-tree,Hash,GiST,SP-GiST和GIN等。 每种索引类型依据不尽相同的查询使用不尽相同的算法。 默认状况下,CREATE INDEX命令使用B树索引。 创建索引:

10、CREATE INDEX index_name ON table_name; 单列索引:仅对单个表的列创建索引,则将其称为单列索引。 CREATE INDEX index_name ON table_name (column_name); 多列索引:通过使用表的多个列创建索引,则称为多列索引。 CREATE INDEX index_name ON table_name (column1_name, column2_name); 唯一索引: 唯一索引能猎取数据的完整性并提高性能。它不允许向表中插入重复的值,或者在后来才知道表中有相同记录的列上也没能创建索引。 CREATE UNIQUE INDE

11、X index_name on table_name (column_name); 删除性能: DROP INDEX index_name; 5:时候与日期函数 函数描述AGE()减去参数CURRENT DATE/TIME()它指定当前日期和时候。DATE_PART()猎取子字段(相当于提取)EXTRACT()获得子字段ISFINITE()测试有限的日期,时候和间隔(非+/-无穷大)JUSTIFY调整间隔 计算两个时候对间隔值: 函数描述age(timestamp, timestamp)得到参数一减去参数二的时候间隔。age(timestamp)得到current_date(午夜)减去参数值的

12、时候间隔 猎取当前时候日期的多种格式: 函数描述CURRENT_DATE供应当前日期CURRENT_TIME供应带时区的值CURRENT_TIMESTAMP供应带时区的值CURRENT_TIME(precision)可以选择使用precision参数,这将使结果在四分之一秒的范围内四舍五入到数位数。CURRENT_TIMESTAMP(precision)可以选择使用精度参数,这将使结果在四分之一秒的范围内四舍五入到数位数。LOCALTIME供应沒有时区的值。LOCALTIMESTAMP供应沒有时区的值。LOCALTIME(precision)可以选择使用精度参数,这将使结果在四分之一秒的范围内

13、四舍五入到数位数。LOCALTIMESTAMP(precision)可以选择使用精度参数,这将使结果在四分之一秒的范围内四舍五入到数位数。 6:unions子句 用于组合两个或多个SELECT语句的结果,而不返回任何重复的行。每个SELECT必需具有相同的列数,相同数量的列表达式,相同的数据类型,并且具有相同的挨次。 SELECT column1 , column2 FROM table1 , table2 WHERE conditionUNIONSELECT column1 , column2 FROM table1 , table2 WHERE condition 7:修改表(alert与

14、update的修改对象不尽相同:update是修改表中的记录值,而alert是直接修改表本身) ALTER TABLE table_name operation; 比如: 使用ALTER TABLE语句在现有表中添加新列的基本语法如下:ALTER TABLE table_name ADD column_name datatype;现有表中ALTER TABLE到DROP COLUMN(删除某个字段)的基本语法如下:ALTER TABLE table_name DROP COLUMN column_name;ALTER TABLE更改表中列的DATA TYPE(修改字段类型)的基本语法如下:ALTER TABLE table_name ALTER COLUMN column_name TYPE datatype;ALTER T

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号