创建表
CREATE TABLE [IF NOT EXISTS] table_name (
column_list
) ENGINE=table_type
- 在数据库中每个table 名必须是唯一的。使用 IF NOT EXISTS 可以防止创建已经存在的表。
- 多个列使用逗号 (,) 分隔。
- storage engine 可以指定为InnoDB, MyISAM 等。MySQL 5.5 以上使用InnoDB 作为默认的engine。InnoDB 可以提供ACID transaction, referential integrity 和crash recovery 等功能。
对于每一个列的定义
column_name data_type[size] [NOT NULL | NULL] [DEFAULT value] [AUTO_INCREMENT]
- 每个列的数据类型可以指定长度,比如VARCHAR(255), INT(11)。
- DEFAULT 可以指定默认值。
- AUTO_INCREMENT 表明当有新的数据行插入时,该列的值是自增长的。一个表中有且仅有一个列是AUTO_INCREMENT 的。
定义主键
PRIMARY KEY (col1, col2, ...)
Example
CREATE TABLE IF NOT EXISTS tasks (
task_id INT(11) NOT NULL AUTO_INCREMENT,
subject VARCHAR(45) DEFAULT NULL,
start_date DATE DEFAULT NULL,
end_date DATE DEFAULT NULL,
description VARCHAR(200) DEFAULT NULL,
PRIMARY KEY (task_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;