Sql 简明教程
SQL - CREATE Table
本教程将教您如何使用 SQL 在 RDBMS 中创建表。我们使用 CREATE TABLE command 在数据库中创建表。
在 RDBMS 中,数据库表用于以某种结构(字段和记录)的形式存储数据。在 RDBMS 中, field 是一个列,它定义了表中要存储的数据类型, record 是包含实际数据的一行。简单来说,我们可以说表是行和列的组合。
SQL 提供了多种查询,可以方便地与数据进行交互。我们可以使用 SQL 语句在这些表中创建和删除表,插入、更新和删除数据。
有关 RDBMS 中不同概念的更多详细信息,请查看 RDBMS Concepts 教程。
The SQL CREATE TABLE Statement
SQL 提供了 CREATE TABLE 语句,用于在给定数据库中创建新表。用于创建表的 SQL 查询必须定义表的结构。结构由表的名称和表中列的名称及其每个列的数据类型组成。请注意,每个表在数据库中必须有唯一的名称。
Syntax
CREATE TABLE 语句用于在数据库中创建新表。 -
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
以下是要点 -
-
CREATE TABLE 是一个关键字,它告诉数据库系统你要做什么。在这种情况下,你想创建一个新表。表的唯一名称或标识符位于 CREATE TABLE 语句后面。
-
列参数(例如 column1、column2、column3 等)指定表中列的名称。
-
datatype 参数指定列可以容纳的数据类型(例如整数、varchar、字符串等)。
-
PRIMARY KEY 约束唯一标识表中的每条记录。主键必须包含唯一值,且不能包含空值。
Example: Creating Table in SQL
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
以下是要点 -
-
以下代码块是一个示例,它创建一个 CUSTOMERS 表,其中列名为 ID、NAME、AGE、ADDRESS 和 SALARY,而 ID 是主键。
-
NOT NULL 是约束,表示创建表中的记录时,这些字段不能为 NULL。
Verification
创建表后,可以检查它是否已成功创建。可以使用 SQL DESC table_name 命令按以下方式列出表的说明:
DESC CUSTOMERS;
这将显示创建的表的结构:列名称、它们各自的数据类型、约束(如果有)等等。
Field |
Type |
Null |
Key |
Default |
Extra |
ID |
int(11) |
NO |
PRI |
NULL |
|
NAME |
varchar(20) |
NO |
NULL |
||
AGE |
int(11) |
NO |
NULL |
||
ADDRESS |
char(25) |
YES |
NULL |
||
SALARY |
decimal(18,2) |
YES |
NULL |
现在,你的数据库中已经有了 CUSTOMERS 表,可以使用此表来存储与客户相关的信息。
SQL CREATE TABLE IF NOT EXISTS
考虑一种情况,即你尝试创建一个已经存在表,在这种情况下 MySQL 将抛出以下错误。
ERROR 1050 (42S01): Table 'CUSTOMERS' already exists
因此,为了避免此错误,可以使用 SQL 命令 CREATE TABLE IF NOT EXISTS 来创建表。
Creating a Table from an Existing Table
除了每次创建一个新表之外,还可以复制一个现有表及其内容(包括其结构)到一个新表中。可以使用 CREATE TABLE 语句和 SELECT 语句的组合来完成此操作。由于复制了其结构,因此新表将具有与原始表相同的列定义。此外,将使用旧表中的现有值填充新表。