用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网友发表了评论 查看完整内容