认识sql以及MySQL的安装|青训营笔记

110 阅读2分钟

这是我参加[第四届青训营]笔记创作活动的第1天

一、认识sql以及mysql的安装

什么是数据库呢? 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。主要分为关系型数据库和非关系型数据(NoSQL)库两个大类。关系型数据库大多数都遵循SQL(结构化查询语言,Structured Query Language)标准。 常见的关系型数据库有mysql。

mysql安装流程

1、下载官网

downloads image.png 点击community(gpl)downloads

image.png

点击如图位置

image.png

**选择第一个**

image.png

然后就下载成功,安装的时候一直点击next和finish就可以,可能还需要自己创建密码什么的,不要紧。值得注意的一个点就是mysql默认装在你的c盘,如果你的c盘空间不够的话建议先清理一下c盘之后再安装。

成功的页面

image.png

选择local instance mysql80,然后就全部完成了。

二、mysql的一些基础语法

use sql_store;
-- 不同语句之间要用分号
-- 不区分大小写
-- 选中一个数据库使用use

select 
last_name,
points*10 as 'discount_factor'
-- *代表所有列    
-- as重新命名
-- select distinct 去掉重复项
from customers
-- 从中选择一个表
where customer_id=1
-- 选择id=1的顾客

order by first_name排序

USE sql_store;
SELECT *
FROM  order_items
WHERE  order_id = 6 AND unit_price*quantity>30
-- != 、<>都是不等于
-- and的运算顺序高于or
-- where not表示否定逻辑
-- state in ('va','na')更加便捷
-- between and

-- 模糊查找 where last_name LIKE 'b___y'
-- % any number of characters
-- _ single character

-- 或者使用正则表达式来模糊查找REGEXP
-- ^ beginning
-- $ end
-- | logical or
-- [abcd]e   ae be  [a-f]

三、sql查询优化器

image.png

sql优化体系

1、大数据体系和sql

1.1大数据体系 one sql rules big data all

1.2sql的处理流程

parser->Analyzer->Optimizer->Executor analyzer and logical plan sql是一种声明式语言,用户只描述做什么。所以需要进行查询优化

2、常见的查询优化器

2.1分类

2.1.1 Top-down Optimizer从上往下 Bottom-up Optimizer从下往上

2.1.2 根据规则优化RBO 关系代数 运算符、等价变换(结合律、交换律、传递性) 优化规则 列裁剪、谓词下推、传递闭包、Runtime Filter

基于代价优化CBO 使用一个模型估算执行计划的代价,选择代价最小的执行计划

统计信息+推到规则->计算算子代价->计算执行计划代价->执行计划枚举
动态规划、贪心算法

社区开源实践 Apache calcite 、 统计的sql查询引擎(内置rbo/cbo)、 Calcite RBO、 HepPlanner、 优化规则,四种匹配规则 Calcite CBO VolcanoPlanner

前沿趋势 对sql优化器有新的要求: 引擎架构的进化、 Cloud、 湖仓一体、 DATA+AI