PostgreSQL笔记 (3)

最后介绍一种使用COPY为表装载大量数据的方法:

COPY weather FROM '/home/user/weather.txt'; --源文件的文件名必须是后端服务器可以访问的,因为后端服务器会直接读取文件 8.SELECT查询 //普通查询 SELECT * FROM weather; //支持AS别名 SELECT w.city AS 城市, w.temp_lo AS 最低气温, w.temp_hi AS 最高气温, w.prcp AS 降水量, w.date AS 日期 FROM weather; //支持WHERE条件查询 SELECT * FROM weather w WHERE w.city='ShangHai' and prcp>0.0; //支持排序 SELECT * FROM weather ORDER BY city,temp_lo; //支持去重 SELECT DISTINCT city FROM weather ORDER BY city;

在一些数据库(包括老版本的PostgreSQL),都支持DISTINCT默认对查询结果排序,但是现阶段不保证结果排序,所以为了保证排序正确,最好使用ORDER BY关键字

9.UPDATE更新 //使用UPDATE语句来更改指定的表记录 UPDATE weather SET temp_lo=50, temp_hi=61 WHERE city='BeiJing'; 10.DELETE删除 //使用DELETE语句删除指定表记录 DELETE FROM weather WHERE id=1; DELETE FROM weather; --使用这种删除语句的时候必须格外小心,因为这会删除表中所有的记录 11.运算符

运算符一般分为:

算数运算符

比较运算符

逻辑运算符

按位运算符

算数运算符 运算符 描述 实例
+     省略  
-     省略  
*     省略  
/     省略  
%     省略  
^   指数   2^3 = 8  
|/   平方根   |/25.0 = 5  
||/   立方根   ||/27.0 = 3  
!   阶乘   5! = 120  
!!   阶乘(前缀操作符)   !!5 = 120  
比较运算符 运算符 描述 实例
=   等于   省略  
!=   不等于   省略  
<>   不等于   省略  
<   小于   省略  
>   大于   省略  
<=   小于等于   省略  
>=   大于等于   省略  
逻辑运算符 运算符 描述 实例
AND     省略  
NOT     NOT EXISTS,NOT IN,NOT BETWEEN  
OR     省略  
按位运算符 运算符 描述 实例
&   按位与运算符   省略  
|   按位或运算符   省略  
#   按位异或运算符   省略  
~   取反运算符   省略  
<<   二进制左移运算符   省略  
>>   二进制右移运算符   省略  
12.表达式 表达式是由一个或多个值、函数、运算符组成的。 //布尔表达式: SELECT * FROM weather WHERE id=1000; //数字表达式 SELECT sum(temp_lo,temp_hi) FROM weather WHERE id=20; //日期表达式 SELECT CURRENT_TIMESTAMP; 13.DISTINCT、WHERE、AND、OR、NOT NULL、LIKE、IN、NOT IN、BETWEEN、子查询、HAVING、ORDER BY、GROUP BY、LIMIT

懒得分开写了,反正也简单,直接写一起省事儿了~

//支持去重 SELECT DISTINCT city FROM weather ORDER BY city; //支持WHERE条件查询 SELECT * FROM weather w WHERE w.city='ShangHai'; //支持AND连接多个查询条件 SELECT * FROM weather w WHERE w.city='ShangHai' and prcp>0.0; //支持OR连接多个查询条件 SELECT * FROM weather w WHERE w.city='ShangHai' OR prcp>0.0; //支持NOT NULL判断条件 SELECT * FROM weather w WHERE date NOT NULL; //支持LIKE模糊查询 SELECT * FROM weather w WHERE city LIKE'%Hai'; //支持IN条件判断 SELECT * FROM weather w WHERE id in(1,2,3,4,5); //支持NOT IN条件判断 SELECT * FROM weather w WHERE id NOT IN(1,2,3,4,5); //支持BETWEEN AND区间筛选 SELECT * FROM weather w WHERE id BETWEEN 1 AND 10; //支持子查询 SELECT * FROM weather w WHERE w.city exists(SELECT * FROM cities c WHERE c.id exists(1,3,7,10)); //支持HAVING结果筛选 SELECT SUM(w.temp_hi) FROM weather w WHERE w.city exists(SELECT * FROM cities c WHERE c.id exists(1,3,7,10)) HAVING w.temp_hi>60; //支持ORDER BY排序 SELECT * FROM weather w ORDER BY w.id ASC; --默认ASC升序,DESC降序 //支持GROUP BY分组 SELECT city,SUM(temp_hi) FROM weather GROUP BY city; //支持LIMIT分页 SELECT * FROM weather LIMIT 0,5; 14.WITH子句 WITH子句可以将大型、复杂二点查询语句分解为诸多简单的查询语句; WITH子句中可以使用SELECT、UPDATE、INSERT、DELETE语句; WITH子句最大的优点,就是可以调用自身,从而实现递归。 WITH子句可以多次调用。 //创建一个名为getCities的WITH子句 WITH getCities AS( SELECT * FROM cities WHERE id=2; union all SELECT * FROM cities,getCities WHERE getCities .parent_id=cities.id; ) //使用getCities SELECT * FROM getCities ORDER BY id; //使用WITH和RETURNING关键字做被删数据备份 WITH backups AS( DELETE FROM weather WHERE id >100 RETURNING * --RETURNING关键字的作用:返回DML操作的数据(增、删、改操作) ) INSERT INTO weather1 VALUES(SELECT * FROM backups); 三.PostgreSQL高级 1.约束

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxfpw.html