IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mysql进阶 -> 正文阅读

[大数据]Mysql进阶

多表之间的关系


  • 外键约束_
    - 保证引用完整性. 用来维护多表间关系

语法:
alter table 表名1 add constraint 外键名 foreign key(外键字段名) references 表名2(主键字段名)


	-- 把tb做为外键表,tp做为主键表,进行引用 (外键字段:tp_id, 主键字段:t_id, 外键表名:tp_tb)
	alter table tb add constraint tp_tb foreign key(tp_id) references tp(t_id)

	-- 在表中添加外键约束
	create table (
	 类型 [约束],
	 类型 [约束],
	constraint tp_tb foreign key(tp_id) references tp(t_id)
	...	
	);
	

删除外键约束_

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


	-- 删除外键约束
	alter table tb drop foreign key tp_tb;

外键级联_

  • 在修改和删除主表的主键时,同时更新或删除副表的外键值,称为级联操作

语法:
on update cascade – 级联更新,主表主键发生更新时,外键也会更新
on delete cascade – 级联删除,主键主键发生删除时,外键也会删除


	-- 在添加外键约束时添加外键级联
	alter table tb add constraint tp_tb foreign key(tp_id) references tp(t_id) on update cascade on delete cascade

多表关系_

一对多

	-- 一对多
		create table a(
	    id int primary key auto_increment,
	    name varchar(40)
		);
	
	create table b(
	     id int primary key auto_increment,
	     name varchar(40),
	     b_id int, -- 外键
	     constraint a_id foreign key (b_id) references a(id) -- 在表中添加外键约束 (b_id 引用 a中的id)
		);

多对多

	-- 多对多
		create table a(
		    id int primary key auto_increment,
		    name varchar(40)
			);
		
		create table b(
		     id int primary key auto_increment,
		     name varchar(40),
			);
			
		create table a_b_tab(
			aid int,
			bid int,
			foreign key (aid) references a(id),
			foreign key (bid) references b(id)
		);

一对一


	create table a(
		    id int primary key auto_increment,
		    name varchar(40)
			);
		
		create table b(
		     id int primary key auto_increment,
		     name varchar(40),
		     bid int unique, -- 外键约束唯一
		     constraint a_id foreign key (bid) references a(id)
			);

交叉查询_
语法:
select * from 表1,表2

内连接查询_
语法:
隐式内连接: select * from A,B where A_主键 = B_外键 [and 其他条件]
显示内连接: select * from A [inner] join B on A.主键 = B.外键 [where 其他条件]

外连接查询_

  • 左外连接查询(左边的数据全部显示出来. 再通过连接条件匹配出右边表的数据, 如果满足连接条件, 展示右边表的数据; 如果不满足,右边的数据通过null代替 可以理解为:在内连接的基础上保证左边表的数据全部显示

语法:
左外连接: select * from A left join B on A.主键 = B.外键 (保证左边的全部显示)
右外连接: select * from A right join B on A.主键 = B.外键 (保证右边的全部显示)

子查询_

  • 一个查询语句的结果作为另一个查询语句的条件就叫作子查询
  • 有查询的嵌套,内部的查询称为子查询
  • 子查询要使用括号

子查询结果的三种情况:

  1. 子查询的结果是一个值的时候 :select 表 from 表 where 列 > < = (子查询)
  2. 子查询的结果是单列多行的时候 :select 表 from 表 where 列 In (子查询)
  3. 子查询的结果是多列多行的时候 :select 表 from (子查询) 别名 where …

事务

  • 数据库的事务(Transaction)是指逻辑上的一组操作,组成这组操作的单元要么全部成功,要么全部失败
    - 事务是一个不可分割的工作逻辑单元

手动管理事务_


	-- 开启事务
	start transaction;
	或者 begin;
	-- 提交事务
	commit;
	-- 回滚事务

事务的四大特征_

  • 原子性(Atomicity):事务是不可分割的最小操作单位,要么同时成功,要么同时失败
  • 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态
  • 隔离性(Isolation):多个事务之间,操作的可见性
  • 待久性(Durablility):事务一但提交或回滚,它对数据库中的数据的改变就是永久的
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:15:00  更:2022-04-06 23:18:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:40:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码