1. 安装postgres
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
2.使用postgres角色 创建用户和数据库
(1)切换到postgres用户
sudo -i -u postgres
(2)利用psql工具自动登录数据库
psql //自动登录到数据库管理系统
\q //退出数据库
(3)创建用户
createuser --interactive //创建用户 只需要输入角色和是否为超级管理员
man createuser //createuser 命令帮助
示例:
![](https://img.haomeiwen.com/i1532705/94c7dade8c905d0f.png)
3.创建一个数据库
createdb test1 //创建名为test1的数据库
dropdb test1 //删除名为test1的数据库
4. 用新创建的用户去登录
(1)切换用户
sudo -i -u test //切换到test用户
(2)用psql工具登录
psql
(3) 查看连接信息
\conninfo
命令执行结果:
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".
5.创建表和删除表
CREATE TABLEtable_name(column_name1col_type(field_length)column_constraints,column_name2col_type(field_length),column_name3col_type(field_length));
DROP TABLE tablename;
\d 查看表结构
\dt 查看表关系
6. 增删改查
SELECT * FROM tablename;
DELETE FROM tablename WHERE columename= 'xxx';
UPDATE tablename SET columename = 'value1' WHERE columename = 'value2';
7.新增/删除列
ALTER TABLE tablename ADD columename columetype;
ALTER TABLE tablename DROP columename ;
8. 数据库版本查看
SELECT version();
9.去重和排序
使用distinct关键字实现去重
示例:
SELECT DISTINCT city
FROM weather
ORDER BY city;
10.where和having区别
WHERE和HAVING的基本区别如下: WHERE在分组和聚合计算之前选取输入行(它控制哪些行进入聚合计算), 而HAVING在分组和聚合之后选取输出行。因此,WHERE 子句不能包含聚合函数;因为试图用聚合函数判断那些行将要输入给聚合运算是没有意义的。 相反,HAVING子句总是包含聚合函数。
11.
网友评论