溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Postgresql有哪些常用的新手入門命令

發布時間:2020-08-24 16:33:15 來源:億速云 閱讀:161 作者:Leah 欄目:編程語言

Postgresql有哪些常用的新手入門命令?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Postgresql的常用命令:

連接數據庫, 默認的用戶和數據庫是postgres

psql -U user -d dbname

切換數據庫,相當于mysql的use dbname

\c dbname

列舉數據庫,相當于mysql的show databases

\l

列舉表,相當于mysql的show tables

\dt

查看表結構,相當于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] ;,[字段名2] [類型2],......<,primary key (字段名m,字段名n,...)>;);

顯示 PostgreSQL 的使用和發行條款:

\copyright

顯示或設定用戶端字元編碼:

\encoding [字元編碼名稱]

SQL 命令語法上的說明,用 * 顯示全部命令              

\h [名稱]

提示用戶設定內部變數:

\prompt [文本] 名稱

securely change the password for a user

\password [USERNAME]

退出 psql:

\q

可以使用pg_dump和pg_dumpall來完成。比如備份sales數據庫: 

pg_dump drupal>/opt/Postgresql/backup/1.bak

指定給postgresql用戶的常用命令:

默認用戶

postgres安裝完成后,會自動在操作系統和postgres數據庫中分別創建一個名為postgres的用戶以及一個同樣名為postgres的數據庫。

登錄

·方式1:指定參數登錄

psql -U username -d database_name -h host -W

參數含義: -U指定用戶 -d要連接的數據庫 -h要連接的主機 -W提示輸入密碼。

·方式2:切換到postgres同名用戶后登錄

su username;
psql

當不指定參數時psql使用操作系統當前用戶的用戶名作為postgres的登錄用戶名和要連接的數據庫名。所以在PostgreSQL安裝完成后可以通過以上方式登錄。

創建用戶

·方式1:在系統命令行中使用createuser命令中創建

createuser username;

·方式2:在PostgresSQL命令行中使用CREATE ROLE指令創建

CREATE ROLE rolename;

·方式3:在PostgresSQL命令行中使用CREATE USER指令創建

CREATE USER username;

CREATE USER和CREATE ROLE的區別在于,CREATE USER指令創建的用戶默認是有登錄權限的,而CREATE ROLE沒有。

·\du 指令顯示用戶和用戶的用戶屬性 

創建用戶時設定用戶屬性

·基本語法格式

CREATE ROLE role_name WITH optional_permissions;

·示例:在創建用戶時設定登錄權限。

CREATE ROLE username WITH LOGIN;

·可以通過\h CREATE ROLE指令查看全部可設置的管理權限

修改用戶屬性

·修改權限的命令格式

ALTER ROLE username WITH attribute_options;

·例如:可通過以下方式禁止用戶登錄

ALTER ROLE username WITH NOLOGIN;

設置訪問權限

·語法格式如下:

GRANT permission_type ON table_name TO role_name;

·實例:

GRANT UPDATE ON demo TO demo_role; --賦予demo_role demo表的update權限
GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC to demo_role; --賦予demo_role所有表的SELECT權限

·特殊符號:ALL代表所訪問權限,PUBLIC代表所有用戶

GRANT ALL ON demo TO demo_role; --賦給用戶所有權限
GRANT SELECT ON demo TO PUBLIC; --將SELECT權限賦給所有用戶

·\z或\dp指令顯示用戶訪問權限。

·\h GRANT顯示所有可設置的訪問權限

撤銷用戶訪問權限

·語法格式如下:

REVOKE permission_type ON table_name FROM user_name;

其中permission_type和table_name含義與GRANT指令中相同。

用戶組

在postgres中用戶實際上是role,同時組也是role。 包含其他role的role就是組。

·創建組示例:

CREATE ROLE temporary_users;
GRANT temporary_users TO demo_role;
GRANT temporary_users TO test_user;

·切換ROLE

SET ROLE role_name; --切換到role_name用戶
RESET ROLE; --切換回最初的role

·INHERIT權限:該屬性使組成員擁有組的所有權限

ALTER ROLE test_user INHERIT;

刪除用戶和組

刪除用戶和組很簡單:

DROP ROLE role_name;
DROP ROLE IF EXISTS role_name;

刪除組role只會刪除組的role本身,組的成員并不會被刪除。

看完上述內容,你們掌握Postgresql有哪些常用的新手入門命令的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女