一 . 数据表类型
1.1. MyISAM 和 InnoDB 数据表引擎
- MyISAM 早期使用 Mysql 5.5 版本之前,空间小(节约),速度较快.
- InooDB 默认使用,安全性高,支持事务的处理,多表多用户操作.
MyISAM 和 InnoDB 区别:
MyISAM | InnoDB | |
是否支持事务 | 不支持 | 支持 |
数据行锁定 | 不持支 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 约MyISAM的两倍 |
在物理空间存在的位置>>
所有的数据库文件都存在data目录下,一个文件夹对应一个数据库表,本质上还是文件的存储。
MySQL 中 MyISAM 和 InnoDB 引擎的物理文件上的区别:
- InnoDB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件.
- MyISAM 对应的文件:
- *.frm 表结构的定义文件
- .*MYD 数据文件(data)
- *.MYI 索引文件(index)
1.2 设置数据库表字符集编码
注意: 如果不设置字符集编码,会是mysql默认的字符集编码(不支持中文!)
MySQL 默认编码是Latin1,不支持中文
CHARSET = UTF8
- 创建表建议都带上字符集
CREATE TABLE `school` (
`id` INT(10) NOT NULL COMMENT 'id'
)ENGINE = INNODB DEFAULT CHARSET = utf8
- 在my.ini 中配置默认的编码
character-set-server=utf8