Postgres常用命令之增、刪、改、查


增、刪、改、查:

  • postgres=# \password postgres 為postgres進行密碼設置;

  • postgres=# CREATE USER test WITH PASSWORD '123456'; 創建數據庫用戶;

  • postgres=# CREATE DATABASE test OWNER test; 創建用戶數據庫並制定其所有者;

  • postgres=# GRANT ALL PRIVILEGES ON DATABASE test to test; 將test數據庫所有權限賦給test,否則test只能登錄控制台,沒有任何數據庫操作權限。

  • [root@server8 ~]# sudo -u postgres createuser --superuser test 命令行形式創建數據庫用戶,之后可以登錄數據庫控制櫃台設置test用戶密碼,完成后退出控制台。;

  • [root@server8 ~]# sudo -u postgres psql

  • [root@server8 ~]# su -u postgres createdb -O test test 在命令行中創建數據庫;

  • psql -U test -d test -h 127.0.0.1 -p 5432 登錄數據庫;

  • [root@server8 ~]# su -u postgres createdb -O test test 創建數據庫;

  • postgres=# \conninfo 查看數據庫連接信息;

  • postgres=# \c exampledb test 一某個用戶切換到某個數據庫;

  • postgres=# CREATE TABLE user_tbl(name VARCHAR(20),signup_date DATE); 數據庫表創建;

  • postgres=# INSERT INTO user_tbl(name,signup_date)VALUES ('張三','2017-09-21'); 在表中插入信息;

  • postgres=# SELECT * FROM user_tbl ; 查看表結構及其內容;

  • postgres=# UPDATE user_tbl set name='李四'WHERE name= '張三'; 更新表中某列的內容信息;

  • postgres=# DELETE FROM user_tbl WHERE name = '李四'; 刪除表中某列的某行中的內容;

  • postgres=# ALTER TABLE user_tbl ADD email VARCHAR(40); 添加表結構字段

  • postgres=# ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL ;

  • postgres=#ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; 更新字段名稱;

  • postgres=# ALTER TABLE user_tbl DROP COLUMN email; 刪除表中某字段

  • postgres=# ALTER TABLE user_tbl RENAME TO backup_tbl; 重命名數據庫中的表;

  • postgres=# DROP TABLE IF EXISTS backup_tbl; 刪除表;

 

數據導入

 

 

pg數據導入步驟

  • 創建組角色

    CREATE ROLE dev;

  • 創建用戶

    CREATE ROLE gdyy LOGIN;
    GRANT dev TO gdyy;

  • 創建表空間

    /pgdata/9.1/data/gdyy(用戶用gdyy)
    CREATE TABLESPACE gdyy LOCATION '/pgdata/9.1/data/gdyy';

  • 創建數據庫

    CREATE DATABASE gdyy WITH ENCODING='UTF8' CONNECTION LIMIT=-1 TABLESPACE=gdyy;  

    GRANT CONNECT, TEMPORARY ON DATABASE tzdatas TO GROUP dev;

  • (\c 數據庫名,進入數據庫)

    GRANT USAGE ON SCHEMA public TO GROUP dev;

    ALTER DEFAULT PRIVILEGES IN SCHEMA public
    GRANT INSERT, SELECT, UPDATE, DELETE, TRUNCATE ON TABLES
    TO dev;
    CREATE EXTENSION dblink;
    CREATE EXTENSION tablefunc;

    CREATE EXTENSION postgis;(針對軌跡數據庫存在的函數,一般用戶可忽略)

    CREATE EXTENSION postgis_topology ;(針對軌跡數據庫存在的函數,一般用戶可忽略)

  • 數據庫備份

  pg_dump -U postgres -c -x -O gdyy>/t mp/gdyy.sql

  • 導入

    psql
    \c gdyy gdyy
    \i /tmp/gdyy.sql

其他常用命令

  • 連接數據庫, 默認的用戶和數據庫是postgres:psql -U user -d dbname 
  • 切換數據庫,相當於mysql的use dbname:  \c dbname
  • 列舉數據庫,相當於mysql的show databases:  \l dbname
  • 列舉表,相當於mysql的show tables:  \dt 
  • 切換數據庫,相當於mysql的use dbname:  \c dbname  
  •  查看表結構,相當於desc tblname,show columns from tbname:  \d tblname
  •  \di 查看索引 
  • 創建數據庫: create database [數據庫名]; 

 

  • 刪除數據庫: drop database [數據庫名];  
  • 重命名一個表: alter table [表名A] rename to [表名B]; 
  • 刪除一個表: drop table [表名]; 
  • 在已有的表里添加字段: alter table [表名] add column [字段名] [類型]; 
  • 刪除表中的字段: alter table [表名] drop column [字段名];
  • 重命名一個字段:  alter table [表名] rename column [字段名A] to [字段名B];
  • 給一個字段設置缺省值:  alter table [表名] alter column [字段名] set default [新的默認值];
  • 去除缺省值:  alter table [表名] alter column [字段名] drop default; 
  • 在表中插入數據: insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); 
  • 修改表中的某行某列的數據: 
  • update [表名] set [目標字段名]=[目標值] where [該行特征]; 
  • 刪除表中某行數據: delete from [表名] where [該行特征]; delete from [表名];--刪空整個表 
  • 創建表: create table ([字段名1] [類型1] <references 關聯表名(關聯的字段名)>;,[字段名2] [類型2],......<,primary key (字段名m,字段名n,...)>;); 
  • \copyright     顯示 PostgreSQL 的使用和發行條款

  \encoding [字元編碼名稱]

  顯示或設定用戶端字元編碼
  \h [名稱]      SQL 命令語法上的說明,用 * 顯示全部命令
  \prompt [文本] 名稱
       提示用戶設定內部變數
  \password [USERNAME]
       securely change the password for a user
  \q             退出 psql

  可以使用pg_dump和pg_dumpall來完成。比如備份sales數據庫: 
  pg_dump drupal>/opt/Postgresql/backup/1.bak 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM