第 4 章:你的第一个数据库和表 🏗️ - PostgreSQL入门

B站影视 日本电影 2025-08-04 22:29 1

摘要:前面三章,我们完成了所有的准备工作:认识了 PostgreSQL,安装了它,还学会了怎么用工具连接它。现在,我们终于要开始干正事了——用 SQL 创造我们自己的东西!

好了,各位未来的数据大师们,激动人心的时刻到了!

前面三章,我们完成了所有的准备工作:认识了 PostgreSQL,安装了它,还学会了怎么用工具连接它。现在,我们终于要开始干正事了——用 SQL 创造我们自己的东西!

在这一章,你将学会:

如何创建一个全新的数据库。如何创建你的第一张数据表。认识最基本、最常用的数据类型。

准备好敲下你的第一行 SQL 代码了吗?Let’s do this!

我们的 PostgreSQL 服务器就像一个大公寓楼 ,而数据库 (Database) 就是里面的一个个独立的套房。每个套房(数据库)里都可以存放自己的家具(表、数据等),彼此之间是隔离的。

虽然我们可以用 pgAdmin 右键创建数据库,但学习用 SQL 来完成这件事,能让你更深刻地理解其本质。

动手时间!

打开你喜欢的工具(psql 或 pgAdmin 的查询工具)。

pgAdmin 小贴士: 在左侧的服务器上右键,选择 Query Tool... 就可以打开一个 SQL 编辑器。

在编辑器里,输入下面这行代码:

CREATE DATABASE my_first_db;CREATE DATABASE 是 SQL 命令,告诉数据库:“嘿,我要创建一个新数据库!”my_first_db 是我们给这个数据库起的名字。你可以换成任何你喜欢的名字(但要用英文字母、数字和下划线,并以字母开头)。最后的分号 ; 是 SQL 语句的结束符。在 psql 或大多数工具里,这是一个好习惯。

执行它!

在 psql 里,直接回车。在 pgAdmin 里,点击那个绿色的“播放”按钮 (Execute/Run)。

如果一切顺利,你应该会看到一条类似 CREATE DATABASE 或 Query returned successfully 的成功消息。

如何验证?

在 psql 里,输入 \l 命令,你会在列表里看到 my_first_db。在 pgAdmin 里,在左侧的 Databases 上右键,选择 Refresh...,你就会看到新的数据库出现了。

恭喜!你拥有了你的第一个数据库“套房”!

现在我们有了新家,得“搬”进去才能开始布置呀。

在 psql 里:
使用 \c (connect) 命令:\c my_first_db你会看到命令提示符变成了 my_first_db=#,表示你已经成功切换进来了。在 pgAdmin 里:
你只需要在左侧的数据库列表里,直接点击 my_first_db 即可。如果要在这个数据库里执行查询,确保 Query Tool 的左上角选中的是 my_first_db。

好了,我们已经在 my_first_db 这个套房里了。现在,我们要开始打造第一件“家具”——一张用来存放“朋友”信息的表。

我们希望这张表有以下几列:

一个独一无二的 ID朋友的名字他的生日我们认识了多少年

在查询工具里,输入下面的 SQL 代码:

CREATE TABLE friends ( id INT, name VARCHAR(50), birthday DATE, years_known INT);

我们来逐行拆解这段代码:

CREATE TABLE friends (...): 告诉数据库,我们要创建一张名为 friends 的表。括号里是表的结构定义。id INT: 定义一个名为 id 的列,它的数据类型是 INT (整数)。name VARCHAR(50): 定义一个名为 name 的列,它的类型是 VARCHAR(50)。这表示它可以存放最多 50 个字符的可变长度字符串。birthday DATE: 定义一个名为 birthday 的列,类型是 DATE,专门用来存日期。years_known INT: 定义一个名为 years_known 的列,类型也是整数。

执行它!

成功后,如何验证?

在 psql 里,输入 \dt,你就能看到 friends 表。再输入 \d friends,可以查看它的详细结构。在 pgAdmin 里,刷新 my_first_db 下的 Schemas -> public -> Tables,就能看到 friends 表了。

太酷了!你刚刚像一个真正的工程师一样,定义了你的第一个数据结构!

在上面的例子里,我们用到了 INT, VARCHAR, DATE。这些就是数据类型。

这一列能存放什么样的数据(比如 INT 列就不能放文本)。数据库会为它分配多少存储空间。数据库能对它进行哪些操作(比如 DATE 类型可以计算日期间隔)。类型描述例子数值类型

INT 或 INTEGER整数1, 100, -50NUMERIC(p, s)精确的小数。p是总位数,s是小数位数。NUMERIC(5, 2) 可以存 123.45FLOAT浮点数(不精确,用于科学计算)3.14159文本类型

VARCHAR(n)可变长度字符串,n是最大长度'Hello'TEXT无长度限制的文本'一篇很长的文章...'日期/时间类型

DATE只存日期'2023-10-26'TIME只存时间'18:30:00'TIMESTAMP存日期和时间'2023-10-26 18:30:00'BOOLEAN真或假true, false

学会了创造,也要学会如何“毁灭” 。DROP 命令就是用来干这个的,但使用它时一定要万分小心,因为这个操作是不可逆的!

删除一张表:DROPTABLE friends;删除一个数据库:
你不能删除你当前正连接着的数据库。所以,你需要先切换出去,比如切换回 postgres 数据库。在 psql 里: \c postgres然后执行:DROP DATABASE my_first_db;

警告 ⚠️:在真实项目中,DROP 命令是核武器级别的操作,执行前请再三确认!

本章小结

成就感爆棚!你已经从一个旁观者,变成了一个真正的参与者。

你学会了如何用 CREATE DATABASE 和 CREATE TABLE 来构建数据库的骨架,还了解了基本的数据类型。这是成为一个数据库开发者的核心技能。

现在,我们的 friends 表还是一个空架子。在下一章,我们将学习如何向这个空架子里填充数据 (INSERT),让它变得有血有肉。

准备好认识你的第一批“数据朋友”了吗?我们下一章见!

来源:linux运维菜

相关推荐