##Mysql自学之路##

一、Mysql查询

Ⅰ、表查询语句

a、where,join,limit,group by,having的执行顺序

1:join

INNER JOIN(内连接):SELECT * FORM  TABLE_A  A  INNER JOIN TABLE_B B ON A.KEY = B.KEY
LEFT JOIN (左连接):SELECT * FORM TABLE_A  A LEFT JOIN TABLE_B B ON A.KEY = B.KEY 

2:group by是分组

一般配合max、min、sum、avg、count这五个统计函数来使用

3:having:mysql中,当我们用到聚合函数,如sum,count后,又需要筛选条件时,having就派上用场了

查找nums大于2的数:select cid,count(id) nums from xzyd_question group by cid HAVING nums>2

b、临时表

MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。

二、mysql优化

SQL优化,主要是索引优化
          数据结构:线性表,图,树
          索引:索引是数据结构(树:B树,Hash树)
          mysql索引主要为Btree,一般为B+,

索引
       分类:
               单值索引:单列,age;一个表可以多个单值索引,name
               唯一索引:不能重复。id
               复合索引:多个列构成的索引,(name,age)

事务:commit事务操作只对dml语句,即增删改有效,ddl语句自动提交。

Ⅰ、mysql索引优化

a、使用explain优化sql和索引?

Ⅱ、mysql存储引擎优化

a、常见的三种引擎

Ⅲ、mysql锁机制优化

Ⅳ、慢查询日志分析

三、MySQL事务

Ⅰ、事务的四大特性

Ⅱ、事务的并发,隔离级别

四、mysql的备份和恢复

五、mysql集群

六、mysql主从

Ⅰ、配置连接

https://www.cnblogs.com/lelehellow/p/9633315.html

Ⅱ、常见错误

1:主从不同步问题:

①:Slave_IO_Running: Yes ;Slave_SQL_Running: Yes

stop slave;

#表示跳过一步错误,后面的数字可变

set global sql_slave_skip_counter =1;

start slave; 

原文地址:https://www.cnblogs.com/wuchangblog/p/12780525.html