PostgreSQL学会如何建表

开始使用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用户。

最后

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

完毕!

### 如何在 PostgreSQL 中创格 #### 创格的 SQL 语法 在 PostgreSQL 中,`CREATE TABLE` 语用于创新的数据库。该语允许指定列名、数据类型以及其他属性,如主键、外键和其他约束条件。 ```sql CREATE TABLE table_name ( column1 datatype constraints, column2 datatype constraints, ... ); ``` 此语法提供了创所需的基本框架[^4]。 #### 数据类型的选用 当定义每一列的数据类型时,应考虑所存数据的实际需求。PostgreSQL 支持多种标准数据类型,包括但不限于: - `INTEGER`: 整数类型 - `VARCHAR(n)`: 变长字符串,最大长度为 n 字符 - `DATE`: 存储日期值 - `BOOLEAN`: 布尔逻辑值 (TRUE/FALSE) 合理选择合适的数据类型对于优化性能至关重要[^3]。 #### 添加约束 为了确保数据的一致性和完整性,在创的同时可以加入不同的约束条件。常见的有: - **PRIMARY KEY**: 定义唯一标识每条记录的关键字段。 - **FOREIGN KEY**: 维护两个之间的关联关系。 - **NOT NULL**: 指定某列不允许为空值。 - **UNIQUE**: 确保某一列或多列组合中的所有值都是唯一的。 这些约束有助于保持良好的数据质量并防止错误输入[^1]。 #### 实际案例演示 假设要立一个名为 `employees` 的员工信息,则完整的 SQL 语如下所示: ```sql CREATE TABLE employees ( id SERIAL PRIMARY KEY, -- 自动增长ID作为主键 first_name VARCHAR(50), -- 名字最长可达50字符 last_name VARCHAR(50) NOT NULL, -- 姓氏必填项 email VARCHAR(100) UNIQUE, -- 邮箱地址需唯一 hire_date DATE -- 录用日期 ); ``` 这段代码不仅展示了如何构一张简单的雇员资料单,还体现了上述提到的各种概念的应用实例[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小何慢行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值