主要包括两大引擎 MyISAM,InnoDB
1.MyISAM与InnoDB的区别
2.常规的使用操作
1、MyISAM 节约空间,速度快
2、InnoDB 安全性高,事务的处理,多表操作。InnoDB表的每行数据都保存在主索引的叶子节点上。因此所有的InnoDB表必须包含主键,如果创建表的时候,没有显示指定主键,那么InnoDB存储引擎会创建一个长度为6个字节的long类型隐藏字段作为主键。
所有的数据库文件都存储在data目录下,一个文件夹对应一个数据库,其实本质还是文件的存储!
3.MySQL引擎在物理文件上的区别(了解即可)
InnoDB:在数据库表中只有一个 *.frm文件,以及上级目录的ibdata1文件
MyISAM:对应的文件
*.frm —表结构的定义文件
*.MYD —数据文件(data)
*.MYI —索引文件(index)
设置数据库表的字符集编码:
CHARSET=utf8
不设置的话,mysql默认的字符集编码(不支会持中文!)
MySQL默认编码是latin1,不支持中文
在my.ini中配置默认的编码:character-set-server=utf-8 (不建议使用,会使通用率降低)
4.总结:
InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。
注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。
查看数据库及表结构的语句:
show create database [数据库名] --查看数据库的语句 show create table [表名] --查看创建表的语句 desc [表名] --显示表的结构