1、创建数据库

[postgres@database2019030517 ~]$ CREATE DATABASE database_name;

2、删除数据库

[postgres@database2019030517 ~]$ drop database database_name;

3、连接指定数据库

1、[postgres@database2019030517 ~]$ psql mydb

psql (10.5)

Type "help" for help.

mydb=#

2、psql

#\l   查看数据库

#\c database_name;   连接数据库

4、创建表。两个划线(“--”)引入注释。

mydb=# CREATE TABLE weather (

city            varchar(80),

temp_lo         int,           -- 最低温度

temp_hi         int,           -- 最高温度

prcp              real,          -- 湿度

date             date);

5、删除表

mydb=# DROP TABLE cities;

1、删除A库下的B表。

#\c A;

#drop table B;

6、在表中增加行

INSTERT语句向表中添加行

mydb=# insert into weather values ('San Francisco',46,50,0.25,'1994-11-27');

INSERT 0 1

插入数据时候明确的指出列

mydb=# insert into weather (city,temp_lo,temp_hi,prcp,date)

mydb-# values ('chines',45,66,0.65,'1994-12-1');

INSERT 0 1

忽略某些列, 比如说,我们不知道降水量:

mydb=# insert into weather (date,city,temp_hi,temp_lo)

values ('1996-11-2','japan',44,33);

INSERT 0 1

查询一个表

mydb=# select * from weather;

city      | temp_lo | temp_hi | prcp |    date

---------------+---------+---------+------+------------

San Francisco |      46 |      50 | 0.25 | 1994-11-27

chines        |      45 |      66 | 0.65 | 1994-12-01

japan         |      33 |      44 |     | 1996-11-02

查询指定值

mydb=# select city,date from weather;

city      |    date

---------------+------------

San Francisco | 1994-11-27

chines        | 1994-12-01

japan         | 1996-11-02

