快速业务通道

用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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号