PostgreSQL命令大全

打印 上一主题 下一主题

主题 1604|帖子 1604|积分 4812

PostgreSQL是一个功能强大的开源关系型数据库管理系统,以下是一些基本且常用的命令按功能分类:
连接与退出



  • 连接数据库
    1. psql -U [username] -d [database]
    复制代码
    示例:以用户postgres身份连接到名为mydb的数据库
    1. psql -U postgres -d mydb
    复制代码
  • 退出 PostgreSQL Shell
    1. \q
    复制代码
数据库操作



  • 检察全部数据库
    1. \l
    复制代码
  • 创建数据库
    1. CREATE DATABASE [database_name];
    复制代码
    示例:
    1. CREATE DATABASE my_new_db;
    复制代码
  • 切换数据库
    1. \c [database_name]
    复制代码
    示例:
    1. \c my_new_db
    复制代码
  • 删除数据库
    1. DROP DATABASE [database_name];
    复制代码
    示例:
    1. DROP DATABASE unused_db;
    复制代码
表操作



  • 列出当前数据库中的表
    1. \dt
    复制代码
  • 创建表
    1. CREATE TABLE [table_name] (
    2.   column1 data_type,
    3.   column2 data_type,
    4.   ...
    5. );
    复制代码
    示例:
    1. CREATE TABLE users (
    2.   id SERIAL PRIMARY KEY,
    3.   name VARCHAR(50),
    4.   age INTEGER
    5. );
    复制代码
  • 查询表数据
    1. SELECT * FROM [table_name];
    复制代码
    示例:
    1. SELECT * FROM users;
    复制代码
  • 插入数据
    1. INSERT INTO [table_name] (column1, column2, ...) VALUES (value1, value2, ...);
    复制代码
    示例:
    1. INSERT INTO users (name, age) VALUES ('John Doe', 30);
    复制代码
  • 更新数据
    1. UPDATE [table_name] SET column1 = value1, column2 = value2 WHERE condition;
    复制代码
    示例:
    1. UPDATE users SET age = 31 WHERE name = 'John Doe';
    复制代码
  • 删除数据
    1. DELETE FROM [table_name] WHERE condition;
    复制代码
    示例:
    1. DELETE FROM users WHERE name = 'John Doe';
    复制代码
  • 创建索引
    1. CREATE INDEX [index_name] ON [table_name] (column1, column2);
    复制代码
    示例:
    1. CREATE INDEX idx_users_name ON users (name);
    复制代码
  • 删除索引
    1. DROP INDEX [index_name];
    复制代码
    示例:
    1. DROP INDEX idx_users_name;
    复制代码
固然,以下是更多PostgreSQL高级功能的命令示例:
外键约束



  • 创建具有外键约束的表
    1. CREATE TABLE orders (
    2.   order_id SERIAL PRIMARY KEY,
    3.   user_id INTEGER REFERENCES users(id) ON DELETE CASCADE
    4. );
    复制代码
视图操作



  • 创建视图
    1. CREATE VIEW [view_name] AS SELECT * FROM [table_name] WHERE condition;
    复制代码
    示例:
    1. CREATE VIEW active_users AS SELECT * FROM users WHERE is_active = true;
    复制代码
  • 查询视图
    1. SELECT * FROM [view_name];
    复制代码
    示例:
    1. SELECT * FROM active_users;
    复制代码
  • 更新或删除视图中的数据(通过视图修改原表数据)
    1. UPDATE [view_name] SET column1 = value1 WHERE condition;
    2. DELETE FROM [view_name] WHERE condition;
    复制代码
  • 删除视图
    1. DROP VIEW [view_name];
    复制代码
    示例:
    1. DROP VIEW active_users;
    复制代码
