在MySQL中如何设置主键和外键

在MySQL中如何设置主键和外键,第1张

1.外键的作用,主要有两个:

一个是让数据库自己通过外键来保证数据的完整性和一致性

一个就是能够增加ER图的可读性

2.外键的配置

1)先创建一个主表,代码如下:

#创建表student,并添加各种约束

create table student

(

id int primary key , #主键约束

name varchar(20) , #唯一约束

age int NOT NULL, #非空约束

sex varchar(2) ,

address varchar(20) default '重庆' #默认约束

)

再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:

#创建分数表

create table score

(

id int primary key ,

sid int ,

china int ,

history int,

english int,

constraint FK_sid foreign key(sid) references student(id) #通过外键创建链接

)

创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表

删除外键:

alter table drop foreign key '外键名'.

注意:

只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除

主键是唯一标示这一行的,就好像你的身份z号一样,每个人只有一个,也是唯一能证明你是你的东西。外键是别人执行你的东西。也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊

定义主键和外键主要是为了维护关系数据库的完整性,总结一下:

一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份z号是唯一能确定你这个人的,其他都可能有重复,所以,身份z号是主键。

外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

一、Mysql支持以下约束:

※  主键约束 :primary key

※  唯一性约束:unique key

※  外键约束:foreign key

※  非空约束:not null

※  默认值约束:default

二、主键约束:

一个表只能有一个主键,当建表时忘记设置主键约束时.设置为主键的列查询速度会非常快,所以一般会用聚集索引,这个我们后面会讲到。

添加主键约束:设置myself表的age为主键

语法:alter  table 表名 add primary key(列名)※  可以有多个列名。

三、外键约束:

何为外键,当建表时需要用到另外一个表的主键作为本表的的主键时,需要设置外键。设置外间后,若想在删除本表数据时会级联删除或者默认删除其他方式。

添加外键约束:设置本表的cno为外键

语法:alter table 表名称 add foreign key (列名称)  references  关联表名称(列名称)

四、非空约束:

当插入新数据时对应的列为不能空。非空约束是相对于默认值约束而说的。

添加非空约束:

语法:alter table 表名 modify 列名 列类型 not null 

五、默认值约束:default:

当插入时没有插入值时,会自动插入默认值。默认值约束相对于非空约束而说。

添加默认值约束:

语法:alter table 表名 add 列名 列类型 not null default '默认值';

六、唯一性约束:

本列的内容只能唯一不能重复。

添加唯一约束:

 语法:alter table 列名 add unique(列名称)  ※可以有多个列名称,用逗号隔开。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11577748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存