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
  1. 关键字大写,字面量小写
CREATE DATABASE bbs CHARSET utf8mb4
  1. 库名只能小写,不能是数字开头,不能为预留关键字

  2. 库名和业务名有关,例如:blog_user

  3. 必须加字符集CHARSET utf8mb4

(2)表定义

CREATE TABLE
DROP TABLE
ALTER TABLE
  1. 关键字大写(非必须),字面名小写(必须)

  2. 表名必须小写,不能是数字开头,不能为预留关键字

  3. 表名和业务名有关

  4. 必须加存储引擎和字符集

  5. 必须有主键: PRIMARY KEY

  6. 合适的数据类型

  7. 必须加注释:COMMENT '用户名'

  8. 尽量避免外键

  9. 建立合理的索引

4、SQL语句之DCL规范

grant
revoke
lock

5、SQL语句之DML规范

insert
update
delete
  1. insert 语句按批量插入数据

  2. update 必须加 where 条件

  3. delete 尽量替换为update,如添一个状态量字段 state

  4. 如果有清空全表的需求,使用 truncate

6、SQL语句之DQL规范

select
show
  1. select 语句避免使用select * from t1;,使用select id,name from t1;

  2. select 语句尽量加等值的where条件,select id,name from t1 where age>20;

  3. select 语句对于范围查询,select 语句对于范围查询,例如 :select * from t1 where id>200; 尽量添加 limit 或者 id>200 and id<300 union all id>300 and id<400

  4. select 的where 条件,不要使用 <> like '%name' not in not exist

  5. 不要出现3表以上的表连接,避免子查询

  6. where条件中不要出现函数操作

数据库(一)—— MySQL介绍的更多相关文章

  1. 1 数据库开发--MySQL介绍

    1.数据库管理软件 C/S 并发.锁 :SQL语句.语法 基本管理和语法学习 一.介绍: mysql数据库管理软件: 套接字:服务端,客户端:客户端可访问服务端得数据 1.支持并发:操作得是共享得数据 ...

  2. 数据库 - 初识MySQL - 介绍/安装

    一.介绍: mysql数据库管理软件: 套接字:服务端,客户端:客户端可访问服务端得数据 1.支持并发:操作得是共享得数据 2.处理锁,数据安全,性能 3.用别人得软件,得照着别人得规范,组织自己得语 ...

  3. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  4. Mysql数据库的简单介绍与入门

    Mysql数据库的简单介绍与入门 前言 一.下载与安装 1.下载 官网下载MYSQL5.7.21版本,链接地址https://www.mysql.com/downloads/.下载流程图如下: 找到M ...

  5. 【数据库】MySQL & SQL 介绍

    文章目录 MySQL & SQL 介绍 1.MySQL的背景 2.MySQL的优点 3.MySQL的安装 4.MySQL服务的启动和停止 方式一 方式二 5.MySQL服务的登录和退出 方式一 ...

  6. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  7. mysql介绍及安装

    一.MySQL介绍 1.标志 MySQL的海豚标志的名字叫"sakila",它是由MySQL AB的创始人从用户在"海豚命名"的竞赛中建议的大量的名字表中选出的 ...

  8. Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数

    mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...

  9. 迁移应用数据库到MySQL Database on Azure

    by Rong Yu 有用户问怎么把他们应用的数据库迁移到MySQL Database on Azure上,有哪些方式,有没有需要注意的地方.今天我们来概括介绍一下迁移应用数据库到MySQL Data ...

随机推荐

  1. drf 分页,获取fk,choise,m2m等字段数据(序列化)

    1.什么是restful规范 是一套规则,用于程序之间进行数据交换的约定. 他规定了一些协议,对我们感受最直接的的是,以前写增删改查需要写4个接口,restful规范的就是1个接口,根据method的 ...

  2. C#后台获取根路径

    C#后台获取当前系统根路径: string absoluteurl = Context.Request.Url.AbsoluteUri.Replace(Context.Request.RawUrl, ...

  3. 深入研究浏览器对HTML解析过程

    HTML HTML解析 HTML解析是一个将字节转化为字符,字符解析为标记,标记生成节点,节点构建树的过程. 标记化算法 是词法分析过程,将输入内容解析成多个标记.HTML标记包括起始标记.结束标记. ...

  4. leetcode-350- 两个数组的交集 II

    问题: package com.example.demo; import java.util.ArrayList; import java.util.Arrays; import java.util. ...

  5. java 数组的定义

    package java03; /* 数组的初始化:就是创建一个数组,并向其中古语一些默认的值 两种常见的初始化方式: 1.动态初始化(指定长度) 2.静态初始化(指定内容) 动态初始化数组格式: 数 ...

  6. Bootstrap 小功能

    <div class="container"> <div class="navbar-header"> <button type= ...

  7. js 在array的遍历操作中修改arry中元素数量 出现的一些奇特的操作

    在js中array是属于复杂类型,在arr1=arr2得赋值操作中,arr1得到的值并不是arr2的value,而是一个指向引用.那么修改arr1的同时arr2读取的值也会同步变化,那么问题来了,上代 ...

  8. 那些长短不一的PCI-E插槽都有什么不一样?

    https://www.ednchina.com/news/20171121-PCI-E.html 时间:2017-11-21   目前PCI-E插槽已经成为了主板上的主力扩展插槽,除了显卡会用到P ...

  9. 2019牛客多校第五场H - subsequence 2 拓扑

    H - subsequence 2 题意 要你使用前\(m\)个小写字母构造一个长度为\(n\)的字符串 有\(m*(m-1)/2\)个限制条件: \(c_{1} .c_{2}. len\):表示除去 ...

  10. BZOJ 3207: 花神的嘲讽计划Ⅰ(莫队+哈希)

    传送门 解题思路 刚开始写了个莫队+哈希+\(map\)的\(O(n\sqrt(n)log(n)\)的辣鸡做法,\(T\)飞了.后来看了看别人博客发现其实并不用拿\(map\)当桶存那些哈希值.因为只 ...