• 055_数据库的外键约束


    #创建学生表与班级表,其中学生表依赖与班级表
    CREATE TABLE tbl_class(
        id int(11) PRIMARY KEY  AUTO_INCREMENT,
        name char(20),
        number int(11)
    );
    
    CREATE TABLE tbl_student(
        id int(11) PRIMARY KEY AUTO_INCREMENT,
        name char(50),
        age char(11),
        class_id int(11),
        CONSTRAINT haha FOREIGN KEY(class_id) REFERENCES tbl_class(id)
        ON DELETE cascade ON UPDATE cascade    
    );
    
    constraint ***:这个是给外键约束起的名字,通常根据这个名字来删除外键约束。外键约束主要就是约束的被依赖表,
    对于依赖表没有任何影响。
    外键约束有四个属性值=
        cascade:级联删除与更新,当删除被依赖表时,会将依赖表中的数据全部删除。
        set null:当删除被依赖表的时候,依赖表中的数据设置为null
        restrict:依赖表不删完,无法删除被依赖表。也是默认的值。
        no action再mysql中和restrict相同。
        set default:innoDB和NDB无法使用改参数。
    
    #删除外键约束
    ALTER TABLE tbl_student DROP FOREIGN KEY haha;
    delete from tbl_class where id = 2;
    
    #添加外键约束
    ALTER TABLE tbl_student ADD CONSTRAINT haha FOREIGN KEY(class_id) REFERENCES tbl_class(id)
    ON DELETE cascade ON UPDATE cascade
    
    #删除两个表
    drop table tbl_student;
    drop table tbl_class;
    
    
    #查看一个表的索引,可以看到主键索引,也可以看到外键索引,但是restrict约束属性值查看不出来。
    show  index  from tbl_student;
    
    #查看表的创建信息,这个可以查看到外键的约束属性值,但是只能再doc窗口中。
    show create table tbl_student;
  • 相关阅读:
    《软件测试经验与教训》—读书笔记
    【转】性能测试工程师的素质
    【转】如何成为优秀的性能测试工程师
    性能测试学习之路
    FTP 、TCP/IP、HTTP、Cookies、Session
    Loadrunner工具介绍
    tesseract-ocr图像识别技术(一)
    MongoDB 自动分片 auto sharding
    mongodb 3.0下载安装、配置及mongodb最新特性、基本命令教程详细介绍
    java使用memcached2--集群部署
  • 原文地址:https://www.cnblogs.com/pogusanqian/p/12526767.html
Copyright © 2020-2023  润新知