存储引擎
存储数据的的方式
# 存储引擎 -- 存储数据的方式
# 一张表
# 数据
# 表的结构
# 索引(查询的时候使用的一个目录结构)
# 面试题
# 你了解mysql的存储引擎么?
# 你的项目用了什么存储引擎,为什么?
# innodb
# 多个用户操作的过程中对同一张表的数据同时做修改
# innodb支持行级锁,所以我们使用了这个存储引擎
# 为了适应程序未来的扩展性,扩展新功能的时候可能会用到...,涉及到要维护数据的完整性
# 项目中有一两张xx xx表,之间的外键关系是什么,一张表的修改或者删除比较频繁,怕出错所以做了外键约束
数据的存储方式 -- 存储引擎engines innodb常用 myisam memory
使用不同的存储引擎,数据是以不同的方式存储的
show engines; 查看存储引擎
mysql支持哪些存储引擎?
mysql5.6支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。其中NDB和InnoDB提供事务安全表,其他存储引擎都是非事务安全表。
最常见
Innodb Myisam Memory
Innodb存储引擎
创建表的时候
# Innodb存储引擎(印欧db) mysql5.6之后的默认的存储引擎
# 数据和索引存储在一起 2个文件
# 数据索引\表结构
# 数据持久化
# 支持事务 : 为了保证数据的完整性,将多个操作变成原子性操作 : 保持数据安全
# 支持行级锁 : 修改的行少的时候使用 : 修改数据频繁的操作
# 支持表级锁 : 批量修改多行的时候使用 : 对于大量数据的同时修改
# 支持外键 : 约束两张表中的关联字段不能随意的添加\删除 : 能够降低数据增删改的出错率
Myisam存储引擎
# Myisam存储引擎 mysql5.5之前的默认的存储引擎
# 数据和索引不存储在一起 3个文件
# 数据\索引\表结构
# 数据持久化
# 只支持表锁
Memory存储引擎
# Memory存储引擎
# 数据存储在内存中, 1个文件
# 表结构
# 数据断电消失
指定存储引擎建表(方式)
mysql 5.6 默认innodb
# create table myisam_t (id int,name char(18)) engine=myisam;#修改了存储方式
# create table memory_t (id int,name char(18)) engine=memory;
创建一个完整的表
虽然desc命令可以查看表的定义,但是其输出的信息还不够全面,为了得到更全面的表定义信息,有时候就需要查看创建表的SQL语句,使用show create table语法。除了可以看到表定义之外,还可以看到engine(存储引擎)和charset(字符集)等信息。
查看表结构
desc staff_info