zoukankan      html  css  js  c++  java
  • MySQL学习(四)——外键

    1、比方现在有两张表“分类表”和“商品表”,为了表明商品属于哪个分类,通常我们将在商品表上添加一列,用于存放分类cid的信息,此列称为:外键。

    此时分类表category称为主表,cid称为主键;商品表products称为从表,category_id称为外键。

    外键特点:1)从表外键的值是对主表主键的引用

         2)从表外键类型必须与主表主键一致。

    使用外键的目的:保证数据的完整性

    2、首先在命令提示符内创建一个数据库web09,并创建两张表category和product,语句如下:

    分别插入多条数据

    eg.insert into category(cid,cname) values('c001','家电');

    insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');

    显示如下:

    3、声明外键约束

    语法:alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);

    [外键名称]用于删除外键约束的,一般建议"_fk"结尾

    约束声明后,如果我想删除category表中cid=c003的数据,删除不了

    4、解除约束

    语法:alter table 从表 drop foreign key 外键名称

    继续删除category表中cid=c003的数据,可以删除

    注意:从表外键不能添加主表中不存在的记录

       主表不能删除从表中已经引用的记录。

    5、一对多建表原则:

    6、多对多建表原则:

  • 相关阅读:
    Red Hat Enterprise Linux Server 5.5新增功能简介
    DNS Flood Detector让DNS更安全
    iPad之Linux平台实践
    Fedora 10下应用网络模拟器NS心得
    深入了解Linux远程桌面
    Linux下基于LDAP统一用户认证的研究
    Linux架设Jsp环境
    Fedora 13 Alpha测试手记横空出世
    高層タワー [MISSION LEVEL: B]
    機械の総合病院 [MISSION LEVEL: C]
  • 原文地址:https://www.cnblogs.com/cxq1126/p/7489909.html
Copyright © 2011-2022 走看看