ASP.NET Core 2.0入门

使用 pgadmin 操作 PostgreSQL

作者:陈广 日期:2018-6-11


上一篇文章,我们演示了 psql 命令的使用,使用 psql 的好处是无需安装任何客户端。当然,putty 之类的 Linux 客户端还是需要的,不过现在云服务器一般都做有网页,可通过浏览器直接操作。坏处就是使用起来很不方便,如果写命令期间敲错一个字母,要改起来比较麻烦。操作 PostgreSQL,还是使用图形界面来得舒服。官方使用的是 pgadmin,如果本地安装会自带此工具。由于我是在远程服务器安装的数据库,所以需要自行下载 pgadmin 进行安装。当然,pgadmin 是可以跨平台的。

pgAdmin 的下载地址为:https://www.pgadmin.org/download/

连接远程数据库

安装过程我就不讲了,安装完后,打开程序,发现程序是在浏览器里面运行的。跟早期版本完全不一样啊!变得相当高大上了! 我们先连接远程的服务器:

  • 单击【Add New Server】打开Create - Server窗口。
  • General选项卡中的Name选项中填入一个服务器名称。我这里使用My_DB
  • Connection选项卡中:
    • Host name/address栏中填入远程服务器的 IP 地址;
    • Port栏中使用默认值5432
    • Username栏使用默认值postgres
    • Password栏填入123456
    • **Save password?**选项打勾。 以上设置是根据PostgreSQL的安装与配置](http://article.iotxfd.cn/ASP.NET%20Core%202.0%20ABC/PostgreSQL%20install%20and%20config)这篇文章所做的设置填写,如果设置有所不同,请根据实际情况进行修改。

  • 单击【Save】按钮保存设置,可以看到左边【Browser】栏中的Servers项底下已经出现我们设置的My_DB数据库。 现在我们展开My_DB,可以看到上篇文章中所创建的数据库及数据表:

删除数据库

现在把stuinfo数据库删除掉,我们使用 pgAdmin 将上篇文章的步骤重新再来一遍。

stuinfo数据库上点击鼠标右键,在弹出菜单上先选择【Disconnect Database...】以断开数据库连接;然后再在右键菜单上选择【Delete/Drop】(在此次右键菜单之前最好先选中其它数据库),在弹出的【DROP Database?】对话框中选择【OK】。如果弹出对话框,告诉你数据库存在其它连接,无法删除,则需要先把这些连接关闭。

  • 鼠标右击stuinfo选项,在弹出菜单中选择【Query Tool】,如下图所示:
  • 在右边窗口中输入如下 SQL 语句:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='StuInfo' AND pid<>pg_backend_pid();

然后再单击Execute/Refresh按钮,结果如下图所示:

  • 接下来再重复之前的删除步骤,就可以删除stuinfo数据库了。

创建数据库

接下来再创建一次之前的数据库及数据表。

  • 在【Databases】项的右键菜单上选择【Create】——>【Database】。
  • 在弹出的【General】选项卡中的【Database】项填入StuInfo,然后点击【Save】按钮,创建 StuInfo 数据库。如下图:

创建数据表及插入数据

这一次就不用这么麻烦了,写好 SQL 语句,一次执行,即可创建所有表并插入数据。

  • 右击【StuInfo】项,在弹出菜单中选择【Query Tool】,左右边窗口中输入如下 SQL 语句:
CREATE TABLE depment(
    depId INT PRIMARY KEY,
    depName CHAR(30)
);
CREATE TABLE class(
    classId INT PRIMARY KEY,
    className VARCHAR(50) NOT NULL,
    depId INT REFERENCES depment(depId)
);
CREATE TABLE student(
    stuId INT PRIMARY KEY,
    stuName CHAR(8) NOT NULL,
    sex CHAR(2),
    birthday DATE,
    classId INT REFERENCES class(classId)
);
INSERT INTO depment VALUES(1,'机械系');
INSERT INTO depment VALUES(2,'电气系');
INSERT INTO depment VALUES(3,'计算机系');
INSERT INTO depment VALUES(4,'工商系');

INSERT INTO class VALUES(1,'自动化1701',2);
INSERT INTO class VALUES(2,'数据控1701',1);
INSERT INTO class VALUES(3,'物联网1701',3);
INSERT INTO class VALUES(4,'物联网1702',3);
INSERT INTO class VALUES(5,'软件1701',3);

INSERT INTO student VALUES(1,'张三','男','1995-6-1',3);
INSERT INTO student VALUES(2,'李四','男','1995-7-1',3);
INSERT INTO student VALUES(3,'王五','女','1995-8-1',3);
INSERT INTO student VALUES(4,'马六','男','1995-8-2',3);
INSERT INTO student VALUES(5,'钱七','女','1996-8-3',3);
INSERT INTO student VALUES(6,'刘八','男','1996-8-4',3);
INSERT INTO student VALUES(7,'何九','女','1996-8-5',3);
INSERT INTO student VALUES(8,'吕十','女','1996-8-5',3);
  • 点击【Execute】按钮,生成所有表并插入数据。在【StuInfo】项的右键菜单上选择【Refresh】,然后依次展开【Schemas】——>【Tables】,可以看到三张表已经创建。

接下来查看数据是否已经插入表中,以学生表为例。

鼠标右击【student】,在弹出菜单中选择【View/Edit Data】——>【All Rows】 可以看到,数据已经插入到学生表中:

可以选择使用 UI 来创建表,但始终没有使用 SQL 语句来得方便,所以这里就不再演示了。只需执行一个文本文件,就可以一键创建所有表及数据,甚至换另一种数据库也可以正常使用,没理由不使用这种方法。

;

© 2018 - IOT小分队文章发布系统 v0.3