目录
代码语言:javascript复制1、简介
2、Windows安装
3、docker安装pgAdmin4
4、汉化pgAdmin4
5、使用pgAdmin4
5.1、插入数据
5.2、使用 insert查询工具插入多条数据
5.3、使用select查询数据
5.4、使用 update更新数据库
5.5、使用 delete删除数据
5.6、排序的问题
①、升序排序 - ORDER BY [field] ASC
②、降序排序 - ORDER BY [field] DESC
5.7、分组的问题
5.8、HAVING 的用法
①、name字段值计数大于1的名称。
②、显示名称(name)数量小于2的记录。
1、简介
开源数据库 PostgreSQL 的图形管理工具常用的有Navicat,除此之外,我们还有PostgreSQL本身自带的pgAdmin4,比较专业。
Navicat的界面:
image-20210528171504054
pgAdmin4 的界面:
image-20210528171522113
pgAdmin4 是开源数据库 PostgreSQL 的图形管理工具,是桌面版图形管理工具pgAdmin3 的重写,遵循 PostgreSQL协议 是开源、免费、可商用的。pgAdmin4 是python开发的web应用程序,既可以部署为web模式通过浏览器访问,也可以部署为桌面模式独立运行。
下载:https://www.pgadmin.org/download/
2、Windows安装
下载:https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v5.1/windows/pgadmin4-5.1-x64.exe
安装就是下一步下一步即可。
另外,如果我们安装了Windows版本的PostgreSQL数据库,那么默认在安装目录下也自带了pgAdmin4工具:
安装过程中也可以选择:
img
3、docker安装pgAdmin4
如果我们不想在本地安装,那么也可以直接使用服务器docker版本的pgAdmin4。
官网:https://hub.docker.com/r/dpage/pgadmin4/
详细配置:https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html
代码语言:javascript复制-- 下载
docker pull dpage/pgadmin4:latest
-- 安装
docker run -p 680:80
-e 'PGADMIN_DEFAULT_EMAIL=lhr@dba.com'
-e 'PGADMIN_DEFAULT_PASSWORD=lhr'
-d dpage/pgadmin4
-- 登录
http://192.168.66.35:680
4、汉化pgAdmin4
麦老师这里用的最新版本:
5、使用pgAdmin4
5.1、插入数据
或是:
这种方法也是可以的,不过之前要先确定表!!
查看添加的数据;
5.2、使用 insert查询工具插入多条数据
代码语言:javascript复制INSERT INTO STUDENT2( ID,NAME,SUBJECTS)
VALUES (2,'往','c'),(3,'开','m'), (4,'天','x');
查看数据:
5.3、使用select查询数据
使用查询语句进行查询表
代码语言:javascript复制SELECT id,name FROM STUDENT2;
5.4、使用 update更新数据库
把值放在“?
”的地方 并完成WHERE条件<condition>
,然后点击“执行”按钮执行查询。
例如,把id是2的,改变名字和subjects:
查询改变的结果:
5.5、使用 delete删除数据
将整个表都删除的语句:
代码语言:javascript复制DELETE FROM public.student2;
5.6、排序的问题
PostgreSQL ORDER BY
子句用于按升序或降序对数据进行排序。数据在一列或多列的基础上进行排序。语法:SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
SQL参数说明:column_list
:它指定要检索的列或计算。table_name
:它指定要从中检索记录的表。FROM子句中必须至少有一个表。WHERE conditions
:可选。它规定必须满足条件才能检索记录。ASC
:也是可选的。它通过表达式按升序排序结果集(默认,如果没有修饰符是提供者)。DESC
:也是可选的。它通过表达式按顺序对结果集进行排序。
①、升序排序 - ORDER BY [field] ASC
执行以下查询以按升序ORDER BY AGE
数据记录:
SELECT *
FROM STUDENT2
ORDER BY NAME ASC;
按照 name 字段升序排序:
②、降序排序 - ORDER BY [field] DESC
执行以下查询以按降序ORDER BY name DESC
数据的记录:
SELECT *
FROM STUDENT2
ORDER BY subjects DESC;
按照 subjects 字段降序排序,
③、多列排序 ORDER BY
您还可以使用ORDER BY
子句在多列上排序记录。执行以下查询从表“student2
”按ORDER BY NAME
以升序获取记录。
5.7、分组的问题
PostgreSQL GROUP BY
子句用于将具有相同数据的表中的这些行分组在一起。它与SELECT
语句一起使用。GROUP BY
子句通过多个记录收集数据,并将结果分组到一个或多个列。它也用于减少输出中的冗余。语法:SELECT column-listFROM table_nameWHERE [conditions ]GROUP BY column1, column2....columnNORDER BY column1, column2....columnN
SQL注意:在GROUP BY
多个列的情况下,您使用的任何列进行分组时,要确保这些列应在列表中可用。
SELECT NAME
FROM STUDENT2
GROUP BY NAME;
减少冗余数据
我们可以先添加一些重复的数据在表里面,当我们使用GROUP BY NAME时,可以看到重复的名字数据记录被合并。它指定GROUP BY减少冗余。
5.8、HAVING 的用法
在PostgreSQL中,HAVING子句与GROUP BY子句组合使用,用于选择函数结果满足某些条件的特定行。语法:SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2
①、name字段值计数大于1的名称。
代码语言:javascript复制SELECT NAME,COUNT (NAME)
FROM STUDENT2
GROUP BY NAME HAVING COUNT (NAME) > 1;
因为往,开,天都是插入的双重数据;
②、显示名称(name)数量小于2的记录。
代码语言:javascript复制SELECT NAME
FROM STUDENT2
GROUP BY NAME HAVING COUNT (NAME) < 2;
本文结束。