PostgreSQL数据库操作基本命令

发布于:2025-05-01 ⋅ 阅读:(10) ⋅ 点赞:(0)

常用操作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 等命令就会直接全部输出,不再分页。


网站公告

今日签到

点亮在社区的每一天
去签到