存储过程与函数



  • 创建存储过程
    1. CREATE OR REPLACE PROCEDURE my_procedure (IN param1 type, OUT param2 type)
    2. AS $$
    3. BEGIN
    4.   -- 过程体
    5.   SELECT some_column INTO param2 FROM some_table WHERE condition = param1;
    6. END;
    7. $$ LANGUAGE plpgsql;
    复制代码
  • 调用存储过程
    1. CALL my_procedure('value', OUT result);
    复制代码
  • 创建函数
    1. CREATE OR REPLACE FUNCTION my_function(param1 type)
    2. RETURNS type AS $$
    3. DECLARE
    4.   result type;
    5. BEGIN
    6.   SELECT some_column INTO result FROM some_table WHERE condition = param1;
    7.   RETURN result;
    8. END;
    9. $$ LANGUAGE plpgsql;
    复制代码
  • 使用函数
    1. SELECT my_function('value') FROM dual;
    复制代码
权限管理



  • 授予用户权限
    1. GRANT privilege_type ON [table_name] TO [username];
    复制代码
    示例:
    1. GRANT SELECT, INSERT ON users TO new_user;
    复制代码
  • 撤销用户权限
    1. REVOKE privilege_type ON [table_name] FROM [username];
    复制代码
    示例:
    1. REVOKE ALL PRIVILEGES ON users FROM new_user;
    复制代码
事件管理



  • 开始事件
    1. BEGIN TRANSACTION;
    复制代码
  • 提交事件(确认全部更改):
    1. COMMIT;
    复制代码
  • 回滚事件(撤销全部更改):
    1. ROLLBACK;
    复制代码
  • 生存点设置(在事件中创建一个可以回滚到的点):
    1. SAVEPOINT [savepoint_name];
    复制代码
    示例:
    1. SAVEPOINT my_savepoint;
    复制代码
  • 回滚到生存点
    1. ROLLBACK TO [savepoint_name];
    复制代码
    示例:
    1. ROLLBACK TO my_savepoint;
    复制代码
查询优化与分析



  • 检察查询实行计划
    1. EXPLAIN [ANALYZE] [VERBOSE] [BUFFERS] [FORMAT type] SELECT ... ;
    复制代码
    示例:
    1. EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30;
    复制代码
数据类型转换



  • 强制数据类型转换
    1. SELECT CAST(column AS new_type) FROM table;
    复制代码
    示例:
    1. SELECT CAST(age AS TEXT) FROM users;
    复制代码
分区表操作



  • 创建分区表(比方,按年份分区):
    1. CREATE TABLE sales (
    2.   id SERIAL PRIMARY KEY,
    3.   product VARCHAR(50),
    4.   sale_date DATE
    5. ) PARTITION BY RANGE (sale_date);
    6. CREATE TABLE sales_2021 PARTITION OF sales
    7. FOR VALUES FROM ('2021-01-01') TO ('2022-01-01');
    复制代码
复制与备份恢复



  • 数据库备份
    1. pg_dump -U [username] -d [database] > backup.sql
    复制代码
    示例:
    1. pg_dump -U postgres -d mydb > mydb_backup.sql
    复制代码
  • 从备份恢复数据库
    1. psql -U [username] -d [database]
    2. < backup.sql
    复制代码
    示例:
    1. psql -U postgres -d mydb
    2. < mydb_backup.sql
    复制代码
以上是PostgreSQL数据库常用命令及使用案例的一部分,更多详细内容请参阅官方文档。对于大型应用和企业级情况,可能还必要涉及更复杂的集群设置、高可用性办理方案、性能调优等方面的知识。请参考官方文档以获取完整信息:https://www.postgresql.org/docs/current/index.html
python推荐学习汇总连接:
50个开辟必备的Python经典脚本(1-10)
50个开辟必备的Python经典脚本(11-20)
50个开辟必备的Python经典脚本(21-30)
50个开辟必备的Python经典脚本(31-40)
50个开辟必备的Python经典脚本(41-50)
————————————————
​最后我们放松一下眼睛


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表