中易网

MySql里面的 PRIMARY KEY 和 KEY 是什么关系?一个字段即可以是PRIMARY KEY 又可以是 KEY吗?

答案:1  悬赏:70  
解决时间 2021-01-24 06:19
MySql里面的 PRIMARY KEY 和 KEY 是什么关系?一个字段即可以是PRIMARY KEY 又可以是 KEY吗?
最佳答案
主键:唯一标识表中的所有行的一个列或一组列。主键不允许空值。不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行。表中可以有不止一个键唯一标识行,每个键都称作候选键。只有一个候选键可以选作表的主键,所有其它候选键称作备用键。尽管表不要求具有主键,但定义主键是很好的做法。 在规范化的表中,每行中的所有数据值都完全依赖于主键。例如,在以 EmployeeID 作为主键的规范化的 employee 表中,所有列都应包含与某个特定职员相关的数据。该表不具有 DepartmentName 列,因为部门的名称依赖于部门 ID,而不是职员 ID。 外键:外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。 Create database cat go use cat go CREATE TABLE s(s# int not null primary key,s_name varchar(8) not null) go CREATE TABLE c (c# int not null primary key,c_name varchar(8) not null) go CREATE TABLE cs(c# int not null,s# int not null,cj tinyint not null default(0), primary key (c#,s#),foreign key(s#) references s(s#),foreign key(c#) references c(c#)) go insert s values(1,'saa') insert c values(1,'caa') --这句是对的 insert cs values(1,1,86) --这句是错的,sql会报错,应为s表的s#列里没有2 insert cs vlaues(2,1,45) 定义主键来强制不允许空值的指定列中输入值的唯一性。如果在数据库中为表定义了主键,则可将该表与其它表相关,从而减少冗余数据。表只能有一个主键。 外键。 当创建或更改表时可通过定义 FOREIGN KEY 约束来创建外键。 例如,数据库 pubs 中的 titles 表与 publishers 表有链接,因为在书名和出版商之间存在逻辑联系。titles 表中的 pub_id 列与 publishers 表中的主键列相对应。titles 表中的 pub_id 列是到 publishers 表的外键。 FOREIGN KEY 约束并不仅仅只可以与另一表的 PRIMARY KEY 约束相链接,它还可以定义为引用另一表的 UNIQUE 约束。FOREIGN KEY 约束不允许空值,但是,如果任何组合 FOREIGN KEY 约束的列包含空值,则将跳过 FOREIGN KEY 约束的校验。 主键是本表的唯一标识,而外键是与另一个表相关联
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
针灸拔罐减肥半夜喝水会积水吗
公积金贷款需要提供配偶无工作证明吗
中远数码手机店(佳兆业店)地址在哪,我要去那
戴尔游戏本怎么选购
潘素的人物生平
谁可以告诉我家里大厅放什么植物好
抛出橄榄枝,下一句如何写好
儿童大牙会不会换?
男生到多少岁就不长高了
高级编审英文解释
谁控制市场存储芯片的价格
购房违约金一般是多少
全身镜对着厨房和卫生间,这样好吗?有没有什
从山东烟台到广东广州坐火车要多久
SQL视图查询跟实际表查询有什么区别莫?
推荐资讯
如何自己装饰照片墙
一个人上哪里旅游
谁知道pc镜片多少钱?
东方红双语幼儿园(邯郸永年县)地址好找么,我
请问这种是什么鱼呢?
Bellerose是个牌子吗?请帮忙解答一下 详细点
上海九院牙齿矫正多少钱?
灯具IP防水等级 (标准的全部IP**-IP**等级)
联想y470笔记本显卡切换独立显卡怎么弄?
一个月电表400度电正常吗?
11个月大的狗狗吃成犬狗粮还是幼犬狗粮?
北京至沈阳高速路多远?小车过路费多少钱?请
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?