示例
该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;
每个字段定义必须具有:字段名称:有效的字段名称。确保将名称缩写为`-chars。这样可以确保您可以在字段名称中使用例如空格字符。
数据类型[长度]:如果字段是CHAR或VARCHAR,则必须指定字段长度。
属性 NULL| NOT NULL:如果NOT NULL指定,则NULL在该字段中存储值的任何尝试都会失败。
在此处查看有关数据类型及其属性的更多信息。
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指定no ,则将NULL在检索该字段时使用。如果Country在插入时未指定no ,则默认为“美国”。
您可以为所有列类型设置默认值以外BLOB,TEXT,GEOMETRY,和JSON领域。