简介: 存储引擎可以看作是处理数据的不同方式
查看存储引擎的命令: show engines;
不支持事务,行锁和外键,数据操作不如innoDB安全,但是存储的速度快
mySQL5.5之后默认的存储引擎
支持事务,行锁和外键,对数据的操作非常的安全,但存储的速度较慢
数据存在于内存,存储速度最快,但断电则丢失数据
数据下入进去就会丢失,类似于回收站
存储引擎创建表的不同点
create table t1(id int) engine=myisam create table t2(id int) engine= innodb; create table t3(id int) engine= memory; create table t4(id int) engine =blackhole;
""" MYsql会创建三个文件夹 .frm 表结构文件 .MYD 表数据文件 .myi 表索引文件 InnoDB会创建两个文件 .frm 表结构文件 .ibd 表数据和表索引文件 memory .frm 表结构文件 blackhole .frm 表结构文件 """
tinyint smallint int bigint 不同的int类型能够存储的数字范围是不一样的 1、要注意是否存在正负数(正负号需要i占一个比特位) 2、针对手机号码只能用 bigint '''研究默认是否需要正负号''' create table t5(id tinyint); insert into t5 values(-999), (999); #结论 :所有的int类型默认都需要正负号 create table t6(id tinyint unsigned); insert into t6 values(-999),(9999);
create table t13(id int(3)); insert into t13 values(4444444); """ 在整型中括号内的数字并不是用来限制存储的长度的 而是用来控制展示的长度的 我们以后在定义整型字段的时候 不需要自己填写数字 使用默认的就好""" create table t14(id int(3) zerofill); insert into t13 values(4); #结论 : 整型比较特殊 是唯一个不是用来限制存储长度的类型
**精确度 ** float< double<decimal
folat double decimal float(255,30) #总共255位,小数占位30位 double(255,30) #总共占位255位,小数占位30位 decimal(65,30) # 总共占位65位,小数占位30 位 """研究三者的不同""" create table t7(id int float(255,30)); create table t8(id double(255,30)); create table t9(id decimal(65,30)); insert into t7 values(1.111111111111111); insert into t8 values(1.122111111111111111111111); insert into t9 values(1.111111111111111);