外键:主要是关联两个表的

举个栗子:在建表中创建外键

-- 添加外键例子

CREATE TABLE teacher(
id TINYINT PRIMARY KEY auto_increment,
name VARCHAR(25),
age int,
is_marryed boolean
); CREATE TABLE student(
id TINYINT PRIMARY KEY auto_increment,
name VARCHAR(25),
charger_id TINYINT,
FOREIGN KEY (charger_id) REFERENCES teacher(id)
); -- 建表示添加外键 外键一定要跟关联的数据类型保持一致 insert into student2(name,charger_id) values("小花",1),
("憨憨",2),
("玫玫",3),
("阿妹",4),
("小于",5),
("奶酪",3);

添加外键和删除外键:

--添加外键和删除外键

ALTER TABLE student2 ADD CONSTRAINT abc
FOREIGN KEY (charger_id)
REFERENCES teacher(id) ALTER TABLE 表名student ADD CONSTRAINTS abc外键名
FOREIGN KEY(charger_id)
REFERENCES teacher(id) ALTER TABLE student DROP FOREIGN KEY abc;

外键的其他:

FOREIGN KEY (charger_id) REFERENCES teacher(id)
ON DELETE CASCADE;-- 这样如果删除 1号 冰冰 的话 那么跟着1号的学生也都被删除了 FOREIGN KEY (charger_id) REFERENCES teacher(id)
ON DELETE SET NULL; -- 这样如果删除 1号 冰冰 的话 那么跟着1号的学生对应主键都变为NUll值

Python学习第二十四课——Mysql 外键约束的更多相关文章

  1. Python学习第二十五课——Mysql (多表查询)

    多表查询: 内连接查询: 首先:创建两个表一个为tableA,一个为tableB,并且插入数据(代码省略) 同时查询两个表的记录: select * from tableA,tableB; 根据tab ...

  2. Python学习第二十二课——Mysql 表记录的一些基本操作 (增删改)

    记录基本操作: 增:(insert into) 基本语法: insert into 表名(字段) values(对应字段的值): 例子1: insert into employee(id,name,a ...

  3. Python学习第二十八课——Django(templates)

    templates 讲后台得到的数据渲染到页面上:话不多说,先看具体代码. urls: from django.conf.urls import url from django.contrib imp ...

  4. Python学习第二十八课——Django(urls)

    Django框架中的urls配置: 首先通过pycharm创建一个Django项目: 例如要写blog的功能:则在digango_lesson中的urls代码如下: """ ...

  5. Python学习第二十六课——PyMySql(python 链接数据库)

    Python 链接数据库: 需要先安装pymysql 包 可以设置中安装,也可以pip install pymysql 安装 加载驱动: import pymysql # 需要先安装pymysql 包 ...

  6. Python学习第十四课——面向对象基本思想part1

    面向对象的基本思想 # 写法1 person1 = { 'name': 'hanhan', ', 'sex': '男' } def xue_xi(person): print('%s在学习' % pe ...

  7. 风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击

    风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击 XSS钓鱼攻击 HTTP Basic Authentication认证 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候 ...

  8. NeHe OpenGL教程 第二十四课:扩展

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. 风炫安全web安全学习第二十八节课 CSRF攻击原理

    风炫安全web安全学习第二十八节课 CSRF攻击原理 CSRF 简介 跨站请求伪造 (Cross-Site Request Forgery, CSRF),也被称为 One Click Attack 或 ...

随机推荐

  1. 剑指offer 面试题36.二叉搜索树与双向链表

    中序递归,一个pre节点记录前一个节点 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; Tre ...

  2. git merge 将多个commit合并为一条之--squash 选项

    转自: https://blog.csdn.net/themagickeyjianan/article/details/80333645 改进版本:合并多个提交为一条(git merge --squa ...

  3. JS-对象常用方法整理

    查看对象的方法,继续控制台输出,如图: hasOwnProperty():返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键). let object1 = new Obje ...

  4. 第八届蓝桥杯C++B组 日期问题

    标题:日期问题 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的 ...

  5. Linux netstat命令详解(检验本机各端口的网络连接情况)

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  6. python中字符串内置方法

    字符串类型 作用:定义姓名.性别等 定义方式: s='lzs' #\n换行 \t缩进4个空格 \r回退上一个打印结果,覆盖上一个打印结果 加上一个\让后面的\变得无意义 内置方法: (优先掌握) 1. ...

  7. 【音乐欣赏】《Wrong》 - Far Out / Emilia Ali

    曲名:Wrong 作者:Far Out / Emilia Ali [00:16.03]Ride body on mine [00:18.07]Griping your waist as I was o ...

  8. Educational Codeforces Round 81 (Rated for Div. 2)E(线段树)

    预处理把左集划分为大小为1~i-1时,把全部元素都移动到右集的代价,记作sum[i]. 然后枚举终态时左集的大小,更新把元素i 留在/移动到 左集的代价. 树状数组/线段树处理区间修改/区间查询 #d ...

  9. mysql 查询结果保存为表

    mysql> create table stunow select distinct 学号,姓名,密码 from stu12to15 ;

  10. cent os 7.3修改mac地址方法

    一.修改MAC地址方法   linux环境下:   需要用   #ifconfig eth0 down   先把网卡禁用   再用ifconfig eth0 hw ether 1234567890ab ...