本博文源于mysql,旨在探讨存储引擎与数据类型。
存储引擎
在数据打上这条命令
会出现mysql支持的数据库引擎。数据库存储引擎代表着不同的存储机制,索引技巧和说定水平
数据库默认存储殷勤是MyISAM
练习数据库的时候,如何选择存储引擎
- 如果要提供提交、回滚和恢复的事务安全(ACID兼容)能力,并要求实现并发控制。InnoDB是一个很好的选择。
- 如果数据表主要用来插入和查询记录,则MyISAm引擎较好
- 如果只是临时存放数据,数据量不大,并不需要安全那种,使用MEMORY
- Archive非常适合存储归档数据, 例如日志
例子:修改默认引擎为InnoDB
格式
SET default_storage_engine = <存储引擎名>
代码:
set default_storage_engine = InnoDB
数据类型
这里就跟java其他高级语言类似,大家不要担心,对数据类型有影响。语言都是通用的。
整数类型
- TINYINT 1个字节 -128-127
- SMALLINT 2个字节 -32768-32767
- MEDIUMINT 3个字节 -8388608-8388607
- INT 4个字节 -2147483648-2147483647
- BIGINT 8个字节 -923372036854775808-9223372036854775807
大家用个int差不多了,如果有必要,BIGINT也可以,相等于c的long long
浮点数类型
- 单精度float
- 双精度 double
跟其他高级语言类似,一般用double,float那种注意到浮点位数才会使用。
日期与时间类型
这个大家可以根据英文名称来记忆,也不是太难
- YEAR 年 YYYY
- TIME 时间 HH:MM:SS
- DATE 日期 YYYY-MM-DD
字符串类型
- CHAR(M) 固定长度字符串
- VACHAR(M) 变长长度字符串
一般用char,考虑仔细点用vachar。类比成高级语言中就是内存开辟数组一样,搞算法竞赛一定要紧巴,不然就尽量开大。