SQL表创建完全指南:从基础到高级的数据库表设计教程

这是文章《创建SQL表》的第1部分(共1部分)。

内容片段: 当我们需要在关系型数据库中存储数据时,第一步是创建数据库。接下来的步骤是在数据库中创建一张表来存储我们的数据。在本教程中,我们将讨论如何使用MySQL和PostgreSQL数据库中的SQL查询来创建表。

我没有涵盖SQL Server创建表的例子,因为它们与PostgreSQL查询相似。

SQL 创建表格

为了将数据存储在表中,了解需要存储的数据类型非常重要。让我们尝试理解创建表格的语法。

SQL创建表语法

CREATE TABLE table_name( column1 datatype, column2 datatype,... column-N datatype, PRIMARY KEY(one or more column) );
  • CREATE TABLE 是告诉数据库创建表的关键字。
  • table_name 是用于表的唯一名称。
  • 表名旁边的括号包含列的列表。
  • 该列表包含列名和可在相应列中存储的数据类型。
  • PRIMARY KEY 用于指定要用作主键的列。

用SQL创建一个只有一个列的主键列的表

当我们创建表时,必须同时提供主键信息和列结构。让我们看一些例子来创建一个仅有一列的表,作为主键。

MySQL示例

CREATE TABLE `test`.`student` (
`studentId` INT NOT NULL,
`studentName` VARCHAR(45) NULL,
`State` VARCHAR(45) NULL,
`Country` VARCHAR(45) NULL,
PRIMARY KEY (`studentId`),
UNIQUE INDEX `studentId_UNIQUE` (`studentId` ASC) VISIBLE);

以上查询将创建一个名为”Student”的新表,其中主键列为”studentId”。请注意,每个列名都定义了数据类型。例如,我们只能在studentId列中存储INT类型的数据,而在studentName列中可以存储VARCHAR类型的数据。VARCHAR(45)表示允许的字符串数据的最大长度为45个字符。由于主键不能为null,我们在studentId列的定义中指定了它。

SQL创建表 - MySQL

PostgreSQL示例

我们可以使用以下查询在PostgreSQL数据库中创建一个表格。

CREATE TABLE "test.student"(
"StudentId" integer NOT NULL,
"StudentName" character varying(45),
"State" character varying(45),
"Country" character varying(45),
PRIMARY KEY ("StudentId")
);
SQL创建表 - PostgreSQL

使用SQL创建具有多个主键的表格

让我们来看另一个例子,在这个例子中我们将使用多个列作为主键。

MySQL示例

CREATE TABLE `test`.`customer` (
  `CustomerId` INT NOT NULL,
  `CustomerName` VARCHAR(45) NULL,
  `ProductId` VARCHAR(45) NOT NULL,
  `State` VARCHAR(45) NULL,
PRIMARY KEY (`CustomerId`, `ProductId`),
UNIQUE INDEX `CustomrId_UNIQUE` (`CustomerId` ASC) VISIBLE);

以上查询将在”test”数据库模式中创建”customer”表。该表的主键为CustomerId和ProductId的组合。

SQL创建表 - 多列主键 - MySQL

PostgreSQL示例

CREATE TABLE "test.customer"(
"CustomerId" integer NOT NULL,
"CustomerName" character varying(45),
"ProductId" character varying(45),
"Country" character varying(45),
PRIMARY KEY ("CustomerId","ProductId")
);
在PostgreSQL上创建具有多列主键的SQL表
bannerAds