PostgreSQL是一个功能强大的开源关系型数据库管理系统,以下是一些基本且常用的命令按功能分类:
连接与退出
- 连接数据库:
- psql -U [username] -d [database]
复制代码 示例:以用户postgres身份连接到名为mydb的数据库
- 退出 PostgreSQL Shell:
数据库操作
- 检察全部数据库:
- 创建数据库:
- CREATE DATABASE [database_name];
复制代码 示例:
- CREATE DATABASE my_new_db;
复制代码 - 切换数据库:
示例:
- 删除数据库:
- DROP DATABASE [database_name];
复制代码 示例:
表操作
- 列出当前数据库中的表:
- 创建表:
- CREATE TABLE [table_name] (
- column1 data_type,
- column2 data_type,
- ...
- );
复制代码 示例:
- CREATE TABLE users (
- id SERIAL PRIMARY KEY,
- name VARCHAR(50),
- age INTEGER
- );
复制代码 - 查询表数据:
- SELECT * FROM [table_name];
复制代码 示例:
- 插入数据:
- INSERT INTO [table_name] (column1, column2, ...) VALUES (value1, value2, ...);
复制代码 示例:
- INSERT INTO users (name, age) VALUES ('John Doe', 30);
复制代码 - 更新数据:
- UPDATE [table_name] SET column1 = value1, column2 = value2 WHERE condition;
复制代码 示例:
- UPDATE users SET age = 31 WHERE name = 'John Doe';
复制代码 - 删除数据:
- DELETE FROM [table_name] WHERE condition;
复制代码 示例:
- DELETE FROM users WHERE name = 'John Doe';
复制代码 - 创建索引:
- CREATE INDEX [index_name] ON [table_name] (column1, column2);
复制代码 示例:
- CREATE INDEX idx_users_name ON users (name);
复制代码 - 删除索引:
示例:
- DROP INDEX idx_users_name;
复制代码 固然,以下是更多PostgreSQL高级功能的命令示例:
外键约束
- 创建具有外键约束的表:
- CREATE TABLE orders (
- order_id SERIAL PRIMARY KEY,
- user_id INTEGER REFERENCES users(id) ON DELETE CASCADE
- );
复制代码 视图操作
- 创建视图:
- CREATE VIEW [view_name] AS SELECT * FROM [table_name] WHERE condition;
复制代码 示例:
- CREATE VIEW active_users AS SELECT * FROM users WHERE is_active = true;
复制代码 - 查询视图:
- SELECT * FROM [view_name];
复制代码 示例:
- SELECT * FROM active_users;
复制代码 - 更新或删除视图中的数据(通过视图修改原表数据):
- UPDATE [view_name] SET column1 = value1 WHERE condition;
- DELETE FROM [view_name] WHERE condition;
复制代码 - 删除视图:
示例:
存储过程与函数
- 创建存储过程:
- CREATE OR REPLACE PROCEDURE my_procedure (IN param1 type, OUT param2 type)
- AS $$
- BEGIN
- -- 过程体
- SELECT some_column INTO param2 FROM some_table WHERE condition = param1;
- END;
- $$ LANGUAGE plpgsql;
复制代码 - 调用存储过程:
- CALL my_procedure('value', OUT result);
复制代码 - 创建函数:
- CREATE OR REPLACE FUNCTION my_function(param1 type)
- RETURNS type AS $$
- DECLARE
- result type;
- BEGIN
- SELECT some_column INTO result FROM some_table WHERE condition = param1;
- RETURN result;
- END;
- $$ LANGUAGE plpgsql;
复制代码 - 使用函数:
- SELECT my_function('value') FROM dual;
复制代码 权限管理
- 授予用户权限:
- GRANT privilege_type ON [table_name] TO [username];
复制代码 示例:
- GRANT SELECT, INSERT ON users TO new_user;
复制代码 - 撤销用户权限:
- REVOKE privilege_type ON [table_name] FROM [username];
复制代码 示例:
- REVOKE ALL PRIVILEGES ON users FROM new_user;
复制代码 事件管理
- 开始事件:
- 提交事件(确认全部更改):
- 回滚事件(撤销全部更改):
- 生存点设置(在事件中创建一个可以回滚到的点):
- SAVEPOINT [savepoint_name];
复制代码 示例:
- 回滚到生存点:
- ROLLBACK TO [savepoint_name];
复制代码 示例:
- ROLLBACK TO my_savepoint;
复制代码 查询优化与分析
- 检察查询实行计划:
- EXPLAIN [ANALYZE] [VERBOSE] [BUFFERS] [FORMAT type] SELECT ... ;
复制代码 示例:- EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30;
复制代码 数据类型转换
- 强制数据类型转换:
- SELECT CAST(column AS new_type) FROM table;
复制代码 示例:- SELECT CAST(age AS TEXT) FROM users;
复制代码 分区表操作
- 创建分区表(比方,按年份分区):
- CREATE TABLE sales (
- id SERIAL PRIMARY KEY,
- product VARCHAR(50),
- sale_date DATE
- ) PARTITION BY RANGE (sale_date);
- CREATE TABLE sales_2021 PARTITION OF sales
- FOR VALUES FROM ('2021-01-01') TO ('2022-01-01');
复制代码 复制与备份恢复
- 数据库备份:
- pg_dump -U [username] -d [database] > backup.sql
复制代码 示例:
- pg_dump -U postgres -d mydb > mydb_backup.sql
复制代码 - 从备份恢复数据库:
- psql -U [username] -d [database]
- < backup.sql
复制代码 示例:
- psql -U postgres -d mydb
- < 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企服之家,中国第一个企服评测及商务社交产业平台。 |