暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL入门-创建新表

FortuneXu 2025-10-08
47

摘要: 在本教程中,你将学习如何设计数据库表以及如何使用 PostgreSQL 的 CREATE TABLE 语句创建新表。

设计表

PostgreSQL 数据库由一组相关的表组成。在 PostgreSQL 中创建表之前,你需要回答三个最重要的问题:

  • 你打算在表中存储什么样的信息?
  • 这些信息具有哪些属性?
  • 这些属性中的每一个都包含什么类型的数据?

假设你想管理产品库存:

产品名称 品牌 数量 价格
iPhone 14 Apple 50 999.99
Galaxy S22 Samsung 40 899.99
Galaxy Tab A8 Samsung 30 229.99
Pixel Slate Google 10 799.99
… … … …

要做到这一点,你可以回答以下三个问题:

1)、你打算存储什么样的信息?

我们将要存储产品库存清单。为此,我们将创建一个名为 inventories 的表格。

2)、该信息具有哪些属性

每条库存记录包含以下信息:

  • product name
  • brand
  • quantity
  • price

因此, inventories 表将有四列:

  • name
  • brand
  • quantity
  • price

3)、这些属性中的每一个都包含什么类型的数据?

每个表列存储特定类型的数据:

  • name 列存储产品名称,例如 iPhone、Galaxy 等。它们都是字符串。
  • 品牌列存储着如 Apple 和 Samsung 等品牌。这些品牌也都是字符串。
  • 数量列存储产品数量,例如 10、21、30。这些数量都是整数。
  • price 列存储产品价格,例如 899.99 和 299.99 。产品价格是十进制数。

以下是 inventories 表的摘要:

Column Name Data Type
name string
brand string
quantity integer
price decimal

创建表语句

在 PostgreSQL 中,CREATE TABLE 语句允许你在数据库中创建一个新表。

以下是 CREATE TABLE 语句的基本语法:

CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type ... );

在以下语法中:

CREATE TABLE 是指示 PostgreSQL 在数据库中创建新表的关键字。关键字可以是小写或大写。按照惯例,关键字使用大写是为了使其在语句中更加突出。

table_name 是一个标识符,用于指定表的名称。

按照惯例,在 PostgreSQL 中,表名使用蛇形命名法和复数名词:

Snake case 是一种命名约定,您用小写字母书写所有字母,并用下划线替换每个字母。例如 products ,brands,以及 product_categories。

在 CREATE TABLE table_names 子句之后,需在括号 () 内指定列的列表,各列之间用逗号分隔。

以下是定义列的基本语法:

column_name data_type

在这种语法中,你需要指定列名及其数据类型。按照惯例,列名也使用 Snake case 名法。

例如,以下 CREATE TABLE 语句会在 PostgreSQL 数据库中创建一个新表:

CREATE TABLE inventories ( name VARCHAR(255), brand VARCHAR(50), quantity INT, price DECIMAL(19, 2) );

在这个 inventories 表中:

  • name 和 brand 列的数据类型为 VARCHAR,即变长字符型。length 说明符 255 和 50 指定了这些列可存储的最大长度。例如,如果尝试插入一个超过 255 个字符的名称,将会遇到错误。

quantity 列的类型为INT或整数。其范围是从 -2,147,483,648 到 +2,147,483,647 。如果输入的值超出此范围,将会出现错误。

price 列的数据类型为 DEC(19,2) 。它最多可以存储19位小数,其中小数点前最多17位,小数点后为2位。

以下表格展示了表设计中的列数据类型与 PostgreSQL 数据类型的映射关系:

Column Data Type PostgreSQL data type
name string VARCHAR
brand string VARCHAR
quantity integer INTEGER
price decimal DEC(19, 2)

总结

  • 数据库由一系列表组成。
  • 表存储记录列表。
  • 表名使用复数名词并采用 Snake case 命名法。
  • 使用 PostgreSQL 的 CREATE TABLE 语句在数据库中创建新表。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论