我收集了一些方便的PostgreSQL命令和查询,这些命令可以帮助您快速有效地使用PostgreSQL。
基本命令:
使用PSQL命令:
连接到PostgreSQL服务器
psql -U [username];
列表Postgres数据库:
\l
退出PostgreSQL外壳:
\q
连接到特定数据库:
\c <database_name>
列出当前数据库中的所有表:
\dt
管理数据库:
创建一个新数据库:
CREATE DATABASE <database_name>
删除数据库:
DROP DATABASE <database_name>;
更改数据库的所有者:
ALTER DATABASE <database_name> OWNER TO <owner_name>;
重命名数据库:
ALTER DATABASE <old_database_name> RENAME TO <new_database_name>;
更改数据库的编码:
ALTER DATABASE <database_name> SET ENCODING <encoding>;
授予数据库上用户的特权:
GRANT <privilege> ON DATABASE <database_name> TO <username>;
管理表:
创建一个新表:
CREATE TABLE <table_name> (
<column1> <data_type1>,
<column2> <data_type2>,
...
);
创建一个带有主键和外键约束的新表:
CREATE TABLE <table_name> (
<column1> <data_type1> PRIMARY KEY,
<column2> <data_type2>,
...
FOREIGN KEY (<column_name>) REFERENCES <referenced_table>(<referenced_column>)
);
在现有表中添加新列:
ALTER TABLE <table_name>
ADD COLUMN <column_name> <data_type>;
放下一列:
ALTER TABLE <table_name>
DROP COLUMN <column_name>;
将新行插入表:
INSERT INTO <table_name> (<column1>, <column2>, ...)
VALUES (<value1>, <value2>, ...);
从表中删除行:
DELETE FROM <table_name>
WHERE <condition>;
管理索引:
在表上使用指定名称创建索引:
CREATE [UNIQUE] INDEX index_name
ON table (column,...)
从表中删除指定的索引:
DROP INDEX index_name;
从表查询数据
从表中检索所有列:
SELECT * FROM <table_name>;
从表中检索特定的列:
SELECT <column1>, <column2>, ... FROM <table_name>;
从列中检索不同的值:
SELECT DISTINCT <column_name> FROM <table_name>;
按一个或多个列对数据进行排序:
SELECT <column1>, <column2>, ...
FROM <table_name>
ORDER BY <column_name> ASC/DESC;
使用内部加入从多个表中检索数据:
SELECT <table1.column1>, <table2.column2>, ...
FROM <table1>
INNER JOIN <table2> ON <table1.column_name> = <table2.column_name>;
使用组基于列分组数据:
SELECT <column1>, <aggregate_function>(<column2>)
FROM <table_name>
GROUP BY <column1>;