PostgreSQL — 常规操作

举报
云物互联 发表于 2021/08/05 23:41:23 2021/08/05
【摘要】 目录 文章目录 目录用户管理库操作表操作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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。