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', '[email protected]');
  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 = '[email protected]'
    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
相关推荐
betazhou1 小时前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql
开挖掘机上班1 小时前
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
数据库·mysql
花月C1 小时前
Mysql-定时删除数据库中的验证码
数据库·后端·mysql·spring
success_a3 小时前
大故障:阿里云核心域名爆炸了
数据库·阿里云·云计算
@小红花6 小时前
MySQL数据库从0到1
数据库·mysql·oracle
[听得时光枕水眠]6 小时前
MySQL基础(三)DQL(Data Query Language,数据查询语言)
数据库·mysql·oracle
我科绝伦(Huanhuan Zhou)6 小时前
深入解析Oracle SQL调优健康检查工具(SQLHC):从原理到实战优化
数据库·sql·oracle
寒山李白10 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装
文牧之10 小时前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql
deriva11 小时前
某水表量每15分钟一报,然后某天示数清0了,重新报示值了 ,如何写sql 计算每日水量
数据库·sql