日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

postgreSql 常用操作总结

發(fā)布時間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 postgreSql 常用操作总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

閱讀目錄

  • 0. 啟動pgsl數(shù)據(jù)庫
  • 1. 查看pgsl版本
  • 1. 命令行登錄數(shù)據(jù)庫
  • 2. 列出所有數(shù)據(jù)庫
  • 3. 切換數(shù)據(jù)庫
  • 4. 列出當(dāng)前數(shù)據(jù)庫的所有表
  • 5. 查看指定表的所有字段
  • 6. 查看指定表的基本情況
  • 7. 退出操作
  • 8. 新建表
  • 9. 刪除表
  • 10. 清空表
  • 11. 添加字段
  • 12. 更改字段
  • 13. 刪除字段
  • 14. 表中插入一行數(shù)據(jù)
  • 15. 表中刪除一行數(shù)據(jù)
  • 16. 修改表中數(shù)據(jù)
  • 17. 刪除表
  • 18. 退出postgreSql
  • 19. 兩個查詢結(jié)果做差 except
  • 20. 復(fù)制表
  • 21.命令導(dǎo)入sql數(shù)據(jù)文件
  • 22. 查詢結(jié)果存儲到輸出文件
  • 23. 數(shù)據(jù)庫的備份&恢復(fù)
  • 24.?\x
  • 25. 從表A中把符合條件的記錄拷貝到表B
  • 26 建立索引
回到頂部

0. 啟動pgsl數(shù)據(jù)庫

pg_ctl -D /xx/pgdata start 回到頂部

1. 查看pgsl版本

pg_ctl --version 回到頂部

1. 命令行登錄數(shù)據(jù)庫

1 psql -U username -d dbname -h hostip -p port
回到頂部

2. 列出所有數(shù)據(jù)庫

\l 回到頂部

3. 切換數(shù)據(jù)庫

1 \c dbname
回到頂部

4. 列出當(dāng)前數(shù)據(jù)庫的所有表

\d 回到頂部

5. 查看指定表的所有字段

1 \d? tablename

回到頂部

6. 查看指定表的基本情況

1 \d+? tablename

回到頂部

7. 退出操作

1 q
回到頂部

8. 新建表

例1(主鍵)

create table TESTCASE( id INTEGER, task_class INTEGER, age TEXT, PRIMARY KEY(id, task_class) );

例2(自增SERIAL)

create table CREATETASK_CHKID_N(
id SERIAL PRIMARY KEY,
chk_id TEXT,
n INTEGER
);

其中SERIAL代表自增,默認(rèn)從1開始增加,每次自增1。

回到頂部

9. 刪除表

1 drop table REL_CROSS_NODE;
回到頂部

10. 清空表

delete from [表名]

or

TRUNCATE TABLE [表名]

區(qū)別:Truncate table 表名 (注:不帶where語句) 速度快,而且效率高。

因為DELETE 語句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數(shù)據(jù)所用的數(shù)據(jù)頁來刪除數(shù)據(jù),并且只在事務(wù)日志中記錄頁的釋放

回到頂部

11. 添加字段

1 alter table [表名] add column [字段名] [類型];
回到頂部

12. 更改字段

alter table [表名] rename column [舊字段名] to [新字段名];例:把表table_ex字段col_1限制非空去掉:ALTER TABLE table_eg ALTER col_1 drop not NULL

12.1 更改字段屬性,含空格

如果把字段colname把屬性Text轉(zhuǎn)化為int,原來text里面存在空啥的,可以

ALTER TABLE tablename ALTER COLUMN colname TYPE int USING (trim(colname)::integer);

12.2 更改字段由int4-->int8

alter table test_data alter column task_id type bigint using task_id::bigint 回到頂部

13. 刪除字段

1 alter table [表名] drop column [字段名];
回到頂部

14. 表中插入一行數(shù)據(jù)

1 insert into [表名] (字段1,字段2) values (值1,值2);

例如:? ??

1 insert into assist_info (id, maat_id, block_type) values ('F006',?'F7775', 1)??

  • 如果表中字段有大寫的字段,則需要對應(yīng)的加上雙引號。例:insert into test (no, "Name") values ('123', 'jihite');
  • 值用單引號引起來(''),不能用雙引號("")
回到頂部

15. 表中刪除一行數(shù)據(jù)

1 delete from [表名] where [該行特征];
回到頂部

16. 修改表中數(shù)據(jù)

1 update [表名] set [目標(biāo)字段名]=[目標(biāo)值] where [該行特征]
回到頂部

17. 刪除表

1 drop table [表名];
回到頂部

18. 退出postgreSql

\q 回到頂部

19. 兩個查詢結(jié)果做差 except

1 2 3 4 5 (select node_id from node where node_id=1?or node_id=2) except (select node_id from node where node_id=1); ?node_id --------- ???????2 (1?row)
回到頂部

20. 復(fù)制表

CREATE TABLE test_a_copy AS SELECT * FROM test_a; 回到頂部

21.命令導(dǎo)入sql數(shù)據(jù)文件

psql -h localhost -d databaseName -U username -f filename 回到頂部

22. 查詢結(jié)果存儲到輸出文件

格式:

\o file_path

這樣就會把查詢結(jié)果存儲到輸出文件中。例

postgres=> \o /home/jihite/data/iu_data; postgres=> select test_id from cdb_all_iu_data limit 10; postgres=> select test_id from cdb_all_iu_data limit 5;

結(jié)果

test_id --------------2143215321442156214521542146215721472155 (10 rows)test_id --------------21432153214421562145 (5 rows) 回到頂部

23. 數(shù)據(jù)庫的備份&恢復(fù)

導(dǎo)出到線下文件

pg_dump --host hostname --port port --username username -t tablename -d dbname >/home/jihite/table.sql

把線下文件導(dǎo)入到數(shù)據(jù)庫

psql -h 10.125.7.68 -p 5432 -d postgres -U postgres -W postgres -f 2.sql 回到頂部

24.?\x

postgres=> \x Expanded display is on. postgres=> select * from cdb_chk_items where chk_id = 'R000000335'; -[ RECORD 1 ]+------------------------------------------------------------------------------------------------ chk_id | R000000335 chk_desc | 道路屬性與道路屬性相關(guān)檢查 chk_info | {"FIELDS": {"TRAFFIC_SIGN": ["TYPE", "GEOM"], "ROAD_LINK": ["ROAD_CLASS", "FORM_WAY", "GEOM"]}} err_desc | {"ERR2": "roadclass取值錯誤", "ERR1": "formway取值錯誤"} chk_level | 1 is_opened | 1 module_name | TRAFFIC_SIGN invalid_flag | 1 rel_mode | MAIN_LAYER:TRAFFIC_SIGN: TRAFFIC_SIGN|A,M|DIRECT: ROAD_LINK|A,M,D|ATTR_REL 回到頂部

25. 從表A中把符合條件的記錄拷貝到表B

insert into A select * from B where id in ('a', 'b', 'c'); 回到頂部

26 建立索引

單字段索引

CREATE INDEX index_name ON table_name (field1);

多字段索引

CREATE INDEX index_name ON table_name (field1,field2);

查看所有表的索引使用情況

select relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch from pg_stat_user_indexes order by idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;

查看某個表索引的使用情況

select relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch from pg_stat_user_indexes whererelname = table_name order by idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;

?




本文轉(zhuǎn)自jihite博客園博客,原文鏈接:http://www.cnblogs.com/kaituorensheng/p/4667160.html,如需轉(zhuǎn)載請自行聯(lián)系原作者


總結(jié)

以上是生活随笔為你收集整理的postgreSql 常用操作总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。