PostgreSQL命令如何使用
这篇文章给大家介绍PostgreSQL命令如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创建一个简单的购物清单
首先,输入 psql
命令进入数据库,然后用下面的命令创建一个表:
Createtablegroc(itemvarchar(20),commentvarchar(10));
输入如下命令在清单中加入商品:
insertintogrocvalues('milk','K');insertintogrocvalues('bananas','KW');
括号中有两个信息(逗号隔开):前面是你需要买的东西,后面字母代表你要购买的地点以及哪些东西是你每周通常都要买的(W
)。
因为 psql
有历史记录,你可以按向上键在括号内编辑信息,而无需输入商品的整行信息。
在输入一小部分商品后,输入下面命令来检查前面的输入内容。
Select*fromgrocorderbycomment;item|comment----------------+---------groundcoffee|Hbutter|Kchips|Ksteak|Kmilk|Kbananas|KWraisinbran|KWraclette|Lgoatcheese|Lonion|Poranges|Ppotatoes|Pspinach|PWbroccoli|PWasparagus|PWcucumber|PWsugarsnappeas|PWsalmon|S(18rows)
此命令按 comment
列对结果进行排序,以便按购买地点对商品进行分组,从而使你的购物更加方便。
使用 W
来指明你每周要买的东西,当你要清除表单为下周的列表做准备时,你可以将每周的商品保留在购物清单上。输入:
deletefromgrocwherecommentnotlike'%W';
注意,在 PostgreSQL 中 %
表示通配符(而非星号)。所以,要保存输入内容,需要输入:
deletefromgrocwhereitemlike'goat%';
不能使用 item = 'goat%'
,这样没用。
在购物时,用以下命令输出清单并打印或发送到你的手机:
\ogroclist.txtselect*fromgrocorderbycomment;\o
最后一个命令 \o
后面没有任何内容,将重置输出到命令行。否则,所有的输出会继续输出到你创建的杂货店购物文件 groclist.txt
中。
这个逐项列表对于数据量小的表来说没有问题,但是对于数据量大的表呢?几年前,我帮 FreieFarbe.de 的团队从 HLC 调色板中创建一个自由色的色样册。事实上,任何能想象到的打印色都可按色调、亮度、浓度(饱和度)来规定。最终结果是 HLC Color Atlas,下面是我们如何实现的。
该团队向我发送了具有颜色规范的文件,因此我可以编写可与 Scribus 配合使用的 Python 脚本,以轻松生成色样册。一个例子像这样开始:
HLC,C,M,Y,KH010_L15_C010,0.5,49.1,0.1,84.5H010_L15_C020,0.0,79.7,15.1,78.9H010_L25_C010,6.1,38.3,0.0,72.5H010_L25_C020,0.0,61.8,10.6,67.9H010_L25_C030,0.0,79.5,18.5,62.7H010_L25_C040,0.4,94.2,17.3,56.5H010_L25_C050,0.0,100.0,15.1,50.6H010_L35_C010,6.1,32.1,0.0,61.8H010_L35_C020,0.0,51.7,8.4,57.5H010_L35_C030,0.0,68.5,17.1,52.5H010_L35_C040,0.0,81.2,22.0,46.2H010_L35_C050,0.0,91.9,20.4,39.3H010_L35_C060,0.1,100.0,17.3,31.5H010_L45_C010,4.3,27.4,0.1,51.3
这与原始数据相比,稍有修改,原始数据用制表符分隔。我将其转换成 CSV 格式(用逗号分割值),我更喜欢其与 Python 一起使用(CSV 文也很有用,因为它可轻松导入到电子表格程序中)。
在每一行中,第一项是颜色名称,其后是其 C、M、Y 和 K 颜色值。 该文件包含 1,793 种颜色,我想要一种分析信息的方法,以了解这些值的范围。这就是 PostgreSQL 发挥作用的地方。我不想手动输入所有数据 —— 我认为输入过程中我不可能不出错,而且令人头痛。幸运的是,PostgreSQL 为此提供了一个命令。
首先用以下命令创建数据库:
Createtablehlc_cmyk(colorvarchar(40),cdecimal,mdecimal,ydecimal,kdecimal);
然后通过以下命令引入数据:
\copyhlc_cmykfrom'/home/gregp/HLC_Atlas_CMYK_SampleData.csv'with(header,formatCSV);
开头有反斜杠,是因为使用纯 copy
命令的权限仅限于 root 用户和 Postgres 的超级用户。在括号中,header
表示第一行包含标题,应忽略,CSV
表示文件格式为 CSV。请注意,在此方法中,颜色名称不需要用括号括起来。
如果操作成功,会看到 COPY NNNN
,其中 N 表示插入到表中的行数。
最后,可以用下列命令查询:
select*fromhlc_cmyk;color|c|m|y|k---------------+-------+-------+-------+------H010_L15_C010|0.5|49.1|0.1|84.5H010_L15_C020|0.0|79.7|15.1|78.9H010_L25_C010|6.1|38.3|0.0|72.5H010_L25_C020|0.0|61.8|10.6|67.9H010_L25_C030|0.0|79.5|18.5|62.7H010_L25_C040|0.4|94.2|17.3|56.5H010_L25_C050|0.0|100.0|15.1|50.6H010_L35_C010|6.1|32.1|0.0|61.8H010_L35_C020|0.0|51.7|8.4|57.5H010_L35_C030|0.0|68.5|17.1|52.5
所有的 1,793 行数据都是这样的。回想起来,我不能说此查询对于 HLC 和 Scribus 任务是绝对必要的,但是它减轻了我对该项目的一些担忧。
为了生成 HLC 色谱,我使用 Scribus 为色板页面中的 13,000 多种颜色自动创建了颜色图表。
我可以使用 copy
命令输出数据:
\copyhlc_cmykto'/home/gregp/hlc_cmyk_backup.csv'with(header,formatCSV);
我还可以使用 where
子句根据某些值来限制输出。
例如,以下命令将仅发送以 H10
开头的色调值。
\copyhlc_cmykto'/home/gregp/hlc_cmyk_backup.csv'with(header,formatCSV)wherecolorlike'H10%';备份或传输数据库或表
我在此要提到的最后一个命令是 pg_dump
,它用于备份 PostgreSQL 数据库,并在 psql
控制台之外运行。 例如:
pg_dumpgregp-thlc_cmyk>hlc.outpg_dumpgregp>dball.out
第一行是导出 hlc_cmyk
表及其结构。第二行将转储 gregp
数据库中的所有表。这对于备份或传输数据库或表非常有用。
要将数据库或表传输到另一台电脑(查看 PostgreSQL 入门那篇文章获取详细信息),首先在要转入的电脑上创建一个数据库,然后执行相反的操作。
psql-dgregp-fdball.out
关于PostgreSQL命令如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。