常用操作sql
🔐 用戶管理
-- 創建用戶
CREATE USER username WITH PASSWORD 'password';-- 修改用戶密碼
ALTER USER username WITH PASSWORD 'newpassword';-- 刪除用戶
DROP USER username;
📦 數據庫操作
-- 創建數據庫
CREATE DATABASE dbname;-- 刪除數據庫
DROP DATABASE dbname;-- 更改數據庫所有者
ALTER DATABASE dbname OWNER TO new_owner;
🗃? 表操作
-- 創建表
CREATE TABLE users (id SERIAL PRIMARY KEY,username VARCHAR(50) NOT NULL,email VARCHAR(100),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 刪除表
DROP TABLE users;-- 修改表(添加列)
ALTER TABLE users ADD COLUMN age INTEGER;-- 刪除列
ALTER TABLE users DROP COLUMN age;
📥 插入數據
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com');
📤 查詢數據
-- 查詢所有數據
SELECT * FROM users;-- 帶條件查詢
SELECT * FROM users WHERE username = 'alice';
?? 更新數據
UPDATE users SET email = 'alice@newdomain.com' WHERE username = 'alice';
? 刪除數據
DELETE FROM users WHERE username = 'alice';
? 授權操作
-- 授權用戶訪問數據庫
GRANT CONNECT ON DATABASE dbname TO username;-- 授權用戶對表的讀寫權限
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE users TO username;
PostgreSQL 常用的“查庫、查表、查表結構、切換庫”等命令整理
🔗 連接數據庫
psql -U 用戶名 -d 數據庫名 -h 主機名 -p 端口號
# 例子(本地默認端口)
psql -U postgres -d mydb
🏛? 查看所有數據庫
\l -- 或者 \list
🛠?切換數據庫(需退出重連)
PostgreSQL 不支持在 psql 會話中直接切換數據庫,需要重新連接:
\c 數據庫名 -- 在 psql 里重連另一數據庫
# 示例:
\c mydb
📁 查看當前數據庫中的所有表
\dt
也可以查看某個 schema 下的表:
\dt schema_name.*
📐 查看表結構
\d 表名
# 示例
\d users
📝查看表中字段和類型(更詳細)
SELECT column_name, data_type, character_maximum_length
FROM information_schema.columns
WHERE table_name = 'your_table_name';
🔍查詢當前數據庫
SELECT current_database();
🧾查看某張表的索引
\di 表名*
📊 九、查看某張表的數據(前幾行)
SELECT * FROM 表名 LIMIT 10;
?? 注意
在 psql 終端中輸入 \l(查看數據庫列表)后,如果輸出內容較多,PostgreSQL 會自動使用分頁工具(比如 less)來展示內容,這時候 不是卡住,而是進入了分頁瀏覽模式。
? 退出分頁瀏覽的方法:
在分頁界面中,直接按以下鍵退出:
q
q 代表 quit,也就是退出查看界面。
🔄 提示:如果你不想進入分頁模式
你可以在連接數據庫時禁用分頁輸出,例如:
psql -U postgres --pset pager=off
或者進入 psql 后運行:
\pset pager off
這樣 \l、\dt 等命令就會直接全部輸出,不再分頁。