作者:陈广 日期:2018-6-11
上一篇文章,我们演示了 psql 命令的使用,使用 psql 的好处是无需安装任何客户端。当然,putty 之类的 Linux 客户端还是需要的,不过现在云服务器一般都做有网页,可通过浏览器直接操作。坏处就是使用起来很不方便,如果写命令期间敲错一个字母,要改起来比较麻烦。操作 PostgreSQL,还是使用图形界面来得舒服。官方使用的是 pgadmin,如果本地安装会自带此工具。由于我是在远程服务器安装的数据库,所以需要自行下载 pgadmin 进行安装。当然,pgadmin 是可以跨平台的。
pgAdmin 的下载地址为:https://www.pgadmin.org/download/
安装过程我就不讲了,安装完后,打开程序,发现程序是在浏览器里面运行的。跟早期版本完全不一样啊!变得相当高大上了! 我们先连接远程的服务器:
5432
;postgres
;123456
;现在把stuinfo数据库删除掉,我们使用 pgAdmin 将上篇文章的步骤重新再来一遍。
在stuinfo数据库上点击鼠标右键,在弹出菜单上先选择【Disconnect Database...】以断开数据库连接;然后再在右键菜单上选择【Delete/Drop】(在此次右键菜单之前最好先选中其它数据库),在弹出的【DROP Database?】对话框中选择【OK】。如果弹出对话框,告诉你数据库存在其它连接,无法删除,则需要先把这些连接关闭。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='StuInfo' AND pid<>pg_backend_pid();
然后再单击Execute/Refresh按钮,结果如下图所示:
接下来再创建一次之前的数据库及数据表。
这一次就不用这么麻烦了,写好 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);
接下来查看数据是否已经插入表中,以学生表为例。
鼠标右击【student】,在弹出菜单中选择【View/Edit Data】——>【All Rows】 可以看到,数据已经插入到学生表中:
可以选择使用 UI 来创建表,但始终没有使用 SQL 语句来得方便,所以这里就不再演示了。只需执行一个文本文件,就可以一键创建所有表及数据,甚至换另一种数据库也可以正常使用,没理由不使用这种方法。
;