(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科

这篇具有很好参考价值的文章主要介绍了(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科,喵喵期末不挂科——数据库MySQL,数据库,mysql

希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

目录

​编辑

前言

数据约束和参照完整性

背景与要求

PRIMARY KEY约束

理解PRIMARY KEY约束

表的完整性约束

复合主键

小总结

修改表的主键

UNIQUE约束

创建UNIQUE约束

总结


前言

喵子回来了,冲冲冲!


数据约束和参照完整性

背景与要求

 在一个表中,通常需要某个字段或字段的组合唯一地标识一条记录,这就是主键约束。

  在一个表中,有时要求某些列值不能重复,但一个表只能有一个主键,这时可以设置UNIQUE进行约束。

  在关系数据库中,表与表之间数据是有关联的。例如,成绩表中的课程号要参照课程表的课程号,成绩表的学号要参照学生表中的学号。该怎样进行约束,使表与表之间的数据保证一致呢?

本任务要求学习者理解主键约束(PRIMARY KEY)、唯一性约束(UNIQUE外键参照完整性约束(FOREIGN KEY以及CHECK约束的含义。

  学习创建和修改约束的方法,掌握数据约束的实际应用。


PRIMARY KEY约束

理解PRIMARY KEY约束

  可指定一个字段,也可以指定二个及以上的字段作为复合主键,其值能唯一地标识表中的每一行,列不能取空值。

  主键约束能确保数据唯一,所以经常用来定义标志列。

  可以在创建表时创建主键,也可以对表中已有主键进行修改或者增加新的主键。

  设置主键通常有两种方式:表的完整性约束、列的完整性约束。


表的完整性约束

 举个例子

创建表course1,用表的完整性约束设置主键。  

mysql> CREATE TABLE IF NOT EXISTS course1

    (c_no char(4) NOT NULL,

    c_name char(10) DEFAULT NULL,

    t_no char(10) DEFAULT NULL,

  hours int(11) DEFAULT NULL,

    credit int(11) DEFAULT NULL,

    type varchar(10) DEFAULT NULL,

    PRIMARY KEY (c_no)

    )ENGINE=InnoDB DEFAULT  CHARSET=gb2312;

创建表course2,用列的完整性约束设置主键。

  mysql> CREATE TABLE IF NOT EXISTS course2

       (c_no char(4) NOT NULL  PRIMARY KEY,

   c_name char(10) DEFAULT NULL,

    d_no char(10) DEFAULT NULL,

    hours int(11) DEFAULT NULL,

    credit int(11) DEFAULT NULL,

  type varchar(10) DEFAULT NULL

    )ENGINE=InnoDB DEFAULT  CHARSET=gb2312;

复合主键

创建score1,用s_noc_no作为复合主键。

mysql> CREATE TABLE IF NOT EXISTS score1

    s_no char(8) NOT NULL,

    c_no char(4) NOT NULL,

  ccore float(5,1) DEFAULT NULL,

    PRIMARY KEY (s_no,C_no)

    )ENGINE=InnoDB DEFAULT CHARSET=gb2312

小总结

1)主键以是单一的字段,也以是多个字段的组合。

2)在score表中,一个学生一门课的成绩只能有一条记录,不能出现同一个学生同一门课多条记录,因此,必须设置s_noc_no为表score复合主键,以保证数据的唯一性。 另外,如果单独设置s_noc_no为主键,将出现一位学生(或一门课)只能录入一次成绩的情况。

3)当表中的主键为复合主键时,只能定义为表的完整性约束

4)作为表的完整性约束时,需要在语句最后加上一条PRIMARY KEYcol_name)语句,作为列的完整性约束时,只需在列定义的时候加上关键字PRIMARY KEY


修改表的主键

  修改表students的主键,删除原来主键,增加s_name为主键。

Mysql>ALTER TABLE students

  DROP PRIMARY KEY,

  ADD PRIMARY KEY (s_name );

注:如果原主键已被引用为外键,将出错。


UNIQUE约束

 理解UNIQUE约束(唯一性约束)

  UNIQUE约束(唯一性约束)又称替代键

  替代键是没有被选作主键的候选键

  替代键像主键一样,是表的一列或一组列,它们的值在任何时候都是唯一的。

  可以为主键之外的其他字段设置UNIQUE约束。 


创建UNIQUE约束

TEST数据库中,创建一个表employees, 只含employeeidnamesexeducation,用列的完整性约束的方式将Name设为主键,用表的完整性约束的方式将employeeid设为替换键。

mysql> create table employees

    (employeeid char(6) not null,

    name char(10) not null primary key,

  sex tinyint(1),

    education char(4),

    UNIQUE(employeeid));

