### 一:环境
### 二:用户管理
##### 1:登录管理员
##### 2:查看当前用户
##### 3:创建用户
##### 4:赋予权限--创建root副本
##### 5:刷新
##### 6:退出
### 三:编码处理
#### 1:查看编码
**查看当前数据库支持的编码**
`show character set;`
**查看当前数据库环境的编码**
`show variables like 'char%';`
#### 2:修改编码
**命令修改:**
`set 编码名字=编码值;`
`例如:set character_set_client=gdk`
**配置文件修改:**
###### Windows环境
安装目录下有一个my.ini配置文件,是MySQL核心配置。
没有的话找到:my-medlum.ini,复制到安装目录下,修改名字
修改:client mysqld 后面添加或修改default-character-set=编码
###### Linux环境
配置文件:my.cnf
### 四:数据库如何操作数据之SQL语言
#### 1:数据库软件
数据库分为客户端和数据库服务软件
客户端为操作系统,与数据库服务沟通,数据库服务软件是用来存储和处理数据,后台掩饰运行软件
**如何通过客户端告诉数据库**?
通过编写指令进行相关操作,告诉数据库服务
**数据操作怎么处理?**
可以通过命令指令让数据库服务
**学习数据库的目的**
编程语言获取的数据方便安全的持久化存储
**一门语言和软件之间怎么沟通**
对编程语言来说,只认识数据,语法,指令
此时需要数据库提供指令或命令让集合来操作数据
数据库提供了两种指令语言-----SQL / PLSQL(中型数据库高版本,大型数据库必备)
#### 2:SQL
*Structured Query Language* 结构化查询语言
**结构化:**固定语法写法
**查询:**重点获取自己想要的数据
**语言:**关系型数据库核心的操作业务
关系数据库有很多,且都各自为战,所以定义了一个基础规范:SQL-92 / SQL-1999 / SQL-2003
**标准的定义:**基础的语法通用;协议规范通用;解析方式通用
在基础的语法上每一个数据都可以自己开发一些特殊指令
#### 3:SQL包含的内容
**SQL语言划分为四大模块语言:(基础)**
① **DDL:**Data Definition Language 数据定义语言
作用:用于操作用户,数据库,表,视图的数据库结构
**create**【创建】 **drop**【删除】 **alter**【修改】
②**DML:**Data Manipulation Language 数据操作语言
作用:主要用于处理数据库表中的数据
**insert**【插入】 **delete**【删除】 **update**【修改】 **select**【查询】
*有些时候select会单独分成一类*:**DQL(Data Query Language)**
③**DCL:**Data Control Language 数据控制语言
作用:控制数据使用范围
**grant**【赋予】 **revoke**【收回权限】
④**TCL**:Transaction Control Language 事务控制语言
作用:控制操作过程事务【失误】
**commit**【提交】 **rollback**【回滚】 **savepoint**【保存点】
#### 4:学习这四门语言完成数据库业务---数据库结构
客户端----数据库----文件
#### 5:操作数据之存储引擎
主要数据库的发动机,用于用户数据库数据与文件之间的转化
因为数据库操作数据形式不用,所以与数据库定义了多个存储引擎
常用:InnoDB MyisaM Memory
##### 1)查看数据库支持的引擎
`show engines;`
##### **2)存储引擎之InnoDB**
8.0默认存储引擎为InnoDB
***优势:***①提供了完整的事务处理机制,有很好的容灾能力
②提供了外界支持,帮助进行多表查询
③提供了自增操作 auto_Increment
④支持并发操作
***缺点:***读写数据慢,占用空间大
##### 3)存储引擎之MyisaM
8.0之前默认是MyisaM
***优势:***①将数据表拆分为三块:表结构,数据,索引,并用这三种分别存储数据
②存储数据的速度快,占用的空间少
***缺点:***不支持事务处理,不支持并发操作
##### 4)存储引擎之Memory
内存存储处理数据,磁盘上也会有一个临时文件,对内存的要求非常高
***优势:***速度快,方便
***缺点:***数据的生命周期短,依赖内存
### 五:数据库操作---数据库
#### 1:什么是数据库?
管理数据的最小单元,每一个数据库对应一个应用【常规应用】
#### 2:查看数据库
`show databases;(查看当前用户所有的数据库)`
`select database();(查看当前使用的数据库)`
`use 数据库名;(进入数据库)`
#### 3:创建数据
`create database【if not exists】数据库名;`
【if not exists】:如果数据库不存在才创建