📜  SQL创建表(1)

📅  最后修改于: 2023-12-03 15:35:08.110000             🧑  作者: Mango

SQL 创建表

在关系型数据库中,表是数据的存储单元。成功的数据库设计必须开始于正确的表定义。这个过程通常称为表设计。

语法

在 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 的表,该表包含了 idnameage 列:

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 语句定义表。您必须指定表的名称、列名和每列的数据类型。表可能会包含一个主键。数据表中的每个列也可以有可选限制,如不能为空或输入格式有误时给出提示等。