📅  最后修改于: 2023-12-03 15:35:08.110000             🧑  作者: Mango
在关系型数据库中,表是数据的存储单元。成功的数据库设计必须开始于正确的表定义。这个过程通常称为表设计。
在 SQL 中,可通过 CREATE TABLE
语句创建表。其基本语法如下:
CREATE TABLE table_name (
column1 datatype [optional_attributes],
column2 datatype [optional_attributes],
column3 datatype [optional_attributes],
......
PRIMARY KEY (one_or_more_columns)
);
其中:
table_name
为表的名称;column1
, column2
, column3
等为列名;PRIMARIY KEY
用于唯一地标识表中的某行,一个表只能有一个主键。以下 SQL 代码创建一个名为 persons
的表,该表包含了 id
、name
和 age
列:
CREATE TABLE persons (
id INT NOT NULL,
name VARCHAR(255) NOT NULL,
age INT,
PRIMARY KEY (id)
);
其中:
id
为一个整数,不允许为空(NOT NULL),且为主键;name
为一个长度不超过 255 个字符的文本字符串,不允许为空(NOT NULL);age
为一个整数,允许为空。列的数据类型是在列定义中指定的。常见的数据类型有:
INT
, INTEGER
- 整数值;FLOAT
, REAL
- 小数值;CHAR(N)
, VARCHAR(N)
- 定长和变长的字符串;DATE
, TIME
, DATETIME
, TIMESTAMP
- 日期和时间类型。除此之外,还有其他许多类型可用。详见数据库供应商的文档。
在列定义中,还可使用一些可选属性,包括:
NOT NULL
- 列不能为空;UNIQUE
- 列的值必须唯一;DEFAULT
- 列的默认值;CHECK
- 在插入或更新行时,此属性限制了对该列的值的输入。AUTO_INCREMENT
- 递增的整数值,通常用于唯一的 ID 列。在 SQL 中,可以使用 CREATE TABLE
语句定义表。您必须指定表的名称、列名和每列的数据类型。表可能会包含一个主键。数据表中的每个列也可以有可选限制,如不能为空或输入格式有误时给出提示等。