加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PostgreSQL数据库入门

发布时间:2019-11-30 10:03:27 所属栏目:编程 来源:站长网
导读:副问题#e# 安装、配置、建设和开始行使 PostgreSQL 数据库。 每小我私人或者都有必要在数据库中生涯的对象。纵然你执着于行使纸质文件或电子文件,它们也会变得很贫困。纸质文档也许会丢失或紊乱,你必要会见的电子信息也许会潜匿在段落和页面的深处。 在我从事
副问题[/!--empirenews.page--]

PostgreSQL数据库入门

安装、配置、建设和开始行使 PostgreSQL 数据库。

每小我私人或者都有必要在数据库中生涯的对象。纵然你执着于行使纸质文件或电子文件,它们也会变得很贫困。纸质文档也许会丢失或紊乱,你必要会见的电子信息也许会潜匿在段落和页面的深处。

在我从事医学事变的时辰,我行使 PostgreSQL 来跟踪我的住院患者名单并提交有关住院患者的信息。我将我的逐日患者名单打印在口袋里,以便快速相识患者房间、诊断或其他细节的任何变革并做出快速记录。

我觉得统统没题目,直到客岁我老婆抉择买一辆新车,我“接办”了她早年的那辆车。她保存了汽车维修和调养处事收条的文件夹,但跟着时刻的流逝,它变得混乱。与其花时刻筛选全部纸条以弄清晰什么时辰做了什么,我以为 PostgreSQL 将是更好的跟踪此信息的要领。

安装 PostgreSQL

自前次行使 PostgreSQL 以来已经有一段时刻了,我已经健忘了怎样行使它。现实上,我乃至没有在计较机上安装它。安装它是第一步。我行使 Fedora,因此在节制台中运行:

dnf list postgresql*

请留意,你无需行使 sudo 即可行使 list 选项。该呼吁返回了很长的软件包列表。看了眼后,我抉择只必要三个:postgresql、postgresql-server 和 postgresql-docs。

为了相识下一步必要做什么,我抉择查察 PostgreSQL 文档。文档参考内容很是富厚,现实上,富厚到令人生畏。荣幸的是,我发明我在进级 Fedora 时曾经做过的一些条记,但愿有用地导出数据库,在新版本上从头启动 PostgreSQL,以及导入旧数据库。

配置 PostgreSQL

与大大都其他软件差异,你不能只是安装好 PostgreSQL 就开始行使它。你必需预先执行两个根基步调:起首,你必要配置 PostgreSQL,第二,你必要启动它。你必需以 root 用户身份执行这些操纵(sudo 在这里不起浸染)。

要配置它,请输入:

postgresql-setup –initdb

这将确定 PostgreSQL 数据库在计较机上的位置。然后(仍为 root)输入以下两个呼吁:

systemctl start postgresql.service

systemctl enable postgresql.service

第一个呼吁为当前会话启动 PostgreSQL(假如你封锁呆板,那么 PostgreSQL 也将封锁)。第二个呼吁使 PostgreSQL 在随后的重启中自动启动。

建设用户

PostgreSQL 正在运行,可是你如故不能行使它,由于你还没有效户。为此,你必要切换到非凡用户 postgres。当你仍以 root 身份运行时,输入:

su postgres

因为你是以 root 的身份执行此操纵的,因此无需输入暗码。root 用户可以在不知道暗码的环境下以任何用户身份操纵;这就是使其强盛而伤害的缘故起因之一。

此刻你就是 postgres 了,请运行下面两个呼吁,如下所示建设用户(建设用户 gregp):

createuser gregp

createdb gregp

你也许会看到错误动静,如:Could not switch to /home/gregp。这只是意味着用户 postgres不能会见该目次。尽量云云,你的用户和数据库已建设。接下来,输入 exit 并按回车两次,这样就回到了原本的用户下(root)。

配置数据库

要开始行使 PostgreSQL,请在呼吁行输入 psql。你应该在每行左侧看到相同 gregp=> 的内容,以表现你行使的是 PostgreSQL,而且只能行使它领略的呼吁。你自动得到一个数据库(我的名为 gregp),它内里完全没有内容。对 PostgreSQL 来说,数据库只是一个事变空间。在空间内,你可以建设表。表包括变量列表,而表中的每个变量是组成数据库的数据。

以下是我配置汽车处事数据库的方法:

CREATE TABLE autorepairs (

        date            date,

        repairs         varchar(80),

        location        varchar(80),

        cost            numeric(6,2)

);

我本可以在一行内输入,但为了更好地声名布局,并表白 PostgreSQL 不会表明制表符和换行的空缺,我分成了多行。字段包括在括号中,每个变量名和数据范例与下一个变量用逗号脱离(最后一个除外),呼吁以分号末了。全部呼吁都必需以分号末了!

第一个变量名是 date,它的数据范例也是 date,这在 PostgreSQL 中不要紧。第二个和第三个变量 repairs 和 location 都是 varchar(80) 范例,这意味着它们可所以最多 80 个恣意字符(字母、数字等)。最后一个变量 cost 行使 numeric 范例。括号中的数字暗示最多有六位数字,个中两位是小数。最初,我实行了 real 范例,这将是一个浮点数。real 范例的题目是作为数据范例在行使时,在碰着 WHERE 子句,相同 WHERE cost = 0 或其他任何特定命字。因为 real 值有些不准确,因此特定命字将永久不会匹配。

输入数据

接下来,你可以行使 INSERT INTO 呼吁添加一些数据(在 PostgreSQL 中称为行):

INSERT INTO autorepairs VALUES ('2017-08-11','airbag recall','dealer',0);

请留意,括号组成了一个值的容器,它必需以正确的次序,用逗号脱离,并在呼吁末端加上分号。date 和 varchar(80) 范例的值必需包括在单引号中,但数字值(如 numeric)不消。作为反馈,你应该会看到:

INSERT 01

与通例终端会话一样,你会有输入呼吁的汗青记录,因此,在输入后续行时,凡是可以按向上箭头键来表现最后一个呼吁并按照必要编辑数据,从而节减大量时刻。

假如出了什么题目怎么办?行使 UPDATE 变动值:

UPDATE autorepairs SET date='2017-11-08' WHERE repairs ='airbag recall';

可能,大概你不再必要表中的行。行使 DELETE:

DELETE FROM autorepairs WHERE repairs ='airbag recall';

这将删除整行。

最后一件事:纵然我在 PostgreSQL 呼吁中一向行使大写字母(在大大都文档中也这么做),你也可以用小写字母输入,我也常常云云。

输出数据

假如你想展示数据,行使 SELECT:

SELECT * FROM autorepairs ORDER BY date;

没有 ORDER BY 的话,行将不管你输入的内容来表现。譬喻,以下就是我终端中输出的我的汽车处事数据:

SELECT date, repairs FROM autorepairs ORDER BY date;

 

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读