SQL语句CREATE TABLE 用于创建数据表,其基本语法如下:
CREATE TABLE 表名
(
字段名1 字段类型,
字段名2 字段类型,
字段名3 字段类型,
………………
约束定义 1,
约束定义 2,
………………
)
这里的CREATE TABLE 语句告诉数据库系统我们要创建一张数据表,CREATE TABLE语句后紧跟着表名,这个表名不能与数据库中已有的表名重复。括号中是一条或者多条表定义,表定义包括字段定义和约束定义两种,一张表中至少要有一个字段定义,而约束定义则是可选的。约束定义包括主键定义、外键定义以及唯一约束定义等。下面用例子来演示这个语句的使用。
下面的SQL语句创建了一个用于保存人员信息的数据表:
CREATE TABLE T_Person
(
FName VARCHAR(20),
FAge INT
)
注意:上边的SQL在MYSQL、MSSQLServer 以及DB2下可以正常运行,不过由于各个主流数据库系统中数据类型的差异,所以在其他数据库中可能需要改写。
下面是此SQL在Oracle下的写法:
CREATE TABLE T_Person
(
FName VARCHAR2(20),
FAge NUMBER (10)
)
可以看到这里将人员数据表的名称为T_Person,并且拥有两个字段,一个字段为记录姓名的字段FName,另一个为记录年龄的FAge。姓名为长度不确定的字符串类型,因此这里我们使用最大长度为20 的可变长度字符串VS Studio的插件开发来定义FName 字段;年龄为整数,所以使用INT来定义FAge字段。需要用逗号来分隔开每一个字段的定义,我们这里将每个字段都在单独一行中定义,这并不是强制要求的,我们可以将所有字段定义在一
行中,如下:
CREATE TABLE T_Person(FName VARCHAR(20),FAge INT);
这样的SQL语句也是合法的,不过当字段数量比较多的时候这样写就会显得过于杂乱,因此推荐使用每行一个字段定义的方式,这样容易阅读,而且出现错误的时候也容易调试,因为很多数据库系统都是根据行号来提示错误信息的。
字段定义只能限制一个字段中所能填充的数据类型,对于“字段值必须唯一、录入的年龄必须介于18 到26岁之间、姓名不能为空”这样的需求则无法满足,这也就是约束定义的工作。