表(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`)
);
几点说明:
执行 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 表已经存在于数据库中了,您可以存入与世界著名网站有关的数据。
解决移动墙|域名墙的国内免备案云服务商!