文章目录
- 连接数据库
- 列出数据库
- 列出表
- 增删改查操作
- 基本的维护命令
- 其他常用命令
PostgreSQL 中常用的 psql 命令,包括连接数据库、列出数据库、列出表、增删改查操作以及一些基本的维护命令。
连接数据库
-
启动
psql客户端: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)。
例如:
psql -U postgres -d mydatabase -h localhost -p 5432 -
在
psql提示符下连接数据库:\c mydatabase
列出数据库
-
列出所有数据库:
\l
列出表
-
列出当前数据库中的所有表:
\dt
增删改查操作
-
插入数据:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);例如:
INSERT INTO employees (first_name, last_name, email) VALUES ('John', 'Doe', 'john.doe@example.com'); -
查询数据:
SELECT * FROM table_name;例如:
SELECT * FROM employees; -
更新数据:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;例如:
UPDATE employees SET email = 'john.newemail@example.com' WHERE first_name = 'John' AND last_name = 'Doe'; -
删除数据:
DELETE FROM table_name WHERE condition;例如:
DELETE FROM employees WHERE first_name = 'John' AND last_name = 'Doe';
基本的维护命令
-
创建数据库:
CREATE DATABASE new_database; -
删除数据库:
DROP DATABASE database_name; -
创建表:
CREATE TABLE table_name (column1 datatype constraints,column2 datatype constraints,... );例如:
CREATE TABLE employees (id SERIAL PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),email VARCHAR(100) ); -
删除表:
DROP TABLE table_name; -
添加列:
ALTER TABLE table_name ADD COLUMN column_name datatype;例如:
ALTER TABLE employees ADD COLUMN phone_number VARCHAR(20); -
删除列:
ALTER TABLE table_name DROP COLUMN column_name;例如:
ALTER TABLE employees DROP COLUMN phone_number; -
修改列:
ALTER TABLE table_name ALTER COLUMN column_name TYPE new_datatype;例如:
ALTER TABLE employees ALTER COLUMN email TYPE VARCHAR(150); -
创建索引:
CREATE INDEX index_name ON table_name (column_name);例如:
CREATE INDEX idx_email ON employees (email); -
删除索引:
DROP INDEX index_name;例如:
DROP INDEX idx_email; -
创建唯一索引:
CREATE UNIQUE INDEX index_name ON table_name (column_name);例如:
CREATE UNIQUE INDEX unique_email ON employees (email); -
删除唯一索引:
DROP INDEX index_name;例如:
DROP INDEX unique_email; -
创建视图:
CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;例如:
CREATE VIEW active_employees AS SELECT first_name, last_name, email FROM employees WHERE status = 'active'; -
删除视图:
DROP VIEW view_name;例如:
DROP VIEW active_employees; -
查看表结构:
\d table_name例如:
\d employees -
查看索引:
\di -
查看视图:
\dv
其他常用命令
-
退出
psql:\q -
查看帮助:
\? -
查看当前连接的数据库:
\conninfo -
清空查询结果:
\! clear -
执行 SQL 脚本文件:
\i /path/to/script.sql