用SQL创建数据库
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-02-16
EIGN KEY(这也是它最强大的地方)。另外, CONSTRAINT语句必须和CREATE TABLE或ALTER TABLE语句一起使用。 生成表NewTable,主关键字段是Field1,主索引是NewPK CREATE TABLE NewTable(Field1 LONG CONSTRAINT NewPK PRIMARY KEY, Field2 MEMO, Field3 DATETIME); 生成索引为NewUK的表NewTable,Field1不能有相同值,可以有空值 CREATE TABLE NewTable(Field1 INTEGER CONSTRAINT NewUK UNIQUE); 生成多列的主索引,两条记录的Field1和Field2不能全部相同,也不能为空值 CREATE TABLE NewTable(Field1 INTEGER, Field2 CURRENCY, CONSTRAINT NewPK PRIMARY KEY(Field1, Field2)); 生成多列的UNIQUE索引,两条记录的Field1和Field2不能全部相同注意,如果两条记录其中一个字段相同而另一个字段都是空值,那也算两个字段不同 CREATE TABLE NewTable(Field1 INTEGER, Field2 CURRENCY, CONSTRAINT NewUK UNIQUE(Field1, Field2)); 要在几个不同的表之间建立联系,就要使用FOREIGN KEY REFERENCES子句,它可以限定某个表的字段内容必须存在于另外一个表中。 第一个例子: 首先,生成主关键字段为Field1的表NewTable1 CREATE TABLE NewTable1(Field1 INTEGER CONSTRAINT NewPK PRIMARY KEY); 然后,再生成外部索引,两个表的Field1必须类型相同,并且第一个表的Field1是主关键字段或UNIQUE字段。生成外部索引后,表NewTable2要增加记录,它的Field1字段值必须已经存在于表NewTable1的Field1字段中。 下面两条语句作用相同,因为Field1是NewTable1的主关键字段,可以省略不写 CREATE TABLE NewTable2(Field1 INTEGER CONSTRAINT NewFK REFERENCES NewTable1); CREATE TABLE NewTable2(Field1 INTEGER CONSTRAINT NewFK REFERENCES NewTable1(Field1)); 第二个例子: 首先,生成主关键字段为Field1和Field2的表NewTable1 CREATE TABLE NewTable1(Field1 INTEGER, Field2 TEXT(20), CONSTRAINT NewPK PRIMARY KEY(Field1, Field2)); 然后,生成多列外部索引 CREATE TABLE NewTable2(Field1 INTEGER, Field2 TEXT(20), CONSTRAINT NewFK FOREIGN KEY(Field1, Field2) REFERENCES NewTable1(Field1, Field2)); ALTER TABLE语句: 在表生成之后,如果想修改表的结构,就使用这条语句,它能增加或删除字段以及约束关系。 给表NewTable增加日期型字段Field3,语句执行前表NewTalbe必须没有字段Field3 ALTER TABLE NewTable ADD COLUMN Field3 DATE; 删除表NewTable中的字段Field3,语句执行前字段Field3必须存在表NewTable中 ALTER TABLE NewTable DROP COLUMN Field3; 给表NewTable增加NewUK约束关系 ALTER TABLE NewTable ADD CONSTRAINT NewUK UNIQUE(Field1,Field2); 删除表 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用SQL创建数据库的所有评论