This Domain(Admin5.com) is for Sale:

用SQL创建数据库

时间:2007-12-23  来源:不详  作者:迈克DB

要在几个不同的表之间建立联系,就要使用FOREIGNKEYREFERENCES子句,它可以限定某个表的字段内容必须存在于另外一个表中。
第一个例子:
首先,生成主要害字段为Field1的表NewTable1
CREATETABLENewTable1(Field1INTEGERCONSTRAINTNewPKPRIMARYKEY);


然后,再生成外部索引,两个表的Field1必须类型相同,并且第一个表的Field1是主要害字段或UNIQUE字段。生成外部索引后,表NewTable2要增加记录,它的Field1字段值必须已经存在于表NewTable1的Field1字段中。
下面两条语句作用相同,因为Field1是NewTable1的主要害字段,可以省略不写
CREATETABLENewTable2(Field1INTEGERCONSTRAINTNewFKREFERENCESNewTable1);
CREATETABLENewTable2(Field1INTEGERCONSTRAINTNewFKREFERENCESNewTable1(Field1));


第二个例子:
首先,生成主要害字段为Field1和Field2的表NewTable1
CREATETABLENewTable1(Field1INTEGER,Field2TEXT(20),CONSTRAINTNewPKPRIMARYKEY(Field1,Field2));


然后,生成多列外部索引
CREATETABLENewTable2(Field1INTEGER,Field2TEXT(20),CONSTRAINTNewFKFOREIGNKEY(Field1,Field2)REFERENCESNewTable1(Field1,Field2));
内容来自dedecms

ALTERTABLE语句:
在表生成之后,假如想修改表的结构,就使用这条语句,它能增加或删除字段以及约束关系。
给表NewTable增加日期型字段Field3,语句执行前表NewTalbe必须没有字段Field3
ALTERTABLENewTableADDCOLUMNField3DATE;

删除表NewTable中的字段Field3,语句执行前字段Field3必须存在表NewTable中
ALTERTABLENewTableDROPCOLUMNField3;

给表NewTable增加NewUK约束关系
ALTERTABLENewTableADDCONSTRAINTNewUKUNIQUE(Field1,Field2);

删除表NewTable的NewUK约束关系
ALTERTABLENewTableDROPCONSTRAINTNewUK;
DROPTABLE语句:
删除表NewTable,语句执行前表NewTable必须存在
DROPTABLENewTable;

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息