- 优点
MySQL是一种关系型数据库,因为体积小,性能好,服务稳定,并且开放源码,所以在java企业级开发中经常用到。
- 储存引擎
在5.5版本之前,MyISAM 是MySQL的默认数据库引擎,虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。 在5.5版本之后,InnoDB(事务性数据库引擎)引入 MySQL,取而代之成为它的默认储存引擎。
两种引擎对比:
- 是否支持行级锁 : MyISAM 只有表级锁(table-level locking),而InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。
- 是否支持事务和崩溃后的安全恢复:MyISAM 强调的是性能,每次查询具有原子性,其执行速度比InnoDB类型更快,但是不提供事务支持。但是InnoDB 提供事务支持,外部键等高级数据库功能。 具有事务提交(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。
- 是否支持外键:MyISAM不支持,而InnoDB支持。
- 是否支持MVCC :仅 InnoDB 支持。应对高并发事务, MVCC比单纯的加锁更高效;MVCC只在
READ COMMITTED
和REPEATABLE READ
两个隔离级别下工作;MVCC可以使用 乐观(optimistic)锁 和 悲观(pessimistic)锁来实现;各数据库中MVCC实现并不统一
- 常用指令
在mysql文件夹下的bin文件夹下运行cmd(一般在C盘Program Files文件夹下),开始对数据库进行操作:
打开数据库 : mysql -hlocalhost -uroot -p(然后输入数据库密码进入,这一步操作之后才可以输入下面的命令)
查看表 : show databases;
使用表 : use 表名;(此命令之后就可以输入sql语句对这个表进行操作了)
查看MySQL提供的所有存储引擎 : show engines;
查看默认的存储引擎 : show variables like '%storage_engine%';
查看表的存储引擎 : show table status from 表名 ;