MySQL 基本表创建


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

CREATE TABLE Person (
    `PersonID`      INTEGER NOT NULL PRIMARY KEY,
    `LastName`      VARCHAR(80),
    `FirstName`     VARCHAR(80),
    `Address`       TEXT,
    `City`          VARCHAR(100)
) Engine=InnoDB;

每个字段定义必须具有:

  1. 字段名称:有效字段名称。确保将名字包含在`-chars中。这可确保您可以在fieldname中使用例如space-chars。
  2. 数据类型[长度]:如果字段为CHARVARCHAR ,则必须指定字段长度。
  3. 属性为NULL | NOT NULL :如果指定NOT NULL ,则任何在该字段中存储NULL值的尝试都将失败。
  4. 此处查看有关数据类型及其属性的更多信息

Engine=...是一个可选参数,用于指定表的存储引擎。如果未指定存储引擎,则将使用服务器的默认表存储引擎(通常为InnoDB或MyISAM)创建表。

设置默认值

此外,在有意义的地方,您可以使用DEFAULT为每个字段设置默认值:

CREATE TABLE Address (
    `AddressID`   INTEGER NOT NULL PRIMARY KEY,
    `Street`      VARCHAR(80),
    `City`        VARCHAR(80),
    `Country`     VARCHAR(80) DEFAULT "United States",
    `Active`      BOOLEAN DEFAULT 1,
) Engine=InnoDB;

如果在插入期间未指定Street则在检索时该字段将为NULL 。如果在插入时未指定Country ,则默认为“美国”。

您可以为所有列类型设置默认值, BLOBTEXTGEOMETRYJSON字段除外