postgresql數(shù)據(jù)庫基本操作及命令詳解
1. 連接 PostgreSQL 數(shù)據(jù)庫
首先,使用 psql 命令行工具連接到數(shù)據(jù)庫。如果是本地連接,命令格式如下:
psql -U postgres -d <數(shù)據(jù)庫名稱> -h <主機地址>
其中:
-U postgres:表示以postgres用戶身份登錄。-d <數(shù)據(jù)庫名稱>:指定要連接的數(shù)據(jù)庫。-h <主機地址>:指定數(shù)據(jù)庫服務器的主機地址(如果是本地,localhost或127.0.0.1)。
如果沒有指定數(shù)據(jù)庫,psql 會默認連接到 postgres 數(shù)據(jù)庫。
2. 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建一個新的數(shù)據(jù)庫可以使用以下 SQL 語句:
CREATE DATABASE <數(shù)據(jù)庫名稱>;
例如:
CREATE DATABASE testdb;
3. 查看當前數(shù)據(jù)庫
使用 \c 或 \connect 命令查看或切換當前連接的數(shù)據(jù)庫:
\c <數(shù)據(jù)庫名稱>
例如,切換到 testdb 數(shù)據(jù)庫:
\c testdb
4. 查看所有數(shù)據(jù)庫
要查看當前 PostgreSQL 服務器中所有數(shù)據(jù)庫,可以使用以下命令:
\l
或者:
\list
5. 查看當前數(shù)據(jù)庫中的所有表
使用以下命令查看當前數(shù)據(jù)庫中所有表:
\dt
6. 創(chuàng)建表
創(chuàng)建表時,定義表的字段及其類型。例如:
CREATE TABLE students (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
age INT
);上面的語句創(chuàng)建了一個名為 students 的表,其中包含 id、name 和 age 字段。
7. 查看表結構
查看表的結構,可以使用 \d 命令后接表名:
\d students
這將顯示 students 表的結構和字段類型。
8. 插入數(shù)據(jù)(增)
插入數(shù)據(jù)時使用 INSERT INTO 語句。假設我們要向 students 表中插入一條記錄:
INSERT INTO students (name, age) VALUES ('Alice', 20);如果你要插入多條記錄,可以使用以下語法:
INSERT INTO students (name, age) VALUES
('Bob', 22),
('Charlie', 23),
('David', 21);9. 查詢數(shù)據(jù)(查)
查詢數(shù)據(jù)時使用 SELECT 語句。要查詢表中的所有記錄:
SELECT * FROM students;
查詢指定條件的數(shù)據(jù):
SELECT * FROM students WHERE age > 21;
查詢特定字段:
SELECT name, age FROM students;
10. 更新數(shù)據(jù)(改)
更新數(shù)據(jù)時使用 UPDATE 語句。比如,將 Alice 的年齡改為 21:
UPDATE students SET age = 21 WHERE name = 'Alice';
更新多條記錄:
UPDATE students SET age = age + 1 WHERE age < 25;
11. 刪除數(shù)據(jù)(刪)
刪除數(shù)據(jù)時使用 DELETE 語句。比如刪除 name 為 Bob 的記錄:
DELETE FROM students WHERE name = 'Bob';
如果你想刪除所有數(shù)據(jù)(但保留表結構):
DELETE FROM students;
如果你希望徹底刪除表結構及其數(shù)據(jù),可以使用 DROP TABLE:
DROP TABLE students;
12. 查看當前連接的會話
查看當前連接的會話信息:
\conninfo
這將顯示當前連接的數(shù)據(jù)庫、用戶名、主機等信息。
13. 查看數(shù)據(jù)庫的狀態(tài)
查看數(shù)據(jù)庫的狀態(tài)或運行信息,使用以下命令:
SELECT pg_stat_activity;
這將顯示當前連接到數(shù)據(jù)庫的會話信息,包括每個連接的狀態(tài)、查詢等。
14. 查看表的大小
查看某個表所占用的存儲空間大小:
SELECT pg_size_pretty(pg_total_relation_size('students'));如果你要查看所有表的大小,可以使用:
SELECT table_name, pg_size_pretty(pg_total_relation_size(table_name)) FROM information_schema.tables WHERE table_schema = 'public';
15. 查看數(shù)據(jù)庫的大小
查看數(shù)據(jù)庫本身的大?。?/p>
SELECT pg_size_pretty(pg_database_size('testdb'));你可以替換 testdb 為任何你要查詢的數(shù)據(jù)庫名稱。
16. 查看索引
查看某個表的索引:
\di
或者:
SELECT * FROM pg_indexes WHERE tablename = 'students';
17. 創(chuàng)建索引
為了提高查詢效率,可以在表中創(chuàng)建索引。例如,為 students 表的 name 列創(chuàng)建索引:
CREATE INDEX idx_name ON students (name);
18. 備份數(shù)據(jù)庫
使用 pg_dump 命令進行數(shù)據(jù)庫備份。備份到一個文件:(進入數(shù)據(jù)庫)
pg_dump -U postgres -d testdb -f backup.sql
19. 恢復數(shù)據(jù)庫
使用 psql 恢復備份的數(shù)據(jù):
psql -U postgres -d testdb -f backup.sql
20. 退出 PostgreSQL
退出 psql 連接:
\q
到此這篇關于postgresql數(shù)據(jù)庫基本操作及命令詳解的文章就介紹到這了,更多相關postgresql數(shù)據(jù)庫操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PostgreSQL對GROUP BY子句使用常量的特殊限制詳解
這篇文章主要介紹了PostgreSQL對GROUP BY子句使用常量的特殊限制詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Postgresql中json和jsonb類型區(qū)別解析
在我們的業(yè)務開發(fā)中,可能會因為特殊【歷史,偷懶,防止表連接】經常會有JSON或者JSONArray類的數(shù)據(jù)存儲到某列中,這個時候再PG數(shù)據(jù)庫中有兩種數(shù)據(jù)格式可以直接一對多或者一對一的映射對象,接下來通過本文介紹Postgresql中json和jsonb類型區(qū)別,需要的朋友可以參考下2024-06-06
Postgresql數(shù)據(jù)庫character?varying和character的區(qū)別說明
這篇文章主要介紹了Postgresql數(shù)據(jù)庫character?varying和character的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Postgresql的select優(yōu)化操作(快了200倍)
這篇文章主要介紹了Postgresql的select優(yōu)化操作(快了200倍),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01

