1.删除表中某一列的外码约束

格式:alter table 表名 drop foreign key 外键约束名

外键约束名:指在定义表时constraint关键字后面的约束名

可以使用show create table语句查看在constraint后面单引号中。

例如:

mysql上如何设置外码约束 mysql外码怎么写_mysql


例如删除sc表中sno属性列的外码约束:

mysql上如何设置外码约束 mysql外码怎么写_mysql_02

2.给表中的列增加外码约束

格式:alter table 表名 add foreign key 表名(列名) references 表名2(列名2);

例如:将sc表中的sno列设置为外码并连接到student表中的sno列:

mysql上如何设置外码约束 mysql外码怎么写_mysql_03

3.删除表中某列的主码属性

  • 如果该主码不是其他表中的外码:
    格式:drop index 键名 on 表名;
    键名:通过 show keys from 表名; 查看Key_name
    例如,查看student表中的keys

    然后,删除student表中sno的主码属性:
  • 如果该主码是其他表中的外码:
    需要先把其他表中对应的外码属性删除,然后再删除该表中的主码属性;
    例如,student表中的主码sno是sc表中的外码,需要先把sc表中sno的外码属性删除,再删除student表中的主码属性:

4.给表中某列添加主码属性

格式:alter table 表名 add uninque 列名(列名);

例如,给student表中的sno列添加主码属性:

mysql上如何设置外码约束 mysql外码怎么写_mysql上如何设置外码约束_04

5.修改属性列的值

格式:update 表名 set 列名1=表达式1,列名2=表达式2 where 条件;

注意:如果要修改的列是其他表的外码,则不被允许修改,因为可能会破坏表上已定义的完整性规则!

例如:将student表中sname列的“李白”修改为“李冰”:

mysql上如何设置外码约束 mysql外码怎么写_mysql上如何设置外码约束_05


再如:将student表中学号为95666的学生的sname修改为“李新旺”,ssex修改为“男”,sage修改为18:

mysql上如何设置外码约束 mysql外码怎么写_mysql_06

6.删除表中的某行

格式:delete from 表名 where 条件;

注意:注意:如果要删除的行中的某个元素是其他表的外码,则不被允许修改,因为可能会破坏表上已定义的完整性规则!

例如:删除student表中sno为95014的一行:

mysql上如何设置外码约束 mysql外码怎么写_约束条件_07

7.向表中插入一行

格式:insert into 表名 (列名1,列名2,列名3) values (常量1,常量2,常量3);

例如:向student表中插入学生信息:姓名(sname)李新旺、学号(sno)95015、性别(ssex)男、年龄(sage)18、院系(sdept)CS:

mysql上如何设置外码约束 mysql外码怎么写_删除表_08


value子句提供的值必须与into子句提供的变量类型和个数相匹配;

8.添加新表

格式:create table 表名 (列名1 数据类型 约束条件,列名2 数据类型 约束条件,列名3 数据类型 约束条件…);

例如:添加新表scnewadd,有sno、cno两列数据,类型分别为varchar(30),varchar(10),(sno,cno)

是主码;

mysql上如何设置外码约束 mysql外码怎么写_mysql_09

9.查看表中列名、类型、约束条件

格式:desc 表名;

例如:查看上面创建的scnewadd表的列名、类型、约束条件

mysql上如何设置外码约束 mysql外码怎么写_删除表_10

10.删除表格

格式:drop table 表名;

例如:把刚才创建的表scnewadd删除:

mysql上如何设置外码约束 mysql外码怎么写_表名_11