精华内容
下载资源
问答
  • 来源:Java联盟看到好多伙伴留言~想要了解MySQL的多查询~那么我们今天就来聊聊MySQL的多查询在开始之前先来补充一个知识点外键约束之前我们分享的约束关系是属于约束,外检约束则属于之间的约束关系~...

    来源:Java联盟

    看到好多伙伴留言~

    想要了解MySQL的多表查询~

    那么我们今天就来聊聊

    MySQL的多表查询

    在开始之前先来补充一个知识点

    外键约束

    之前我们分享的约束关系是属于单表约束,外检约束则属于多表之间的约束关系~

    表与表之间的关系

    在查询之前呢我们要知道,在数据库中一般会有很多数据表来存储信息,表与表之间会存在如下的关系:

    1)一对多的关系:

    例如:

    一个班级中有很多学生。一个部门有很多员工。

    建表的原则:

    在从表(多的一方)创建一个字段,该字段做为外键指向主表(一的一方)的主键。

    2)多对多的关系:

    例如:

    一个学生需要学很多课程,一门课程有很多学生学习。再比如人和角色。

    建表原则:

    额外创建一张表,作为中间表。其余两张表都是主表,中间表至少包含两个字段作为外键,分别指向两张主表的主键。

    3)一对一的关系:

    例如:

    我们常说的一个萝卜一个坑~

    建表原则:

    这个可以看做特殊的一对多的关系,建表原则同一对多的关系一样,也可以写在一张表中~

    添加外键约束

    首先创建几张表,写入数据~

    学生表

    d13660ba8cb03190b00e45f031bdec3c.png

    班级表

    26473dd531f7e099edb4ec1907da09c7.png

    首先是一对多的关系

    班级表与学生表(我们已经创建学生表的时候就添加了外键的字段class_id,若是你建表的时候忘记加了,可以利用我们之前学过的知识来添加字段哈~)

    添加外键约束

    语法:

    alter table 从表名 add 【constraint 外键名】 foreign key(从表外键的字段) references 主表名(主表主键);

    570c64a1e10b1a9e73ac251fd4edf66f.png

    如果你不记得外键的名称了可以使用

    show create table 表名;

    来查找外键名

    3a7f722355cdfad1dbd098b44e7e6e37.png

    删除外键约束

    语法:

    alter table 表名 drop foreign key 外键名;

    a8ba096bfe2dbab716b460bcbafed57c.png

    外键约束的作用

    1)从表不能添加,主表不存在的数据~

    ccc35bbd496d3c247324145594065051.png

    2)主表不能删除从表中引用的数据

    f37298282de2893e104b4f1fbcba25f6.png

    至于多对多的关系应该如何创建外键就交给小伙伴们自行实践了~

    下面进入今天的正题

    多表查询

    1)交叉查询(基本不会使用)

    select * from A,B;

    结果是两个表的乘积,里面会有一些我们完全不需要的数据。

    d9d28a5c8ae452edd181b2af60547bef.png

    2)内连接查询

    使用关键字 inner join,inner可以省略。

    内连接查询会把两张表中,存在关系的数据都查询显示出来,

    如我们在主表中添加一个班级为“四班”,但是不在从表中为四班添加学生的数据,那么在使用内连接查询的时候,就不会显示四班这条信息记录~

    隐式内连接查询

    f47eeca4c824e2a42ea86f6aab7af1e9.png

    显式内连接查询

    f0a03946733275b2e9b84e5016f2c12e.png

    3)外链接查询

    使用关键字 outer join,outer可以省略。

    左外连接查询

    c9fc08297e9ca279c69825c4c746dd65.png

    右外连接查询

    f85eab7f567d4a6dc3b7b2bb88eb7432.png

    左外连接查询会把左边的表中的所有数据显示出来,并在由表中补充null来组成一条完整的数据,右外连接查询反之~

    4)子查询

    一条select 语句的结果作为另一条select语句的一部分

    b91c562971ec2d5d4e9f5db7cf76ba65.png

    那么今天的内容就到这里了~

    伙伴们下次再见

    34868d5f882ac114e795ef5cf40360c0.png

    我是萌新娜娜

    立志做一个不翻车的老司机

    学习Java的路上请多多指教

    扩展阅读

    Java面试之数据库面试题

    一个小时学会MySQL数据库

    收藏!一图秒懂中国数据库的40年发展简史

    本文仅代表作者个人观点,不代表SEO研究协会网官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱cxb5918@163.com。更多相关资讯,请到SEO研究协会网www.seoxiehui.cn学习互联网营销技术请到巨推学院www.jutuiedu.com。

    展开全文
  • user_constraints是表约束的视图,描述约束类型(constraint_type)是什么,属于哪些(table_name),如果约束的类型为R(外键)话,那么r_constraint_name字段存放就是被引用主主键约束名。 user_cons_...

    user_constraints 和user_cons_columns表得作用及其联系
    desc 后发现
    user_constraints是表约束的视图,描述的是约束类型(constraint_type)是什么,属于哪些表(table_name),如果约束的类型为R(外键)的话,那么r_constraint_name字段存放的就是被引用主表中的主键约束名。
    user_cons_columns是表约束字段的视图,说明表中的和约束相关的列参与了哪些约束。这些约束有主键约束,外键约束,索引约束.
    两者可以通过(owner,constraint_name,table_name)关联

    select * from user_constraints order by TABLE_NAME
    

    Owner 约束的所有者
    Constraint_ Name 约束名
    CONSTRAINT_TY 约束类型
    Table_Name 与约束关联的表名
    在这里插入图片描述

    展开全文
  • ”看到好多伙伴留言~想要了解MySQL的多查询~那么我们今天就来聊聊MySQL的多查询在开始之前先来补充一个知识点外键约束之前我们分享的约束关系是属于约束,外检约束则属于之间的约束关系~之间的...

    原标题:MySQL数据库的多表查询以及外键约束

    “没错,就是他。”

    看到好多伙伴留言~

    想要了解MySQL的多表查询~

    那么我们今天就来聊聊

    MySQL的多表查询

    在开始之前先来补充一个知识点

    外键约束

    之前我们分享的约束关系是属于单表约束,外检约束则属于多表之间的约束关系~

    表与表之间的关系

    在查询之前呢我们要知道,在数据库中一般会有很多数据表来存储信息,表与表之间会存在如下的关系:

    1)一对多的关系:

    例如:

    一个班级中有很多学生。一个部门有很多员工。

    建表的原则:

    在从表(多的一方)创建一个字段,该字段做为外键指向主表(一的一方)的主键。

    2)多对多的关系:

    例如:

    一个学生需要学很多课程,一门课程有很多学生学习。再比如人和角色。

    建表原则:

    额外创建一张表,作为中间表。其余两张表都是主表,中间表至少包含两个字段作为外键,分别指向两张主表的主键。

    3)一对一的关系:

    例如:

    我们常说的一个萝卜一个坑~

    建表原则:

    这个可以看做特殊的一对多的关系,建表原则同一对多的关系一样,也可以写在一张表中~

    添加外键约束

    首先创建几张表,写入数据~

    学生表

    6821f2a5b26d054e1c85c38d555a3fde.png

    班级表

    9302f8e42400c1865f3ad1440200903f.png

    首先是一对多的关系

    班级表与学生表(我们已经创建学生表的时候就添加了外键的字段class_id,若是你建表的时候忘记加了,可以利用我们之前学过的知识来添加字段哈~)

    添加外键约束

    语法:

    alter table 从表名 add 【constraint 外键名】 foreign key(从表外键的字段) references 主表名(主表主键);

    d52051f881bb6cbc17bd4b3d195f7553.png

    如果你不记得外键的名称了可以使用

    show create table 表名;

    来查找外键名

    0435b304c99dc354912c9c25d46e1286.png

    删除外键约束

    语法:

    alter table 表名 drop foreign key 外键名;

    85766ea914bfe5c375ef4109cd0345b7.png

    外键约束的作用

    1)从表不能添加,主表不存在的数据~

    fb88b312090e00ab77d0ce09106248d3.png

    2)主表不能删除从表中引用的数据

    7ccdd9b1fddd1dbe743d23a42f2e2380.png

    至于多对多的关系应该如何创建外键就交给小伙伴们自行实践了~

    下面进入今天的正题

    多表查询

    1)交叉查询(基本不会使用)

    select * from A,B;

    结果是两个表的乘积,里面会有一些我们完全不需要的数据。

    d58de7f1bef48ba9d91bc175cbb3b22b.png

    2)内连接查询

    使用关键字 inner join,inner可以省略。

    内连接查询会把两张表中,存在关系的数据都查询显示出来,

    如我们在主表中添加一个班级为“四班”,但是不在从表中为四班添加学生的数据,那么在使用内连接查询的时候,就不会显示四班这条信息记录~

    隐式内连接查询

    9d48e36c384af1217f6194117ae52c10.png

    显式内连接查询

    ad6fbcfe59679cb7be588944e10358e6.png

    3)外链接查询

    使用关键字 outer join,outer可以省略。

    左外连接查询

    59b11629775b3f2f14f9a68ff6e18499.png

    右外连接查询

    543b2a3f719e8521a06d9307679d358d.png

    左外连接查询会把左边的表中的所有数据显示出来,并在由表中补充null来组成一条完整的数据,右外连接查询反之~

    4)子查询

    一条select 语句的结果作为另一条select语句的一部分

    18090f949c2106ae91598b6aba665c13.png

    那么今天的内容就到这里了~

    来源:Java联盟

    https://mp.weixin.qq.com/s/QmbWy1OO2UDrRDnz7G9mZQ

    程序员共读整理发布,转载请联系作者获得授权

    责任编辑:

    展开全文
  • 目录 文档用途 ...禁用或启用属于表的所有触发器。(如果有任何触发器是内部生成的约束触发器,例如用于实现外键约束或可延迟的唯一性和排他约束的触发器则需要超级用户特权。) 更多详细信息请...

    目录

    文档用途

    详细信息

    文档用途

    本文档用于演示如何禁用表的触发器以及外键约束。

    详细信息

    ALTER TABLE name DISABLE/ENABLE  TRIGGER [ trigger_name | ALL | USER ]

     

    trigger_name

    要禁用或启用的单个触发器的名称。

     

    ALL

    禁用或启用属于该表的所有触发器。(如果有任何触发器是内部生成的约束触发器,例如用于实现外键约束或可延迟的唯一性和排他约束的触发器则需要超级用户特权。)

     

    更多详细信息请登录【瀚高技术支持平台】查看https://support.highgo.com/#/index/docContent/efa4df6c05e667c2 

    展开全文
  • 之前我们分享的约束关系是属于约束,外检约束则属于之间的约束关系~ 之间的关系 在查询之前呢我们要知道,在数据库中一般会有很多数据来存储信息,之间会存在如下的关系: 1)一对多的关系...
  • 修改表约束实例

    2020-05-14 10:01:19
    update 属于 DML语句,修改数据 alter 属于 DDL 语句, 修改对象结构。 准备工作 create table t_user( id number constraint user id pk primary key, name varchar2(100), salary number ); 添加新...
  • SQL 中检查约束属于完整性约束的一种,可以用于约束表某个字段或者一些字段必须满足某个条件。例如用户名必须大写、余额不能小于零等。我们常见数据库都实现了检查约束,例如 Oracle、SQL Server、...
  • Mysql-表的完整性约束

    2019-03-04 20:32:00
    一、概述 为了约束用户对数据增,删,改,以确保数据正确,有效,合规。 有以下几种约束 ...foreign key 外键 指定该行记录从属于表的某条记录,主要用于参照完整性 二、not null nul...
  • SQL中外键约束及多查询 外键约束 foreign key 实体:数据库中的表,就可以看作一个实体,实体和实体之间有一些关系 比如说做一个网上商城项目,里面有用户,商品,订单 一对多关系:用户和订单 用户和...
  • 表与表之间的关系:一、多选一:1、把所有数据都存放于一张表的弊端1、表的组织结构复杂不清晰2、浪费空间3、扩展性极差2、寻找表与表之间的关系的套路举例:emp表 dep表步骤一:part1:1、先站在左表emp的角度2、去...
  • 完整性约束用于增强数据完整性,Oracle提供了5种完整性约束:CheckNOT NULLUniquePrimaryForeign key完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。用户...
  • 数据库字段添加约束

    千次阅读 2018-07-13 15:54:15
    菜类别:表名:foodType字段:id --主键字段:typeName --类别名称菜品种:表名:food字段:id --主键字段:foodName --菜名字段:foodType_id --所属菜类别举例子:菜类别有川菜,湘菜,东北菜菜名有 :鱼...
  • 原标题:MySQL数据库的多查询以及外键约束来源:Java联盟https://mp.weixin.qq.com/s/QmbWy1OO2UDrRDnz7G9mZQ程序员共读整理发布,转载请联系作者获得授权看到好多伙伴留言~...外检约束则属于之间的约束关系~...
  • 外键约束关系

    2021-03-10 16:54:59
    有两张“分类”和“商品”,为了表明商品属于哪个分类,通常情况下将在商品上添加一列,用于存放分类cid信息,此列称为外键 分类category称为主,id称为主键 商品product称为从,cat
  • 展开全部常用五类约束:not null:非空约束,指定某列不为空unique: 唯一约束,指定某列和几列组合数据不能重...外键,指定该列记录属于一条记录,参照另一条数据check:检查,指定...
  • 简单说一下使用外键好处1、完整性约束比如:用户中有字段 用户编号(id) , 名称(username)设备中有字段 设备编号(id) , 设备名称(devicename) 设备属于的用户编号(user_id)把设备用户编号设置成外键,...
  • /*进阶17 变量 系统变量: 全局变量: ...#说明: 变量由系统提供,不是用户定义,属于服务器层面 #使用语法 #1/查看所有系统变量, show global /[session] variables; 2.查看满足条件...
  • MySQL 表数据库是表的容器表必须属于某一个数据库可以通过.语法指明数据表所属的数据库;进行表操作时, 都会指明当前默认数据库use db_name 只会设定默认数据库, 不会影响操作其他数据库创建表create table table_...
  • 一个文件中多个备注型(MEMO)字段内容存放在(b)A.这个文件中B.一个备注文件中C.多个备注文件中D.一个文本文件中2.关闭多区的表文件,并释放所有内存变量,命令为(b)A.CLEARALL或CLOSEB.CLEARALL或CLOSEALLC....
  • 【填空题】设计座椅时,保证()...【单选题】数据每一个横行称为一个()。【单选题】下列( )是SQL中用于更新记录命令动词。【单选题】下面选项中,不能表示日期或时间数据类型是( )。【多选题】人体组织系...
  • on primary -- 默认就属于primary文件组,可省略 ( /*--数据文件具体描述--*/ name='stuDB_data', -- 主数据文件逻辑名称 filename='D:\stuDB_data.mdf', -- 主数据文件物理名称 siz
  • 什么叫约束条件,约束条件就是控制我们往表字段里插入数据时的一些条件,那我怎么查看一个表的约束条件呢,我们可以通过查看表结构来看一个表的约束条件查看一个没有设置约束条件的表结构mysql> desc tab1;前2列...
  • 两个建立一对多关系时候,"一"那一端是父,"多"那一端是子. 比如 学生和班级 一个学生属于哪个班级 学生是子 班级是主 一个员工属于哪个部门 员工是子 部门是主 2怎么建立主外建...
  • 注:此下字段表示列,元组表示行创建一个部门信息 departments(可自拟)//分析: 部门id 部门名称 所在城市(可自拟)// deptid deptname locationcreate table departments( deptid int, deptname varchar(20), ...
  • oracleunique约束

    千次阅读 2015-03-18 13:41:18
    可以为单独列添加一个unique约束,也可以为多个列添加一个unique约束属于表约束)。如果为多个列添加一个unique约束,只需要保证这多个列值不会全部相同即可。  在创建表时,为列添加unique约束,形式如下...
  • 一个部门可以有多个员工,一个员工只能属于一个部门,因此希望在两个之间创建关系,我们可以在员工后面加上员工所属部门id 如果此时删除部门004号部门,员工中004号部门信息会依然存在,这就会...
  • SQL 中检查约束属于完整性约束的一种,可以用于约束表某个字段或者一些字段必须满足某个条件。例如用户名必须大写、余额不能小于零等。我们常见数据库都实现了检查约束,例如 Oracle、SQL Server、...
  • 注:此下字段表示列,元组表示行创建一个部门信息 departments(可自拟)//分析: 部门id 部门名称 所在城市(可自拟)// deptid deptname locationcreate table departments( deptid int, deptname varchar(20), ...
  • 1. 查找数据表被哪些存储过程调用过 select *from user_dependencies r where r.referenced_name = '表名'; 2. 查找存储过程被哪些其他存储过程调用过 ...3.1 查询表的的约束(例如主键约束) sele...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 471
精华内容 188
关键字:

属于表的约束