如何创建数据库和表 讲解数据库基础知识(3)
如何创建数据库和表
查询表中的内容
SQL 是一种查询语言,因此你可以通过查询来查看数据库的内容。查询可以是很简单的,也可以涉及连接多个不同表之间的复杂关系。要查看表中的所有内容,请使用SELECT关键字和*(*是通配符):
exampledb=> SELECT * FROM my_sample_table; id | wordlist----+------------ 1 | Alice 2 | Bob 3 | Alexandria(3 ROWS)
更多数据
PostgreSQL 可以处理很多数据,但是对于任何数据库来说,关键之处在于你是如何设计你的数据库的,以及数据存储下来之后你是怎么查询数据的。在 OECD.org上可以找到一个相对较大的公共数据集,你可以使用它来尝试一些先进的数据库技术。
首先,将数据下载为逗号分隔值格式(CSV)的文件,并将文件另存为Downloads文件夹中的land-cover.csv。
在文本编辑器或电子表格应用程序中浏览数据,来了解有哪些列,以及每列包含哪些类型的数据。仔细查看数据,并留意错误情况。例如,COU列指的是国家代码,例如AUS表示澳大利亚和GRC表示希腊,在奇怪的BRIICS之前,这一列的值通常是 3 个字符。
在你理解了这些数据项后,你就可以准备一个 PostgreSQL 数据库了。
$ createdb landcoverdb --owner bogus$ psql --user bogus landcoverdblandcoverdb=> create table land_cover(country_code varchar(6),country_name varchar(76),small_subnational_region_code varchar(5),small_subnational_region_name varchar(14),large_subnational_region_code varchar(17),large_subnational_region_name varchar(44),measure_code varchar(13),measure_name varchar(29),land_cover_class_code varchar(17),land_cover_class_name varchar(19),year_code integer,year_value integer,unit_code varchar(3),unit_name varchar(17),power_code integer,power_name varchar(9),reference_period_code varchar(1),reference_period_name varchar(1),value float(8),flag_codes varchar(1),flag_names varchar(1));
引入数据
Postgres 可以使用特殊的元命令\copy来直接引入 CSV 数据:
landcoverdb=> \copy land_cover from '~/land-cover.csv' with csv header delimiter ','COPY 22113
插入了 22113 条记录。这是一个很好的开始!
查询数据
用SELECT语句可以查询这 22113 条记录的所有列,此外 PostgreSQL 将输出通过管道传输到屏幕上,因此你可以轻松地滚动鼠标来查看输出的结果。更进一步,你可以使用高级 SQL 语句,来获得一些有用的视图。
landcoverdb=> SELECT lcm.country_name, lcm.year_value, SUM(lcm.value) sum_valueFROM land_cover lcmJOIN ( SELECT country_name, large_subnational_region_name, small_subnational_region_name, MAX(year_value) max_year_value FROM land_cover GROUP BY country_name, large_subnational_region_name, small_subnational_region_name) AS lcmyvON lcm.country_name = lcmyv.country_name AND lcm.large_subnational_region_name = lcmyv.large_subnational_region_name AND lcm.small_subnational_region_name = lcmyv.small_subnational_region_name AND lcm.year_value = lcmyv.max_year_valueGROUP BY lcm.country_name, lcm.large_subnational_region_name, lcm.small_subnational_region_name, lcm.year_valueORDER BY country_name, year_value;
相关阅读
-
商务网页设计与制作 网页设计模板网站
今天小编介绍商务网页设计与制作和网页设计模板网站的电脑小知识,一起来了解了解吧。 对于一个完整的网页来说,网页的设计与制作都同样重要。可能许多网页设计与制作的初学者并不了
-
开公司需要建网站吗 公司建立网站的步骤
一篇IT技术小知识,为您介绍开公司需要建网站吗和公司建立网站的步骤的电脑方面的小经验,很不错的方法小知识,建议收藏哦! 如今互联网时代的迅速发展,不论是创业还是传统线下的公
-
一般做网站需要多少钱 搭建网站费用了解
小编为大家解答一般做网站需要多少钱和搭建网站费用了解的教程内容,下面小编为您详细解答 企业做一个网站需要多少钱? 企业建立一个公司网站到底需要花多少钱?现在我们建网站这一块
-
制作一个静态网站的基本页面 html网页制作动态效果
跟大家说一说制作一个静态网站的基本页面和html网页制作动态效果方面的介绍,请看下面详细的介绍。 相信大家应该都知道在整个网站的制作过程当中,网页制作是整个网站建设的重中之重。


