1、在创建表的时候, mysql默认使用的存储引擎是 InnoDB 方式,默认采用的字符集是utf8。
一个完整的建表语句:
create table 表 (
id int(11) primary key comment '主键id'
) engine=InnoDB default charset=utf8;
什么是存储引擎:
存储引擎,就是表的存储方式,存储引擎只有在mysql中这样叫,oracle中有对应的机制,但是不叫存储引擎,叫表的存储方式。
2、mysql(版本为:5.7)支持的存储引擎:
查看mysql支持的存储引擎命令为: show engines \G
目前支持9个,如下:
*************************** 1. row ***************************(常用)
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
常用,也是mysql默认的存储引擎,支持事务,行级锁,外键,这种存储引擎最安全。
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************(常用)
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
缺点:不支持事务,优点:查询速度快
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************(常见)
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO (这种存储引擎不支持事务)
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
*************************** 9. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL