SQL CREATE TABLE:创建表

 
表(Table)是以行和列形式组织的数据的集合,表被创建以后,列数是固定的,但是行数可以改变。创建表时,需要给表命名,并定义它的列以及每一列的类型。

SQL CREATE TABLE 语句用于创建新的表。

语法

CREATE TABLE 语句的基本语法如下:
CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);
CREATE TABLE 是 SQL 命令,告诉数据库你想创建一个新的表,它后面紧跟的 table_name 是表的名字。然后在括号中定义表的列,以及每一列的类型,稍后会有更加清晰明了的示例。

PRIMARY KEY 关键字用来指明表的主键。

另外,您也可以使用 CREATE TABLE 和 SELECT 语句的组合来创建现有表的一个副本。

示例

下面的例子将创建一个以 id 为主键的 website 表,该表用来存储一些世界知名网站的信息。代码如下:
CREATE TABLE website (
    id      INT              NOT NULL   AUTO_INCREMENT,
    name    VARCHAR(20)      NOT NULL,
    url     VARCHAR(30)                 DEFAULT '',
    age     TINYINT UNSIGNED NOT NULL,
    alexa   INT UNSIGNED     NOT NULL,
    uv      FLOAT                       DEFAULT '0',
    country CHAR(3)          NOT NULL   DEFAULT '',
    PRIMARY KEY (`id`)
);
几点说明:
  • 某些字段使用了 NOT NULL 约束,表名在插入数据时这些字段不能为 NULL
  • AUTO_INCREMENT 约束用来将某个字段的值设置为自动增长的序列;
  • DEFAULT 约束用来设置字段的默认值;
  • PRIMARY KEY 用来设置表的主键。


执行 CREATE TABLE 命令以后,你可以根据提示信息来确实表是否创建成功,也可以使用 DESC 命令来查看表的结构,如下所示:
SQL> DESC website;
+---------+---------------------+------+-----+---------+----------------+
| Field   | Type                | Null | Key | Default | Extra          |
+---------+---------------------+------+-----+---------+----------------+
| id      | int(11)             | NO   | PRI | NULL    | auto_increment |
| name    | varchar(20)         | NO   |     | NULL    |                |
| url     | varchar(30)         | YES  |     |         |                |
| age     | tinyint(3) unsigned | NO   |     | NULL    |                |
| alexa   | int(10) unsigned    | NO   |     | NULL    |                |
| uv      | float               | YES  |     | 0       |                |
| country | char(3)             | NO   |     |         |                |
+---------+---------------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
现在,website 表已经存在于数据库中了,您可以存入与世界著名网站有关的数据。