外观
更新完整性约束
删除完整性约束
在ALTER TABLE语句中使用DROP字句可以单独地删除一个完整性约束,语句如下:
DROP [FOREIGN KEY|INDEX|<SYMBOL>]|[PRIMARY KEY]其中,FOREIGN KEY表示删除外键约束。PRIMARY KEY表示删除主键约束,但是需要注意在删除主键约束时必须再次创建一个主键,否则会删除失败。INDEX表示删除候选键约束,symbol表示要删除的约束名称。
如我们删除employees表中字段id的唯一索引,就可以使用下面的语法:
alter table employees drop index id;在删除这个索引后我们可以再次查看此表的索引,可以看到唯一索引已被删除。

修改完整性约束
MySQL中不存在直接修改完整性约束的方法,需要先删除对应的完整性约束然后再创建一个同名的完整性约束完成修改。
在下面的实例中我们将候选键约束name改为id,具体是先删除候选键约束name,然后在添加值为id的候选键约束。
其中删除候选键约束和重新添加候选键约束的语句如下:
alter table employees drop index name;
alter table employees add unique index id(id);运行结果如下图,可见执行这两条语句之后候选键约束从name改为了id。

再若我们要给表tb1添加一个如下的外键约束(无运行结果)。
alter table tb1 add (constraint 'fri_key' -- 该外键名为fri_key
foreign key (col1,col2) -- 参照表为tb1 添加外键约束的字段为col1和col2
references tb2 (col3,col4) -- 被参照表为tb2 被参照字段为col3和col4
on delete set null -- 若删除被参照表中的字段值,则在参照表中对应的位置设成NULL
on update restrict -- 若更新被参照表中的字段值,若参照表有对应的值则不允许此操作
);
- 在设置此外键约束前,被参照表tb2必须具有对应字段为col3和col4的多列索引,创建该索引的部分语法如下:
add index (col3,col4)。- 设置此外键约束后,参照表中若要添加数据,则参照表中同一数据行的字段col1和字段col2必须同时对应被参照表中某一同一数据行的字段col3和col4,如被参照表中有一数据行,该数据行中col3的值为1,col4的值为2,则向参照表中添加数据时,该行数据的字段col1必须为1,col4必须为2,若col1为1col2为3那么就是不同时对应该数据行的每个字段了,若被参照表中其他字段也不满足此规则,则该数据行不能添加。
存储过程和存储函数是指在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和存储函数来执行已经定义好的SQL语句,以避免开发人员重复编写相同的SQL语句,增加开发的效率,减少客户端和服务端的数据传输。