PostgreSQL学会如何建表

发布于:2025-05-30 ⋅ 阅读:(14) ⋅ 点赞:(0)

开始使用PostgreSQL之前, 上一节我们说了怎样安装它。

PostgreSQL可能已经安装到你的电脑上了,安装后postgre服务默认在电脑开机时运行启动。

一.了解PostgreSQL的运行

PostgreSQL使用一种客户端/服务器(C/S)模型。

和其他典型的客户端/服务器应用一样,客户端和服务器可以在不同的主机上,这时它们通过 TCP/IP 网络连接通讯。

1.客户端应用是多种多样的,你可以使用很多的工具来连接上它。我们使用的现在有两种 pgAdmin 和 sql命令行工具。

        1.1 pgAdmin

        1.2 sql命令行工具

2.服务器有一个守护进程总是在等待着客户端来连接。

    当一个客户端连接时会运行一个服务器进程,多个客户端连接时会分别对应运行多个服务器进程。

    所以说一次连接就是建立了一次PostgreSQL会话,会话可以是长时的,就是说一个会话可以分别执行多个sql命令。

3.每一个服务器进程,管理数据库文件、接收客户端与数据库的连接,并且代表客户端在数据库上执行操作。

    数据库服务器程序就叫做postgres,这是它的由来。

二.创建一个数据库

首先通过默认用户postpre登录。

一个新的数据库,在我们例子数据库叫 firstdb ,可以使用下面的命令:

create database firstdb; --创建名称为firstdb的数据库

注意创建数据库需要;结尾

如果不产生任何响应则表示该步骤成功。

注意新的数据库,默认可以使用超级用户postgre登录,我们就使用超级用户postgre重新连接新数据库firstdb。

之后试验一下下面的命令:

select version(); -- 输出当前数据库版本信息

select current_date; -- 打印当前日期

select 2 + 2; -- 计算2+2

两个方式执行,哪个都行。

如果使用的是sql命令行工具,psql程序有一些不属于SQL命令的内部命令,以反斜线开头 \,获取各种SQL命令的帮助语法:

  • \h 表示帮助语法 help

   

     firstdb=> \h

  • \q 表示退出psql

       

 firstdb=> \q

三.SQL语言说明


PostgreSQL是一种关系型数据库管理系统(RDBMS)。是一种用于管理存储在关系中的数据的系统。关系是表的数学术语。

现今把数据存储在表里的概念已经快成了固有的常识。

1.单个PostgreSQL服务器实例管理的全部数据库的集合,组成了一个数据库集簇。

2.一个数据库可以分组为多个表,可以与excel表格类比。

3.每个表都是一个行集合,每一行由一组命名列组成,而每一列都有一个特定的数据类型。

四.创建表天气表

指定表的名字weather(天气) 和所有列的名字及类型来创建一个表∶

 

create table weather ( --创建表天气
 id varchar(20), --id为表的行标识id 1、2、3、4.... varchar(20)为字符数据类型,最大20个字符
 city varchar(80), -- 城市名词 varchar(80) 为存储最长80个字符的任意字符串的数据类型
 temp_low int, -- 最低温度 int是整数类型
 temp_high int, -- 最高温度 int是整数类型
 prcp real, -- 湿度 real存储单精度浮点数的类型(知道就行,不常用)
 date date -- 时间字段 就是类型为date的列名字也是date
);

-- 这个标志为注释,就是说明,在sql中不会进行执行,会被忽略。

上面的sql命令以及换行符,直到分号才结束。

在 SQL 命令中可以自由使用空白(即空格、制表符和换行符)。

SQL 是对关键字和标识符大小写不敏感的语言。

PostgreSQL支持标准的SQL类型有int、smallint、real、double precision、char(N)、varchar(N)、date、time、timestamp和interval,还支持其他的通用功能的类型和丰富的几何类型。

甚至可以定制任意数量的用户自定义数据类型。因而类型名并不是语法关键字,除了SQL标准要求支持的特例外。

五.创建表城市表

用来保存城市和相关的地理位置:

create table cities ( --创建表城市
  id varchar(20), --id为表的行标识id varchar(20)为字符数据类型,最大20个字符
  name varchar(80), --name为城市名称 varchar(80) 为存储最长80个字符的任意字符串的数据类型
  location point --location地理位置字段 类型point就是一种PostgreSQL特有数据类型的例子(知道就行,不常用)
);


看了两个表的创建应该明白了,它的形式都一样,就看我们存储什么。

六.删除城市表

如果你不再需要某个表,或者以不同的形式要重建它,那么你可以用下面的命令删除对应的表。

drop table cities; -- drop 执行会删除表,删除后无法恢复

甚至可以直接删除刚新建的数据库firstdb

drop database firstdb; -- 删除数据库(DROP DATABASE 大小写都有)

当前登录为firstdb数据库,自己不能删除自己的库。

若真要删除可以登录postgres用户删除,因为建库是用postgres用户。

最后

下次说表中增加行和查询表

完毕!


网站公告

今日签到

点亮在社区的每一天
去签到