SQL CREATE TABLE 语句

SQL CREATE TABLE 语句

CREATE TABLE 语句用于在数据库中创建新表。

语法

CREATE TABLE table_name (
  column1 datatype constraint,
  column2 datatype constraint,
  column3 datatype constraint,
  ....
);

table_name 参数指定新表的名称。

column1, column2, ... 参数指定表中各列的名称。

datatype 参数指定每列的数据类型(例如 varcharintdate 等)。

constraint 参数是可选的,用于指定数据完整性规则(例如主键、非空等)。

提示:有关约束的更多信息,请参阅我们的 SQL 约束 章节。

提示:有关可用数据类型的概述,请访问我们的完整数据类型参考

CREATE TABLE 示例

以下示例创建了一个名为 Persons 的表,包含五列:

实例

CREATE TABLE Persons (
  PersonID int PRIMARY KEY,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255)
);

示例解释:

  • PersonID - 此列是整数类型 (int)。这也是 PRIMARY KEY 字段,用于唯一标识每一行。
  • LastName - 此列是可变长度字符串,最大长度为 255 个字符 (varchar(255))。NOT NULL 指定此列不能为空。
  • FirstName, Address, City - 这些列也是可变长度字符串,最大长度为 255 个字符 (varchar(255))。这些列默认允许 NULL 值。

空的 "Persons" 表现在看起来是这样的:

PersonID LastName FirstName Address City
         

提示:现在可以使用 SQL INSERT INTO 语句将数据填充到空的 "Persons" 表中。

从现有表创建新表

CREATE TABLE 语句也可用于创建新表,复制现有表中的部分或全部数据。

如果从现有表创建新表,新表将填充来自现有表的值。

语法

CREATE TABLE new_table AS
SELECT column1, column2,...
FROM existing_table
WHERE ....;

以下 SQL 语句创建一个名为 GermanCustomers 的新表(该表 Customers 表的副本):

实例

CREATE TABLE GermanCustomers AS
SELECT * FROM Customers
WHERE Country = 'Germany';