主键和外键举例_mysql 基础篇之主键和外键
前言
前面几篇 blog,主要简单介绍了在 MySQL 数据库中如何查看某张表,以及对表做一些增删改查的操作,本篇 blog 主要介绍一张表中如何设置唯一标识,以及两张表之间如何关联,即我们日常听说的主键和外键
主键
含义:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
举例说明:
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
创建两张表,并插入数据
1 员工表emp(student)
字段如下:
员工号(sid)
姓名(sname)
年龄(sage)
工资(sal)
部门号(deptno)
2 部门表(department)
1 部门号(deptno)
2 部门地址(address)
3 部门电话(detel)
可能遇到的问题
在给部门表插入数据的时候,address 字段插入的是中文,但最后显示为?
解决方法:在创建部门表的时候指定编码
create table department
(deptno int,address varchar(100),detel char(20)
)DEFAULT CHARSET=utf8;
添加主键约束
alter table emp
add constraint pk_emp
primary key(sid);
alter table department
add constraint pk_department
primary key(deptno);
查看主键
语句:desc 表名;
外键
含义:外键用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性
举例说明
员工表emp(员工号,姓名,性别,薪水,部门号) (主键员工号,外键部门号)
部门表department(部门号,部门地址,部门电话) (主键部门号)
添加外键约束
alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
添加外键约束实例
小插曲:笔者昨日搞好久都无法创建外键,当时也没百度,今天才发现原来是自己的外表 department 没有插入数据。。。。
alter table emp add constraint FK_ID foreign key(deptno) REFERENCES department(deptno);
查看外键
输入命令:show create table 表名;
删除主键
命令:alter table emp drop primary key;
删除外键
命令:alter table emp drop foreign key deptno;
注意:删除外键 deptno 后,才能修改主表 emp 的数据
以上,over
原创申明:以上内容都是笔者个人经验,仅供参考,如需转载,请注明出处
主键和外键举例_mysql 基础篇之主键和外键相关推荐
- mysql经典总结文章_MySQL基础篇(01):经典实用查询案例,总结整理
MySQL基础篇(01):经典实用查询案例,总结整理 发布时间:2020-02-26 22:25:21 来源:51CTO 阅读:244 作者:知了一笑 本文源码:GitHub·点这里 || GitEE ...
- MySQL中定义fk语句_MySQL基础篇/第3篇:MySQL基本操作语句.md · qwqoo/MySQL-Review - Gitee.com...
### 第3篇:MySQL基本操作语句 - MySQL基础操作 #### 排序检索数据 - 之前的数据没有进行排序,其是按照默认在数据表中的数据返回的 - SELECT语句的ORDER BY 子句进行 ...
- ci mysql操作_MySQL基础篇/第3篇:MySQL基本操作语句.md · icanci/MySQL-Review - Gitee.com...
### 第3篇:MySQL基本操作语句 - MySQL基础操作 #### 排序检索数据 - 之前的数据没有进行排序,其是按照默认在数据表中的数据返回的 - SELECT语句的ORDER BY 子句进行 ...
- mysql5.5.54语法_mysql 基础篇5(mysql语法---数据)
-- 2.7 条件查询(where) -- 2.7.1 逻辑条件:and(与) or(或) -- 需求: 查询id为2,且姓名为李四的学生 SELECT * FROM student WHER ...
- sap 标准委外和工序委外_SAP那些事-实战篇-74-公司间委外的几种方式探讨
我们在<SAP那些事-实战篇-22-关于公司间业务的总结>这一篇中对公司间的转包业务曾经进行过描述,不过这一篇中主要谈到的是SAP中标准的方案,而且是从一方(委托方)的角度来谈,这一篇中我 ...
- PythonOpenCV基础篇2线段
PythonOpenCV基础篇 第6章 绘制图形和文字 OpenCV提供了许多绘制图形的方法,包括绘制线段的line()方法.绘制矩形的rectangle()方法.绘制圆形的circle()方法.绘制 ...
- mysql 给几个主键值 批量校验是否存在_MySQL基础知识整理
MySQL基础架构 MySQL基础架构 简单来说MySQL主要分为Server层和存储引擎层.Server层主要包括连接器.查询缓存.分析器.优化器和执行器等,所有跨存储引擎的功能都在这一层实现,比如 ...
- MySql基础篇---003 SQL之DDL、DML、DCL使用篇:创建和管理表 ,数据处理之增删改,MySQL数据类型精讲 ,约束:联合主键
第10章_创建和管理表 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步.只有正确地 ...
- mysql中外键的作用是什么_mysql外键基本功能与用法详解
本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...
- mysql设置主键约束为降序_MySQL约束的概述 - osc_tko37abm的个人空间 - OSCHINA - 中文开源技术交流社区...
MySQL约束 今日学习内容 1.DQL:查询语句 1.排序查询 2.聚合函数 3.分组查询 4.分页查询 2.约束 3.多表关系 4.范式 5.数据库备份和还原 DQL查询语句 排序 通过ORDER ...
最新文章
- Python字符编码详解
- 关于ubuntu系统无线网络网速慢的解决方法
- 基于CSS3飘带状3D菜单 菜单带小图标
- 某大型国企技术平台建设
- JavaScript 中的原型(总则)
- 命令创建mysql数据库_怎么在命令行创建一个mysql数据库
- java this() super()_java中的this和super
- 删除oracle表里的重复记录
- DDL 创建与查询数据库
- c++读取文件夹下特定文件
- TensorFlow2.0:索引和切片(2)
- python入门——P43魔法方法:算数运算2
- PTA程序设计基础题目集(1)
- videojs-dynamic-watermark: video.js 视频添加文字水印
- my top visited webs
- 计算机软件 如何评正高职称,正高职称评审条件
- 定制MACD背离副图
- halcon第六讲:基于颜色空间的颜色检测
- 华为防火墙笔记-报文处理流程
- 国产单机《我的武林江湖》v1.1.159