PostgreSQL常用语句

1、数据表及csv文件的导入导出(数据表已经建好):

(1)将t1导出位csv文件src.csv(带列名):

COPY t1 TO '文件位置\\src.csv' WITH CSV HEADER;
(2)将src.csv导入数据库的t2表中:
COPY t2 FROM '文件位置\\src.csv' WITH CSV HEADER;

2、从表t2中查询一些字段插入到表t1中:

INSERT INTO 表1(字段1,字段2,字段3) SELECT 字段1,字段3 FROM t2;

3、根据表t1中的字段1在表t2中查找对应的字段2,如根据表t1中的id在表t2中查找学号为id的学生的age。
SELECT age FROM t2 WHERE id IN (SELECT id FROM t1);

4、根据t1和t2中的公共字段id将表t2中的字段1和字段2更新到表t1:

UPDATE t1
	SET 字段1 = (SELECT t2.字段1 FROM t2 WHERE t1.id = t2.id),字段2 = (SELECT t2.字段2 FROM t2 WHERE t1.id = t2.id);
注意:若t2中有相同的id,则在执行时会出错。

5、统计表table中不同的(字段1,字段2)及数量(不考虑其他字段是否相同):

select distinct (字段1,字段2),count(*) from table group by (字段1,字段2);

6、根据id分组,最多显示表table中每个分组的x条记录。

SELECT * FROM (
	SELECT *,row_number() OVER(PARTITION BY id) AS ROW FROM table) t
	WHERE ROW <= x;

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1.&#160;标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1.&#160;数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1.&#160;表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4.&#160;从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1.&#160;读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7.&#160;模式匹配 PostgreSQL提供了三种独立的实现模式匹...