储存引擎
数据库存储引擎(影响到数据存储的方式和事务的方式)存储和操作表的类型
在oracle和sql中只有一种储存引擎,mysql有多种储存引擎,用户可以根据自己需要编写自己的储存引擎
查看存储引擎
Show engines\g
Show variables like ‘have%’;
Show variables like ‘storage_engine%’;
默认就是innodb,它支持事务,行级锁等
选择存储引擎
在创建表的时候选择
Create table innodb1(
Id int
)engine=innodb;
另外一种vi /etc/my.cnf
Default-storage-engine=innodb
Myisam(不支持事务,很老的一种存储引擎,也不支持外键)5.5之前默认的存储引擎
Innodb (最常用)5.5以后的默认存储引擎
Memory(访问速度最快,不安全,适用于需要快速的访问或者临时表,放在内存之中的)
数据库数据类型
在mysql数据库管理系统中,可以通过储存引擎来决定表的类型,同时mysql也提供了数据类型决定表的储存数据的类型
数据类型:
整数类型int smallint bigint tinyint 储存用户年龄,游戏等级等 后面的括号宽度没有约束作用
浮点数类型float double 存储用户体重,身高,薪水等 后面的括号宽度会有约束作用
定点数类型DEC 精度比浮点数更高,因为他以字符串值来存储的 (m,d)这个范围要指
位类型 BIT
字符类型char varchar 存储用户姓名,家庭住址,爱好,发布的文章等
Text类型text
日期类型date,datetime,year 存储用户的注册时间,文章发布时间,登录时间,入职时间等
枚举类型enum 单选比如性别
集合类型set 多选,比如爱好
为优化存储,在任何情况下都应该使用最精确的类型,使其占用的存储磁盘内存空间最小