(3 rows

选择列表中写任意表达式,而不仅仅是列的列表。比如:

mydb=# select city,(temp_lo+temp_hi)/2 as temp_avg,date from weather;

city      | temp_avg |    date

---------------+----------+------------

San Francisco |       48 | 1994-11-27

chines        |       55 | 1994-12-01

japan         |       38 | 1996-11-02

指定条件

mydb=# select * from weather where city='chines' and prcp>0;

city  | temp_lo | temp_hi | prcp |    date

--------+---------+---------+------+------------

chines |      45 |      66 | 0.65 | 1994-12-01

(1 row)

排序查看

mydb=# select * from weather order by temp_hi;

city      | temp_lo | temp_hi | prcp |    date

---------------+---------+---------+------+------------

japan         |      33 |      44 |      | 1996-11-02

San Francisco |      46 |      50 | 0.25 | 1994-11-27

chines        |      45 |      66 | 0.65 | 1994-12-01

chines        |      45 |      66 | 0.65 | 1994-12-01

(4 rows)

消除重复行排序查看

mydb=# select distinct * from weather order by temp_hi;

city      | temp_lo | temp_hi | prcp |    date

---------------+---------+---------+------+------------

japan         |      33 |      44 |      | 1996-11-02

San Francisco |      46 |      50 | 0.25 | 1994-11-27

chines        |      45 |      66 | 0.65 | 1994-12-01

(3 rows)

7、创建新用户访问pg

[postgres@database2019030517 home]$ psql

1、创建数据库新用户如dbuser

postgres=# create user dbuser with password 'Ysm_12$%';

2、创建用户数据库,如exampledb

postgres=# create database exampledb owner dbuser;

3、将exampledb数据库的所有权限都赋予dbuser:

postgres=# grant select,update,insert,delete,create on database exampledb to dbuser;

postgres=# grant all privileges on database exampledb to dbuser;

4、使用命令 \q 退出psql:

postgres=# \q

5、创建Linux普通用户,与刚才新建的数据库用户同名,如 dbuser:

[root@database2019030517 ~]# adduser dbuser

[root@database2019030517 ~]# passwd dbuser

6、以dbuser用户连接exampledb数据库

[root@database2019030517 ~]# su - dbuser

[dbuser@database2019030517 ~]$ psql -d exampledb

7、http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

8、创建pg用户

create user user_name;

alter user user_namewith password 'Ysm_12$%';

alter user user_namewith CONNECTION LIMIT  20;#连接数限制

drop user user_name; --删除用户

alter user user_name password '123456'; --修改密码

9、给用户授权权限

PostgreSQL中预定义了许多不同类型的内置权限,如:SELECT、INSERT、UPDATE、DELETE、CREATE。

我们可以使用GRANT命令来赋予权限,如:

GRANT SELECT, UPDATE, INSERT ON wea TO joe;

对于上面的命令,其含义为将mytable表的增改查权限赋予admin角色。

要撤销权限,使用合适的REVOKE命令:

REVOKE SELECT, UPDATE, INSERT ON wea FROM joe;

创建测试用户

CREATE USER joe WITH PASSWORD 'Ysm_12$%';

创建测试表

CREATE TABLE wea (

city            varchar(80),

temp_lo         int,           -- 最低温度

temp_hi         int,           -- 最高温度

prcp              real,          -- 湿度

date             date

);

授权

GRANT SELECT, UPDATE, INSERT ON wea TO joe;

验证

[postgres@database2019030517 home]$ psql -U joe -d postgres -h 127.0.0.1 -p 5432

postgres=> insert into wea values ('San Francisco',46,50,0.25,'1994-11-27');

postgres=> select * from wea;

会看到数据

[postgres@database2019030517 home]$  psql -U postgres

postgres=# REVOKE SELECT, UPDATE, INSERT ON wea FROM joe;

postgres=> select * from wea;

权限拒绝

10、数据恢复

导入数据  -U用户  -d数据库  -p端口 -f备份文件

给张君用户的test库恢复public数据

[postgres@database2019030517 ~]$ psql -U zhangjun -d test -p 20402 -f public.sql

11、必须知道的语句

\h:查看SQL命令的解释,比如\h select。

\?:查看psql命令列表。

\l:列出所有数据库。

\c [database_name]:连接其他数据库。

\d:列出当前数据库的所有表格。

\d [table_name]:列出某一张表格的结构。

\du:列出所有用户。

\e:打开文本编辑器。

\conninfo:列出当前数据库和连接的信息。

12、更改用户密码

ALTER USER postgres WITH PASSWORD 'Ysm_12$%';

ALTER USER oe_liuhaoran WITH PASSWORD 'Ysm_12$%';

13、对于数据库实例可见性权限

将public的权限全部收回

#使普通用户看不到数据库liuhaoran1里面内容,只能看到有这个库,什么都操作不来

revoke all on database liuhaoran1 from public;

#让所有普通用户可以看到这个库。可以操作对其授权的操作

grant all on database liuhaoran1 to public;

#授予普通用户对实例liuhaoran1的连接权限

grant connect on database liuhaoran1 to public;

#将数据库liuhaoran授予test2角色连接权限

grant connect on database liuhaoran1 to test2;

#让角色可以连接数据库

grant connect on database postgres to public;

14、创建模式

CREATE SCHEMA schema_name;

模式有助于多用户使用一个数据库,而不会互相干扰。

15、INSERT语句

切换到指定的数据库

#INSERT INTO TABLE_NAME (column1,column2........columnN) VALUES (values1,values2...valuesN)

16、SELECT语句

切换到指定的数据库

#SELECT “column1”,”column2”,”columnN” from “teble_name”;

17、UPDATE语句

UPDATE语句用于修改表中现有的记录,使用UPDTE时候必须使用where子句,否则将更新所有行

UPDATE table_name SET column1=values1, column2=values2, ...., columnN=valuesN WHERE [condition];

UPDATE mytable SET age=20, aslary=1000 WHERE id=1;

18、DEELETE语句

DELETE语句用来删除表中的记录,WHERE子句用于指定删除记录的条件,如果不指定会将删除表中的所有记录

DELETE FROM table_name WHERE [condition];

DELETE FROM EMPLOYEES WHERE id=1;

19、未完待续。。。

https://www.yiibai.com/postgresql/postgresql-order-by-clause.html#article-start

转载于:https://www.cnblogs.com/charon2/p/11314936.html

postgresql语句相关推荐

  1. PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习

    一.INSERT INTO 语句 PostgreSQL INSERT INTO 语句用于向表中插入新记录.我们可以插入一行也可以同时插入多行. 语法 INSERT INTO 语句语法格式如下: INS ...

  2. Postgresql语句持续更新

    分区表 partition by case when then end if else 日期:Date,Timestamp,text,String互转 时间获取周,月等 自增序列 创建表,删除表 修改 ...

  3. PostgreSQL语句大全

    目录 前言 基本操作 数据库操作 创建表 表操作 往表中插入数据 修改表数据 删除表数据 表查询 单表指定条件查询 单表指定条件复杂查询 多表查询 子查询 数据类型 数值类型 日期与时间类型 ​编辑 ...

  4. MySQL的SQL语句转PostgreSQL的SQL语句工具编写总结

    1.起因在学习基于vue+springboot的前后端分离项目时,因项目需求变更,需要将mysql数据库全部迁移到postgersql数据库的需求,因而编写了一个基于jave的sql语句转换工具 2. ...

  5. golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比

    阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...

  6. postgresql目录

    1.postgresql10.5安装 2.postgresql语句 3.postgresql后期给开发建表的权限问题 转载于:https://www.cnblogs.com/charon2/p/113 ...

  7. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

  8. 随便玩玩之PostgreSQL(第一章)PostgreSQL简介

    随便玩玩之PostgreSQL 未经授权不得转载 第1章PostgreSQL简介 1.1什么是PostgreSQL Postgresql是数据库(软件). The world's most advan ...

  9. Postgresql学习笔记-高级语法篇

    Postgresql学习笔记-高级语法篇 Postgresql 约束 Postgresql约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表的时候就规定(通 ...

最新文章

  1. 第五篇:Visual Studio 2008 Web开发使用的新特性
  2. jira无法访问此网站_天津制作网站公司:更换空间对网站SEO的影响
  3. GitHub Token的使用
  4. 2019 Flink Forward 大会最全视频来了!(附PPT下载) | 5大专题不容错过
  5. 信息学奥赛一本通 1128:图像模糊处理 | OpenJudge NOI 1.8 13:图像模糊处理
  6. 勇敢一次_开放网络需要勇敢的新英雄吗?
  7. Grunt自动化工具相关
  8. 自动填充固定行数的 GridView (转)
  9. redis 中 epoll 模型 ~ 霓裳
  10. 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV 标签: SFM3D重建 2015-01-15
  11. 病毒周报(080630至080706)
  12. SEO搜索引擎优化总结
  13. 决战平安京解包--专有模型格式转换成PMX
  14. 主动降噪耳机推荐,值得入手的四款降噪蓝牙耳机分享
  15. Galera Cluster一致性问题
  16. 星环科技数据安全管理平台 Defensor重磅发布
  17. JavaFX 皮肤功能
  18. MySQL的查询语言合集
  19. Kafka扩分区和分区副本重分配之后消费组会自动均衡吗?
  20. 小米5android p,久违的刷机 小米MIX Android P DP5 上手体验

热门文章

  1. 一加7pro运动计步功能_测血压、心率、血氧、运动计步,来电微信消息等提醒,多种模式可选,这款智能手环功能实在是太全了吧!...
  2. 服务器运维管理系统哪个好用,宝塔和云帮手哪个服务器运维管理工具好用?
  3. python input函数赋值法_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...
  4. 【若依(ruoyi)】验证码
  5. 【mysql】table中添加列
  6. android 裁剪圆角矩形,android – 如何使用中心裁剪创建部分圆角矩形可绘制而不创建新位图?...
  7. vue的route懒加载
  8. MySQL5.5的安装,连接和操作
  9. linux如何给各节点时间同步,Linux 系统配置各个节点的时间一致性
  10. python知识点总结全_【转】Python高级知识点总结