Mysql数据类型选用

26次阅读

共计 446 个字符,预计需要花费 2 分钟才能阅读完成。

  • 为未来预留足够扩展,alter table 很麻烦
  • 永远选足够的最小长度

整型

  • 整型有五个,tinyint smallint mediumint int bigint
  • 对应占用 1,2,3,4,8 字节
  • 如果不用负数,后面加 unsigned,分别大一倍,为 255,6 万多,一千多万,四十多亿,四十多亿平方
  • 不要指定长度,int(1) 和 int(99) 没区别,其实都是 int(11) 的效果
  • 无符号为 int(10)
  • int(0) 或 int(-1) 都会自己修正为 int(11)

字符串

  • 固定长度用 char,比 varchar 省一字节
  • 长度非常不固定用 varchar
  • char 后面的空格会去掉
  • 二进制用 binary*
  • 大文件是 blob 和 text

其他

  • 时间只能到秒,5.6.4 版本好像到微秒
  • 1970 年到 2038 年 1 月用 timestamp 四字节
  • 其他用 datetime,八字节
  • 还有 year,date 等
  • 枚举用 enum,省空间
  • integer,boolean 都是别名而已
  • 实数用 double 或 float,需精确要 decimal
  • 表关联字段最好同类型
  • 新版本有 json 类型
正文完
 0