数据库(一)—— MySQL介绍
MySQL介绍
[TOC]
一、MySQL版本
1、mysql主流版本
mysql 5.6 5.6.36 5.38 5.6.40
mysql 5.7 5.7.18 5.7.20 5.7.22
2、版本选择
企业版本选择:6~12月份的GA版本
二、MySQL连接与实例
1、MySQL的C/S结构
# 两种连接方法
TCP/IP : 可以连接远程,也可以本地连接
SOCKET : 连接本地
mysql -uroot -poldboy123 -h 10.0.0.200 -P3306
mysql -uroot -poldboy123 -S /tmp/mysql.sock
2、MySQL实例
实例 = mysqld + 内存结构
实例 = mysqld + master thread + N Thread + 内存结构
三、mysql三层结构
1、连接层(连接上数据库)
(1)提供链接协议(TCP,SOCKET)
(2)用户验证
(3)提供专用链接线程,每登录一个用户,就会起一个专用的线程
2、SQL层(从哪里获取数据)
(1)接受上层的命令
(2)语法检测
(3)语义(什么类型增删改查?)、权限检测
(4)专用解析器解析SQL,解析成多种执行计划
(5)优化器:选择一个代价最低的执行计划
(6)执行器:按照优化器的选择,执行SQL语句,得出获取数据方法
(7)查询缓存:默认是关闭的,一般会使用redis产品替代
(8)记录日志:二进制日志
3、存储引擎层(获取数据,结构化成表)
按照SQL层结论,找相应数据,结构化成表的形式
四、MySQL的逻辑结构
1、库
存储数据的地方,包括库名、属性
2、表(二维表)
包括元数据(表名,表的属性,列,记录)
五、SQL语句
1、类型
DDL数据定义语言
DCL数据 控制语言
DML数据操作语言
DQL数据查询语言
2、SQL操作的对象
SQL操作的书库和表
3、SQL语句之DDL规范
(1)库定义
CREATE DATABASE
SHOW DATABASES
DROP DATABASE
- 关键字大写,字面量小写
CREATE DATABASE bbs CHARSET utf8mb4
库名只能小写,不能是数字开头,不能为预留关键字
库名和业务名有关,例如:blog_user
必须加字符集
CHARSET utf8mb4
(2)表定义
CREATE TABLE
DROP TABLE
ALTER TABLE
关键字大写(非必须),字面名小写(必须)
表名必须小写,不能是数字开头,不能为预留关键字
表名和业务名有关
必须加存储引擎和字符集
必须有主键:
PRIMARY KEY合适的数据类型
必须加注释:
COMMENT '用户名'尽量避免外键
建立合理的索引
4、SQL语句之DCL规范
grant
revoke
lock
5、SQL语句之DML规范
insert
update
delete
insert 语句按批量插入数据
update 必须加 where 条件
delete 尽量替换为update,如添一个状态量字段 state
如果有清空全表的需求,使用 truncate
6、SQL语句之DQL规范
select
show
select 语句避免使用
select * from t1;,使用select id,name from t1;select 语句尽量加等值的where条件,
select id,name from t1 where age>20;select 语句对于范围查询,select 语句对于范围查询,例如 :
select * from t1 where id>200;尽量添加limit或者id>200 and id<300 union all id>300 and id<400select 的where 条件,不要使用
<>like '%name'not innot exist不要出现3表以上的表连接,避免子查询
where条件中不要出现函数操作
数据库(一)—— MySQL介绍的更多相关文章
- 1 数据库开发--MySQL介绍
1.数据库管理软件 C/S 并发.锁 :SQL语句.语法 基本管理和语法学习 一.介绍: mysql数据库管理软件: 套接字:服务端,客户端:客户端可访问服务端得数据 1.支持并发:操作得是共享得数据 ...
- 数据库 - 初识MySQL - 介绍/安装
一.介绍: mysql数据库管理软件: 套接字:服务端,客户端:客户端可访问服务端得数据 1.支持并发:操作得是共享得数据 2.处理锁,数据安全,性能 3.用别人得软件,得照着别人得规范,组织自己得语 ...
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
- Mysql数据库的简单介绍与入门
Mysql数据库的简单介绍与入门 前言 一.下载与安装 1.下载 官网下载MYSQL5.7.21版本,链接地址https://www.mysql.com/downloads/.下载流程图如下: 找到M ...
- 【数据库】MySQL & SQL 介绍
文章目录 MySQL & SQL 介绍 1.MySQL的背景 2.MySQL的优点 3.MySQL的安装 4.MySQL服务的启动和停止 方式一 方式二 5.MySQL服务的登录和退出 方式一 ...
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
- mysql介绍及安装
一.MySQL介绍 1.标志 MySQL的海豚标志的名字叫"sakila",它是由MySQL AB的创始人从用户在"海豚命名"的竞赛中建议的大量的名字表中选出的 ...
- Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数
mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...
- 迁移应用数据库到MySQL Database on Azure
by Rong Yu 有用户问怎么把他们应用的数据库迁移到MySQL Database on Azure上,有哪些方式,有没有需要注意的地方.今天我们来概括介绍一下迁移应用数据库到MySQL Data ...
随机推荐
- How many groups(DP)
题意: 定义:设M为数组a的子集(元素可以重复),将M中的元素排序,若排序后的相邻两元素相差不超过2,则M为a中的一个块,块的大小为块中的元素个数 给出长度为n的数组a,1<=n<=200 ...
- smartforms 字段文本碰见 "-" 自动换行
长文本会在 '-' 这个符号处自动换行 原理:SAP 标准SMARTFORMS 的功能,遇到 '-' 自动判断后面字段是否能在本行完全显示,不够则换行 注意:如果一行文本有多个 ‘-’ ,则 判断 ' ...
- 电脑同时安装python2和python3 ,默认使用python3
python3环境变量放在python2前面: 此电脑--属性--高级系统设置--高级--环境变量--系统变量--Path--编辑 D:\Python36\Scripts;D:\Python36;C: ...
- springcloud费话之Eureka基础
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- NSQ消息队列
前面的总结中提到过这个玩意,所以简单说说,win上面的测试验证 网上有比较合适的博文,我先推荐几篇 https://blog.csdn.net/a2247889821/article/details/ ...
- linux 命令 - ls(列出目录内容)
ls - 列出目录内容 语法: ls (选项) (参数) 选项: -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出): -A:显示除影藏文件“.”和“..”以外的所有文 ...
- Eigen ,MKL和 matlab 矩阵乘法速度比较
Eigen 矩阵乘法的速度 < MKL矩阵乘法的速度,MKL矩阵乘法的速度与matlab矩阵乘法的速度相差不大,但matlab GPU版本的矩阵乘法速度是CUP的两倍,在采用float数据类型 ...
- 21.与重入锁相关联的Condition
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * ...
- OpenCV常用基本处理函数(1)读写
图像的基本操作 cv.imread() 读取图片 cv.imshow() 显示图片 cv2.imwrite() 保存图像 使用摄像头捕获实时图像 OpenCV 为这中应用提供了 ...
- 安装JDK,并检测JDK是否安装成功
方法/步骤 首先,我们需要先安装好我们的JDK软件,安装好之后,我们需要对我们的电脑进行环境变量配置的设置,这样我们安装的JDK才能真正起到作用. 第一步:我们需要将光标放在“计算机”上面,然 ...