PostGres命令【常用维护,增删改查】

文章目录

PostgreSQL 中常用的 psql 命令,包括连接数据库、列出数据库、列出表、增删改查操作以及一些基本的维护命令。

连接数据库

  1. 启动 psql 客户端:

    sh 复制代码
    psql -U your_username -d your_database -h your_host -p your_port
    • -U your_username:指定用户名。
    • -d your_database:指定要连接的数据库。
    • -h your_host:指定主机名(默认为 localhost)。
    • -p your_port:指定端口号(默认为 5432)。

    例如:

    sh 复制代码
    psql -U postgres -d mydatabase -h localhost -p 5432
  2. 在 psql 提示符下连接数据库:

    sql 复制代码
    \c mydatabase

列出数据库

  1. 列出所有数据库:

    sql 复制代码
    \l

列出表

  1. 列出当前数据库中的所有表:

    sql 复制代码
    \dt

增删改查操作

  1. 插入数据:

    sql 复制代码
    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, value2, value3, ...);

    例如:

    sql 复制代码
    INSERT INTO employees (first_name, last_name, email)
    VALUES ('John', 'Doe', 'john.doe@example.com');
  2. 查询数据:

    sql 复制代码
    SELECT * FROM table_name;

    例如:

    sql 复制代码
    SELECT * FROM employees;
  3. 更新数据:

    sql 复制代码
    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;

    例如:

    sql 复制代码
    UPDATE employees
    SET email = 'john.newemail@example.com'
    WHERE first_name = 'John' AND last_name = 'Doe';
  4. 删除数据:

    sql 复制代码
    DELETE FROM table_name
    WHERE condition;

    例如:

    sql 复制代码
    DELETE FROM employees
    WHERE first_name = 'John' AND last_name = 'Doe';

基本的维护命令

  1. 创建数据库:

    sql 复制代码
    CREATE DATABASE new_database;
  2. 删除数据库:

    sql 复制代码
    DROP DATABASE database_name;
  3. 创建表:

    sql 复制代码
    CREATE TABLE table_name (
        column1 datatype constraints,
        column2 datatype constraints,
        ...
    );

    例如:

    sql 复制代码
    CREATE TABLE employees (
        id SERIAL PRIMARY KEY,
        first_name VARCHAR(50),
        last_name VARCHAR(50),
        email VARCHAR(100)
    );
  4. 删除表:

    sql 复制代码
    DROP TABLE table_name;
  5. 添加列:

    sql 复制代码
    ALTER TABLE table_name ADD COLUMN column_name datatype;

    例如:

    sql 复制代码
    ALTER TABLE employees ADD COLUMN phone_number VARCHAR(20);
  6. 删除列:

    sql 复制代码
    ALTER TABLE table_name DROP COLUMN column_name;

    例如:

    sql 复制代码
    ALTER TABLE employees DROP COLUMN phone_number;
  7. 修改列:

    sql 复制代码
    ALTER TABLE table_name ALTER COLUMN column_name TYPE new_datatype;

    例如:

    sql 复制代码
    ALTER TABLE employees ALTER COLUMN email TYPE VARCHAR(150);
  8. 创建索引:

    sql 复制代码
    CREATE INDEX index_name ON table_name (column_name);

    例如:

    sql 复制代码
    CREATE INDEX idx_email ON employees (email);
  9. 删除索引:

    sql 复制代码
    DROP INDEX index_name;

    例如:

    sql 复制代码
    DROP INDEX idx_email;
  10. 创建唯一索引:

    sql 复制代码
    CREATE UNIQUE INDEX index_name ON table_name (column_name);

    例如:

    sql 复制代码
    CREATE UNIQUE INDEX unique_email ON employees (email);
  11. 删除唯一索引:

    sql 复制代码
    DROP INDEX index_name;

    例如:

    sql 复制代码
    DROP INDEX unique_email;
  12. 创建视图:

    sql 复制代码
    CREATE VIEW view_name AS
    SELECT column1, column2, ...
    FROM table_name
    WHERE condition;

    例如:

    sql 复制代码
    CREATE VIEW active_employees AS
    SELECT first_name, last_name, email
    FROM employees
    WHERE status = 'active';
  13. 删除视图:

    sql 复制代码
    DROP VIEW view_name;

    例如:

    sql 复制代码
    DROP VIEW active_employees;
  14. 查看表结构:

    sql 复制代码
    \d table_name

    例如:

    sql 复制代码
    \d employees
  15. 查看索引:

    sql 复制代码
    \di
  16. 查看视图:

    sql 复制代码
    \dv

其他常用命令

  1. 退出 psql:

    sql 复制代码
    \q
  2. 查看帮助:

    sql 复制代码
    \?
  3. 查看当前连接的数据库:

    sql 复制代码
    \conninfo
  4. 清空查询结果:

    sql 复制代码
    \! clear
  5. 执行 SQL 脚本文件:

    sql 复制代码
    \i /path/to/script.sql
相关推荐
m0_587383004 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析
Y3815326628 分钟前
SerpBase + RAG 实战:用搜索 API 给知识库接上实时数据,回答不再过期
java·服务器·数据库
骑着蜗牛撵大象3278 分钟前
SQL 编辑器不是高级记事本:KStudio 与 KSQL Developer 里的建表与增删改查手法
数据库·sql·mysql·编辑器·crud·执行计划
Access开发易登软件13 分钟前
我全新开发了一套 Access 通用 Excel 导入工具,现在开源了
数据库·microsoft·excel·mfc·vba·access·access开发
笃行35021 分钟前
SQL编辑器的隐藏技能:KingbaseES 配套 KSQL Developer 使用笔记
数据库
xian_wwq30 分钟前
【学习笔记】pgvector 入门:用 PostgreSQL 直接实现向量检索-13
笔记·学习·postgresql
努力进修37 分钟前
时序数据长期承载难题:从压缩、批量写入到数据组织优化
java·开发语言·数据库
CaptainT41 分钟前
先把例子跑起来:MySQL 环境与本文的示例数据
数据库·后端·mysql
Dovis(誓平步青云)42 分钟前
总用电下降了,为什么家庭能源看板仍然提示异常
java·开发语言·数据库·人工智能·算法·电脑·能源
xiaogai_gai42 分钟前
电商采购入库对接财务VMI采购入库(单号回写)实战教程
大数据·数据库