书籍推荐
《SQL 基础教程(第 2 版)》 (入门级)
《高性能 MySQL : 第 3 版》 (进阶)
文字教程推荐
SQL Tutorial https://www.w3schools.com/sql/default.asp (SQL 语句学习, 英文),SQL Tutorial https://www.w3school.com.cn/sql/index.asp (SQL 语句学习, 中文),SQL 语句在线练习 https://www.w3schools.com/sql/exercise.asp (非常不错)
GitHub-MySQL 入门教程(MySQL tutorial book) https://github.com/jaywcjlove/mysql-tutorial (从零开始学习 MySQL, 主要是面向 MySQL 数据库管理系统初学者)
官方教程 https://dev.mysql.com/doc/refman/5.7/
MySQL 教程(菜鸟教程) http://www.runoob.com/MySQL/MySQL-tutorial.html
相关资源推荐
中国 5 级行政区域 MySQL 库 https://github.com/kakuilan/china_area_mysql
视频教程推荐
基础入门: 与 MySQL 的零距离接触 - 慕课网 https://www.imooc.com/learn/122
MySQL 开发技巧: MySQL 开发技巧(一) https://www.imooc.com/learn/398 MySQL 开发技巧(二) https://www.imooc.com/learn/427 MySQL 开发技巧(三) https://www.imooc.com/learn/449
MySQL5.7 新特性及相关优化技巧: MySQL5.7 版本新特性 https://www.imooc.com/learn/533 性能优化之 MySQL 优化 https://www.imooc.com/learn/194
MySQL 集群 (PXC) 入门 https://www.imooc.com/learn/993 MyCAT 入门及应用 https://www.imooc.com/learn/951
常见问题总结
什么是 MySQL?
MySQL 是一种关系型数据库, 在 Java 企业级开发中非常常用, 因为 MySQL 是开源免费的, 并且方便扩展. 阿里巴巴数据库系统也大量用到了 MySQL, 因此它的稳定性是有保障的. MySQL 是开放源代码的, 因此任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改. MySQL 的默认端口号是 3306.
存储引擎
一些常用命令
查看 MySQL 提供的所有存储引擎
MySQL> show engines;
从上图我们可以查看出 MySQL 当前默认的存储引擎是 InnoDB, 并且在 5.7 版本所有的存储引擎中只有 InnoDB 是事务性存储引擎, 也就是说只有 InnoDB 支持事务.
查看 MySQL 当前默认的存储引擎
我们也可以通过下面的命令查看默认的存储引擎.
MySQL> show variables like '%storage_engine%';
查看表的存储引擎
show table status like "table_name" ;
MyISAM 和 InnoDB 区别
MyISAM 是 MySQL 的默认数据库引擎(5.5 版之前). 虽然性能极佳, 而且提供了大量的特性, 包括全文索引, 压缩, 空间函数等, 但 MyISAM 不支持事务和行级锁, 而且最大的缺陷就是崩溃后无法安全恢复. 不过, 5.5 版本之后, MySQL 引入了 InnoDB(事务性数据库引擎),MySQL 5.5 版本后默认的存储引擎为 InnoDB.
大多数时候我们使用的都是 InnoDB 存储引擎, 但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下.(如果你不介意 MyISAM 崩溃恢复问题的话).
两者的对比:
是否支持行级锁 : MyISAM 只有表级锁 (table-level locking), 而 InnoDB 支持行级锁(row-level locking) 和表级锁, 默认为行级锁.
是否支持事务和崩溃后的安全恢复: MyISAM 强调的是性能, 每次查询具有原子性, 其执行速度比 InnoDB 类型更快, 但是不提供事务支持. 但是 InnoDB 提供事务支持事务, 外部键等高级数据库功能. 具有事务 (commit), 回滚(rollback) 和崩溃修复能力 (crash recovery capabilities) 的事务安全 (transaction-safe (ACID compliant)) 型表.
是否支持外键: MyISAM 不支持, 而 InnoDB 支持.
- query_cache_type=1
- query_cache_size=600000
- set global query_cache_type=1;
- set global query_cache_size=600000;
- MySQL> SELECT @@tx_isolation;
- +-----------------+
- | @@tx_isolation |
- +-----------------+
- | REPEATABLE-READ |
- +-----------------+
来源: https://www.cnblogs.com/wuwuyong/p/12208828.html