postgres資料庫
阿新 • • 發佈:2018-12-18
安裝postgres:
sudo apt-get install postgresql-client
sudo apt-get install postgresql
sudo apt-get install pgadmin3
postgres伺服器會在本機的5432埠開啟,並且初次安裝成功後,預設能生成一個名為postgres的資料庫名,名為postgres的資料庫使用者,名為postgres的Linux系統使用者。
新建資料庫:
然後我們使用postgres使用者來生成其他的使用者和新使用者名稱下的資料庫:
sudo adduser dbuser # 新建一個linux使用者 sudo su - postgres # 切換到postgres使用者 psql # 以同名數據庫使用者身份登入資料庫 \password postgres # 為使用者設定密碼 CREATE USER dbuser WITH PASSWORD 'password'; # 建立資料庫使用者dbuser CREATE DATABASE exampledb OWNER dbuser; # 建立使用者資料庫,指定所有者為剛剛建立的dbuser資料庫使用者 GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser; # 將資料庫的所有許可權交給這個資料庫使用者
登入資料庫:
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
控制檯命令:
\h:檢視SQL命令的解釋,比如\h select。
\?:檢視psql命令列表。
\l:列出所有資料庫。
\c [database_name]:連線其他資料庫。
\d:列出當前資料庫的所有表格。
\d [table_name]:列出某一張表格的結構。
\du:列出所有使用者。
\e:開啟文字編輯器。
\conninfo:列出當前資料庫和連線的資訊。
資料庫操作:
# 建立新表 CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE); # 插入資料 INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22'); # 選擇記錄 SELECT * FROM user_tbl; # 更新資料 UPDATE user_tbl set name = '李四' WHERE name = '張三'; # 刪除記錄 DELETE FROM user_tbl WHERE name = '李四' ; # 新增欄位 ALTER TABLE user_tbl ADD email VARCHAR(40); # 更新結構 ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL; # 更名欄位 ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; # 刪除欄位 ALTER TABLE user_tbl DROP COLUMN email; # 表格更名 ALTER TABLE user_tbl RENAME TO backup_tbl; # 刪除表格 DROP TABLE IF EXISTS backup_tbl;
刪庫:
sudo su - dbuser
dropdb test1
sudo su - postgres
psql
CREATE DATABASE test1 OWNER dbuser;
GRANT ALL PRIVILEGES ON DATABASE test1 to dbuser;