推荐使用的7种基本数据类型
管理信息系统(MIS)设计开发时尽量只使用以下7种基本数据类型:
类型 | C# | Java | MySQL | Oracle |
---|---|---|---|---|
Boolean | bool | Boolean | bit(1) | Number(1) |
Byte | byte | Byte | - | - |
Integer | int | Integer | int(11) | Number(10) |
Long | long | Long | bigint(20) | Number(20) |
DateTime | DateTime | Date | datetime | Date |
Decimal | decimal | Double | decimal(13,5) | Number(13,5) |
String | string | String | varchar | VarChar2 |
推荐理由
太多的数据类型更多的是负担,一些类型之间可以合并,比如用Double来统一表示Float和Double,虽然空间上有一点浪费。虽然数据库往往提供很多种数据类型,除了有些原来就是另一种类型的别名之外,还有一部分原因是“历史原因”或者用在特别的应用。提炼少数的,但又足够表示各种业务的数据类型,无疑有利于降低复杂度,减少数据类型转换,包括减少转换时的各种错。
说明
- String 建议采用固定的3种长度:50、255和65535。其中65535对应mysql的text类型。还有几种长度,必要时可以使用:1024、4096、16384。
- Byte一般是以数组的形式出现,表示二进制串或文件。在存储上建议是保存为文件,然后在数据库记录文件路径。
MySQL文本类型的最大长度
类型 | 最大长度 | 说明 |
---|---|---|
TinyText, TinyBLOB | 255 B | L + 1 bytes, where L < 2^8 (255 Bytes) |
Text, BLOB | 64 KB | L + 2 bytes, where L < 2^16 (64 Kibibytes) |
MediumText, MediumMBLOB | 16 MB | L + 3 bytes, where L < 2^24 (16 Mebibytes) |
LongText, LongBLOB | 4 GB | L + 4 bytes, where L < 2^32 (4 Gibibytes) |
字符与字节
MySQL的varchar是按字符算,一个汉字是一个字符。Text类(Text/MediumText/...)是按字节算,依encoding的不同,一个汉字是2~4个字节。
参考引用
博主简介:佘焕敏(shé),洋名 Billy Sir。
关注编程基础技术,并致力于研究软件的自动化生成。 对编程规范化、面向对象的极致使用也有着浓厚的兴趣。 同时非常希望能够写程序到65岁。
只有工匠精神,才能把常人觉得单调乏味的代码,当作作品雕刻成艺术品。
重点:这里几乎每一篇文章,都是我认真创作的,凝结了心血。写作从来都不是一件容易的事,对从小语文不好的我而言,是难上加难。而且,你发现没有,文中没有广告。这篇文章介绍了为什么要写这些文章。
放个赞赏码,省得找起麻烦,万一真有人要赞赏呢。赞赏伤钱,三思后行。真要赞赏,一两块意思一下就好。