或者,可以作为列的完整性约束直接在字段后面设置唯一性。    


总结

数据库记的东西蛮多的

记住就好了!


希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科,喵喵期末不挂科——数据库MySQL,数据库,mysql文章来源地址https://www.toymoban.com/news/detail-852335.html

到了这里,关于(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 我的256创作纪念日

      挺开心的,想到自己未曾写过一些非技术类的博客,恰巧今天刚好也是我的256创作纪念日,就乘着这个日子,写一点自己过去的收获、内心的想法和对未来的展望吧。   本人不才,只就读于一所民办本科之中,我挺不想说“高考失利”这几个字。在我看来,水平、心态

    2024年02月09日
    浏览(41)
  • 我的创作纪念日(划水...)

    提示:可以和大家分享最初成为创作者的初心 例如: 实战项目中的经验分享 日常学习过程中的记录 通过文章进行技术交流 … 提示:在创作的过程中都有哪些收获 例如: 获得了多少粉丝的关注 获得了多少正向的反馈,如赞、评论、阅读量等 认识和哪些志同道合的领域同行

    2023年04月25日
    浏览(37)
  • 我的创作纪念日——512

    没想到不知不觉在CSDN创作就 512 天了,想到一开始就仅仅想在CSDN记笔记,到现在成为一个小博主,认识到了很多志同道合的伙伴,中间创作我也曾经懒惰过,放弃过,但我一次又一次重新进行创作,虽然我是上了大学才开始了解程序员,成为程序员(可能现在还不合格),但

    2024年02月11日
    浏览(37)
  • 创作纪念日-我的第1024天

    不知不觉已经成为创作者的第1024天啦… … 刚开始接触博客的初衷就是为了记笔记📒、记总结📝,或许对于当时就等同于是为了找工作。 坚持学习并持续输出博客一年后,这时我发现再写博客,不在是为了找一份工作,已经变成一种习惯!一种成长型心态! 接着一年、两年

    2024年02月10日
    浏览(26)
  • 【人生历程】我的创作纪念日

    目录 与编程不得不说的爱恨情仇 在csdn的收获: 与csdn的日常 在平凡的日子偶然的成就感: 对未来的憧憬: 今天是2023.4.8号,早上的刚刚参加完蓝桥杯,下午看到csdn官方的活动,心血来潮写下以下内容,如有不适或者错误请见谅。 在2021我成功摆脱了高中生这个身份,我称为

    2023年04月09日
    浏览(28)
  • 我的创作纪念日(256天)

    我与csdn的结缘,之前在创作纪念日(128天)便已提到,今在此便不再多言 很惭愧,自六月底至八月中旬,因为忙于找工作,奔赴面试求职之际,写博客没有像之前那么勤, 但也创作了12篇博客,有幸获得1500位粉丝的关注 。其中仅有两篇博客进入热榜,最近一篇文章《Git:在

    2024年02月12日
    浏览(40)
  • 我的创作纪念日(730天)

    不知不觉来到CSDN已经730天了,这两年来我收获丰富,从原本的只是从CSDN获取知识,到现在的传播知识,我感觉受益良多,一年多的沉淀,让我在这三个月中绽放,粉丝也从原本的两位数到现在的四千+,学习中记笔记是我养成的习惯,自己总结的东西总觉得很适合自己记忆。

    2024年01月17日
    浏览(30)
  • 我的创作纪念日-哈市雪花

    2018年4月13写了第一篇博客,在此之前也在用CSDN,但更多的是查阅资料,学习技术。在这之前也写过技术文章,记得最开始是在知乎上发表的,终于那一天在微博上看到大佬转换笑脸动画表情的实现思路,一时兴起用WPF实现了下,然后把文章发表在了CSDN上。 文章总是有意义的

    2023年04月16日
    浏览(31)
  • 我的创作纪念日(128天)

    今天,我像往常一样打开CSDN 网站,随即弹出的两则官方私信: 我这才意识到,从去年的11月27日到现在,时光荏苒,已是128天之久。 下面我向各位看分享一下我在CSDN创作的经历和收获,以及我的一些个人感受。(ps:故事有点长严`( ﹏ )′) 我最早接触CSDN社区,起始于201

    2023年04月22日
    浏览(32)
  • 我的创作纪念日——创作历程,机缘,与成就

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 目录  写在前面  一.机缘 二.收获 三.日常 四.成就  五.憧憬与规划 六.分享 大家好~我是网络豆,不知不觉已经在CSDN创作有一年

    2024年02月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包