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 参数指定每列的数据类型(例如 varchar、int、date 等)。
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';