创建表
最简单的建表语法:(co101_ namme为列名,data_ type为该列字段的类型)
CREATE TABLE table_ name (
co101_ namme data_ type,
co102_ namme data_ type,
co103_ namme data_ type,
col04_ namme data_ type
};
示例:
create table test01 (id int ,note varchar(20)) ;
如果主键是由两个及以上的字段组成,则称为复合主键,语法:
CONSTRAINT constraint_name PRIMARY KEY(col1_name, co12_name,...)
示例:
create table test02 (idl int,id2 int,note varchar (20),CONSTRAINT pk_test02 primary key(id1, id2)) ;
也可以指定唯一键, 唯一键同样是约束的一-种, 唯-键的约束子句语法如下:
CONSTRAINT constraint name UNIQUE (col1_ name,col2_ name, . .. )
示例:
create table test03(id1 int, id2 int, id3 int,note varchar (20),CONSTRAINT pk_ test03 primary key(id1, id2), CONSTRAINT uk_ test03_ id3 UNIQUE (id3) ) ;
check也是一种约束形式,用于定义某些字段的值必须满足某种要求,语法如下:
CONSTRAINT constraint_ name CHECK (expression)
示例:建一张存储一些孩子信息的表child,其中的年龄字段( age)要求不能大于18岁
CREATE TABLE child (name varchar (20),age int,,note text,CONSTRAINT ck_ child_ age CHECK(age <18)) ;
还可用其他表为模板创建新表,
CREATE TABLE baby(LIKE child) ;
注意,此处创建的表没有把源表列上的约束复制过来。如果想完全复制源表列上的约束和其他信息,则需要加“INCLUDING", 可用的“INCLUDES"选项为:
- INCLUDING DEFAULTS
- INCLUDING CONSTRAINTS
- INCLUDING INDEXES
- INCLUDING STORAGE
- INCLUDING COMMENTS
- INCLUDING ALL – 把所有的属性都复制过去
示例:
CREATE TABLE baby2(LIKE child INCLUDING ALL) ;