一、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;