postgresql语句
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语句相关推荐
- PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习
一.INSERT INTO 语句 PostgreSQL INSERT INTO 语句用于向表中插入新记录.我们可以插入一行也可以同时插入多行. 语法 INSERT INTO 语句语法格式如下: INS ...
- Postgresql语句持续更新
分区表 partition by case when then end if else 日期:Date,Timestamp,text,String互转 时间获取周,月等 自增序列 创建表,删除表 修改 ...
- PostgreSQL语句大全
目录 前言 基本操作 数据库操作 创建表 表操作 往表中插入数据 修改表数据 删除表数据 表查询 单表指定条件查询 单表指定条件复杂查询 多表查询 子查询 数据类型 数值类型 日期与时间类型 编辑 ...
- MySQL的SQL语句转PostgreSQL的SQL语句工具编写总结
1.起因在学习基于vue+springboot的前后端分离项目时,因项目需求变更,需要将mysql数据库全部迁移到postgersql数据库的需求,因而编写了一个基于jave的sql语句转换工具 2. ...
- golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比
阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...
- postgresql目录
1.postgresql10.5安装 2.postgresql语句 3.postgresql后期给开发建表的权限问题 转载于:https://www.cnblogs.com/charon2/p/113 ...
- postgresql 基本语法
postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...
- 随便玩玩之PostgreSQL(第一章)PostgreSQL简介
随便玩玩之PostgreSQL 未经授权不得转载 第1章PostgreSQL简介 1.1什么是PostgreSQL Postgresql是数据库(软件). The world's most advan ...
- Postgresql学习笔记-高级语法篇
Postgresql学习笔记-高级语法篇 Postgresql 约束 Postgresql约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表的时候就规定(通 ...
最新文章
- 第五篇:Visual Studio 2008 Web开发使用的新特性
- jira无法访问此网站_天津制作网站公司:更换空间对网站SEO的影响
- GitHub Token的使用
- 2019 Flink Forward 大会最全视频来了!(附PPT下载) | 5大专题不容错过
- 信息学奥赛一本通 1128:图像模糊处理 | OpenJudge NOI 1.8 13:图像模糊处理
- 勇敢一次_开放网络需要勇敢的新英雄吗?
- Grunt自动化工具相关
- 自动填充固定行数的 GridView (转)
- redis 中 epoll 模型 ~ 霓裳
- 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV 标签: SFM3D重建 2015-01-15
- 病毒周报(080630至080706)
- SEO搜索引擎优化总结
- 决战平安京解包--专有模型格式转换成PMX
- 主动降噪耳机推荐,值得入手的四款降噪蓝牙耳机分享
- Galera Cluster一致性问题
- 星环科技数据安全管理平台 Defensor重磅发布
- JavaFX 皮肤功能
- MySQL的查询语言合集
- Kafka扩分区和分区副本重分配之后消费组会自动均衡吗?
- 小米5android p,久违的刷机 小米MIX Android P DP5 上手体验
热门文章
- 一加7pro运动计步功能_测血压、心率、血氧、运动计步,来电微信消息等提醒,多种模式可选,这款智能手环功能实在是太全了吧!...
- 服务器运维管理系统哪个好用,宝塔和云帮手哪个服务器运维管理工具好用?
- python input函数赋值法_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...
- 【若依(ruoyi)】验证码
- 【mysql】table中添加列
- android 裁剪圆角矩形,android – 如何使用中心裁剪创建部分圆角矩形可绘制而不创建新位图?...
- vue的route懒加载
- MySQL5.5的安装,连接和操作
- linux如何给各节点时间同步,Linux 系统配置各个节点的时间一致性
- python知识点总结全_【转】Python高级知识点总结