PostgreSQL — 常规操作
【摘要】 目录
文章目录
目录用户管理库操作表操作INSERT 语句SELECT 语句WHERE 语句LIKE 语句AND & OR 语句ORDER BY 语句JOIN 语句VIEW 语句
触发器事务内置函数
用户管理
创建用户
CREATE USER <username> WITH PASSWORD <password>...
目录
用户管理
- 创建用户
CREATE USER <username> WITH PASSWORD <password>;
- 1
- 删除用户
DROP USER <username>;
- 1
- 分配权限
GRANT ALL ON <table_name> TO <username>;
- 1
- 撤销权限
REVOKE ALL ON <table_name> FROM <username>;
- 1
库操作
操作 | SQL 语句 | 指令 |
---|---|---|
创建数据库 | CREATE DATABASE <db_name> | createdb <db_name> |
删除数据库 | DROP DATABASE <db_name> | dropdb <db_name> |
选择数据库 | \c <db_name> | psql <db_name> |
列出所有库 | \l | psql -l |
表操作
操作 | SQL/指令 |
---|---|
创建数据表 | CREATE TABLE <table_name>(<column_name> , …); |
删除数据表 | DROP TABLE <table_name>; |
列出表格 | \dt |
列出视图 | \dv |
查看表格 | \d <table_name> |
文件导入表格 | \i db.sql |
变更表结构 | alter table <table_name> add/drop/rename/alter type …; |
创建索引 | create index <index_name> on <table_name>(column); |
删除索引 | drop index <index_name>; |
操作多个表 | select ., . where . = . |
删除数据 | TRUNCATE TABLE <table_name>; 只删除数据,不删除表 |
INSERT 语句
INSERT INTO <table_name> (column1, column2, column3) VALUES (value1, value2, value3), (value11, value22, value33)
- 1
SELECT 语句
SELECT * FROM <table_name>;
SELECT <column1>, <column2> FROM <table_name>;
- 1
- 2
WHERE 语句
SELECT * FROM <table_name> WHERE <column>=<value>;
UPDATE <table_name> SET <column1>=<value1>, <column2>=<value2> WHERE [condition];
- 1
- 2
LIKE 语句
LIKE 语句配合通配符可以获取包含某些字符的数据,:
- % 任意字符
- _ 单个字符
SELECT FROM <table_name> WHERE column LIKE '%bcd%';
- 1
AND & OR 语句
- AND:同时成立。
- OR:至少满足一个。
SELECT * FROM <table_name> WHERE <column1> >= <value1> AND/OR <column2> < <value2>;
- 1
ORDER BY 语句
- asc:正序。
- desc:倒序。
- limit:前几个。
- offset:偏移量。
SELECT * FROM <table_name> order by <column_name> asc;
- 1
JOIN 语句
- INNER JOIN:内连接(默认)。
SELECT table1.column1, table2.column2...
FROM table1
INNER JOIN table2
ON table1.common_filed = table2.common_field;
- 1
- 2
- 3
- 4
- CROSS JOIN:交叉连接。
SELECT ... FROM table1 CROSS JOIN table2 ...
- 1
- LEFT OUTER JOIN:左外连接。
SELECT ... FROM table1 LEFT OUTER JOIN table2 ON conditional_expression ...
- 1
- RIGHT OUTER JOIN:右外连接。
SELECT ... FROM table1 RIGHT OUTER JOIN table2 ON conditional_expression ..
- 1
- FULL OUTER JOIN:全外连接。
SELECT ... FROM table1 FULL OUTER JOIN table2 ON conditional_expression ...
- 1
VIEW 语句
将常用的 SELECT 语句简化为一个视图(View)对象,便于简单读取和开发:
create view <view_name> as select <table_name>.<column1> where <table_name>.<column1> = <value>;
- 1
触发器
PostgreSQL 触发器是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用。
- 创建触发器:
CREATE TGIGGER <trigger_name> [BEFORE|AFTER|INSTEAD OF] <event_name> ON <table_name>;
- 1
- 列出触发器:
SELECT * FROM pg_trigger;
- 1
- 删除触发器:
drop trigger ${trigger_name} on ${table_of_trigger_dependent};
- 1
事务
保证原子性操作的 3 条指令:
- begin:开始。
- commit:提交。
- rollback:回滚。
内置函数
- distinct:过滤重复的数据。
- sum:求和。
- max/min:最大值/最小值。
- group by/having:对集合进行分组再进行计算 /过滤。
- length:长度。
- concat: 连接字符串。e.g.
concat(column,'/',column2)
- alias:别名。
- substring:切割字符串。
- random:随机数。
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/108151246
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)