数据库(一)—— 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<400
select 的where 条件,不要使用
<>
like '%name'
not in
not 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 ...
随机推荐
- git 裸库
初始化一个空的裸仓库 $ cd /home/repo $ mkdir tproject.git $ cd tproject.git $ git init - -bare 注:这是在服务器上运 ...
- linux下的命令是如何运行的
linux下的命令分为内建命令.可执行文件.脚本文件 shell终端里键入一个命令,如ls.cd.bash,shell会先查询一个环境变量PATH,它存了各种可执行文件的路径,输入$PATH可以打印变 ...
- 【Nacos】数据一致性
转自:https://blog.csdn.net/liyanan21/article/details/89320872 目录 一.Raft算法 二.Nacos中Raft部分源码 init() 1. 获 ...
- es6 Promise.reject()方法
es6 Promise.reject()方法:https://blog.csdn.net/ixygj197875/article/details/79188195
- ==和equal的区别
1.“==”运算符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符. 如果一个变量指向的数据是对 ...
- Spring学习笔记(12)——aop
先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用.描述了切面要完成的工作和何时需要执行这个工作.2.连接点(Joinpoint):程序能够应用通知的一个"时 ...
- Jquery的$.ajax、$.get、$.post发送、接收JSON数据及回调函数用法
平时研究代码时,经常会遇到AJAX的相关用法,做项目时才真正体会到Ajax的强大之处(与服务器数据交互如此之便捷,更新DOM节点而不用刷新整个页面),以及运用的频繁程度.今天整理了一下自己之前没搞清楚 ...
- HTML中的img标签属性
<img>标签 标签用于插入图片.它是单独使用的,没有闭合标签. <img src="https://fakeimg.pl/350x200/ff0000,128/000,2 ...
- 大哥带我走渗透ii--时间盲注,布尔盲注
5/27 基于布尔的盲注 我连题目都看不懂555,先去补充一点知识.https://blog.csdn.net/weixin_40709439/article/details/81355856 返回的 ...
- 针对类别的5中softmax_cross_entropy loss计算
# ---------------------------- #! Copyright(C) 2019 # All right reserved. # 文件名称:xxx.py # 摘 要:五种方式实现 ...