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面试必会必知

根据B站韩顺平老师做的笔记

表复制

自我复制数据(蠕虫复制)
有时对某个sql 语句进行效率测试 我们需要海量数据是 可以使用此法为表创建海量数据
在这里插入图片描述

演示如何进行自我复制
(1)先把emp表的记录复制到my_tab01

在这里插入图片描述
(2)自我复制

在这里插入图片描述

表like复制

用来创建一个类似的数据库表
在这里插入图片描述
此时生成完只是表结构相似 但是里面的内容是没有的

在这里插入图片描述
所以将emp里面的内容插入到 my_tab02 时

在这里插入图片描述
查看是否复制成功
在这里插入图片描述

考虑去重

首先创建一个表 my_tmp 该表的结构和mytab02一样
在这里插入图片描述
把my_tmp的记录 通过distinct 关键字 把记录复制到my_tmp

在这里插入图片描述
清除掉my_tab02 记录
在这里插入图片描述
把my_tmp 表的记录复制到my_tab02

drop 掉临时表 my_tmp
在这里插入图片描述

合并查询

在实际应用中 为了合并多个select 语句 可以使用集合操作符号 union,union all, union.sql

(1)union all
该操作符 用于取得两个结果集的并集 当使用该操作符的时候不会取消重复行

(2)union
该赋值操作和 union相似 但是会自动去掉 结果集中重复的行

mysql外连接

利用where子句对两张表或者多张表进行 笛卡尔积筛选 根据关联条件 显示所有的匹配的结果 匹配不上不显示

使用多表查询sql 看效果
在这里插入图片描述

外连接
1、左外连接 如果左侧的表完全显示我们的就说是左外连接
2、右外连接 如果右侧的表完全是显示我们的我们就说是右外连接

左外连接

前期准备
(1)创建stu

在这里插入图片描述
(2)插入数据
在这里插入图片描述
在这里插入图片描述

创建一个exam表
在这里插入图片描述
插入数据
在这里插入图片描述
在这里插入图片描述

使用左连接 显示所有人的成绩如果 没有成绩 也要显示该人的姓名和id号成绩显示为空

在这里插入图片描述

右外连接

使用右连接 显示所有人的成绩如果 没有成绩 也要显示该人的姓名和id号成绩显示为空

在这里插入图片描述

eg案例

列出部门名称和这些部门的员工信息(名字和工作 )
同时列出哪些没有员工的部门名
使用左外连接实现

在这里插入图片描述

primary key主键 基本使用

1、primary key 不可以重复而且不能为null
2、一张表最多只能有一个主键 但可以是复合主键
3、主键的指定方式有两种
3.1 直接在字段名后指定 字段名 primary key
3.2 在表定义最后写 primary key(列名)
4、使用desc 表名 可以看到primary key的情况

在这里插入图片描述

主键列的值不可以重复

在这里插入图片描述

一张表最多只能有一个主键 但可以是复合主键

不可以有两个 primary key 来进行指定
在这里插入图片描述
复合主键
在这里插入图片描述
显示结果为
在这里插入图片描述
如果 符合主键的两个索引字段的内容相等就会 出现插入不成
在这里插入图片描述

单个主键的设置方法一

在这里插入图片描述
单个主键的设置方法二

在这里插入图片描述

mysql 约束

约束用于确保数据库的数据满足特定的商业规则
在mysql中约束包括
not null 不为空
unique
primary key
foreign key
check 五种

unique

表示该列的内容是不可以重复的
创建一个表其中 id 不可以重复
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

unique 细节

如果没有指定not null 则unique 字段可以有多个null
在这里插入图片描述
如果一个列(字段) 是unique not null 使用效果类似primary key

一张表可以有多个 unique 字段
在这里插入图片描述
在这里插入图片描述

foreign key 外键

用于定义主表和从表之间的关系 外键约束要定义在从表上主表则必须具有主键约束
或者unique 约束
当定义外键约束后 外键列数据必须在主键列存在或是为null
在这里插入图片描述
在这里插入图片描述

mysql 约束:
1、外键指向的表的字段 要求是 primary key 或者是 unique
2、 表的类型是innodb 这样表才支持外键
3、外键的字段的类型要和主键字段的类型一致(长度可以不同)
4、外键字段的值 必须在主键字段出现过 或者为null
5、一旦建立主外键关系 数据不能随意删除

MySQL约束

用户强制行数据必须满足的条件 假定在sal 列上定义了check 约束 并要求sal列值在1000~2000之间
如果不在1000~2000之间就会提示出错
oracle 和sql server 均支持check 但是mysql5.7目前还不知道check 只做语法校验 但不会生效
mysql 中现实check 的功能 一般是在程序控制 或者通过触发器完成

在这里插入图片描述

mysql约束练习

在这里插入图片描述

自增长

自增长基本介绍
1、一般来说自增长是和primary key 配合使用
2、自增长也是可以单独使用 一般需要配合一个unique
3、增长修饰的字段为整数型
4、自增长默认从1开始 也可以通过alter table 表名 auto_increatment = xxx
5、如果添加数据的时候 自增长字段指定的有值 则以指定的值为准 如果指定了自增长 一般来说
就按照自增长的规则来添加数据

在这里插入图片描述

MySQL索引

提高数据库性能 索引是最物美价廉的东西 不用加内存 不用该程序 不用调用sql 查询结果 就可以提高百倍千倍

1、主键索引
2、唯一索引 unique
3、普通索引
4、全文索引

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:36:07  更:2021-10-25 12:37:16 
 
开发: 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 2:33:38-

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