类型 | 说明 |
---|---|
整数类型 | 1.tinyni,smallint,mediumint,int,bigint分别是8,16,24,32,64为存储空间。它们可以存储的范围从-2^(N-1) ~2^(N-1)-1,N为存储空间的位数 2.unsigned:非负数,可以使正数的上限提高一倍。 3.有符号和无符号类型使用相同的存储空间,并具有相同的性能,因此可以根据实际情况选择合适的类型 4.mysql可以为整数 类型指定宽度,如int(11),对大多数应用这是没有意义的,对于存储和计算来说,int(1)和int(20)是相同的 |
实数类型 | float / decimal |
字符串类型 | 1. char /varchar 2.使用varchar(5)和varchar(200)存储hello的空间开销是一样的,但是更长的列会消耗更多的内存,因为mysql通常会分配固定大小的内存块来保存内部值。尤其是使用内存临时表进行排序或操作时会特别糟糕。在利用临时表进行排序时也同样糟糕。 |
文本类型 | 1.blob和text类型 2.blob和text都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和的字符方式存储。 3.tinytext / smalltext / text / mediumtext /longtext 4.tinyblob / smallblob / blob / mediumblob / longblob 5.mysql把每个blob和text值当做一个独立的对象处理。存储引擎在存储是通常会特殊处理。 6.memory引擎不支持blob和text类型,所以,如果查询使用了blob或text列并且需要使用隐式临时表,将不得不使用myisam磁盘临时表,即使只有几行数据也是如此。 7.precona server的memory引擎支持blob和text类型,但是还是需要使用磁盘临时表 8.text会对性能开销影响大,最好的解决方案是尽量避免使用blob和text类型 |
枚举类型 | 1.枚举类型实际存储为整数,而不是字符串。因此,枚举字段是按照内部存储的整数而不是定义的字符串进行排序的。 2.order by field指定排序 |
日期和时间类型 | 1.datetime:保存大范围的值,从1001~9999年,精度为秒,存储格式YYYYMMDDHHMMSS,与时区无关 2.timestamp:存储时间范围,1970~2038年 |
ip类型 | 无字符号整数存储IP地址,mysql提供inet_aton()和inet_ntoa()函数在这两种表示方法之间转换。 |
mysql的数据类型
最新推荐文章于 2024-05-05 03:50:35 发布