mysql-数据类型

一、整数型

根据字节数的不同(取值范围不同),整数型可以分为以下几类:

1、INT

INT是最常用的数值类型,分为有符号和无符号。有符号的取值范围为-2147483648到2147483647,无符号的取值范围为0到4294967295。最大显示宽度为11。

2、TINYINT

分为有符号和无符号。有符号的取值范围为-128-127,无符号的范围是 从 0 到 255 。最大显示宽度为4。

3、MEDIUMINT

分为有符号和无符号。有符号的取值范围为-8388608到8388607,无符号的范围是0到16777215,最大显示宽度为9。

4、BIGINT

取值范围最大。分为有符号和无符号。最大显示宽度为20。

5、SMALLINT

分为有符号和无符号。有符号的取值范围为-32768-32767,无符号的范围是0到65535,最大显示宽度为6。

6、注意事项

  • 以int(5)为例:括号里面的数值只代表显示宽度,并不能限制这个数据类型实际的取值范围和占用空间。
  • 在指定字段的数据类型时,如果在数据类型后面加上UNSIGNED可以禁止负数。

二、小数型

1、FLOAT

  • 只能为有符号的,占4个字节。
  • FLOAT(M,D): M表示数据的显示宽度,D表示小数位数。默认为(10,2)

2、DOUBLE

  • 只能为有符号的,占8个字节。
  • DOUBLE(M,D): M表示数据的显示宽度,D表示小数位数。默认为(16,4)

3、DECIMAL

只能为有符号的。

三、日期时间型

1、DATE

  • 例子:1999-6-25
  • 范围:1000-01-01到 9999-12-31

2、DATETIME

  • 例子:1999-6-25 14:30:00(1999年6月25日下午2点半)
  • 范围:1000-01-01 00:00:00到9999-12-31 23:59:59

3、TIME

  • 例子:1:20:30(时分秒)
  • 范围:-838:59:59到838:59:59

4、TIMESTAMP

  • 时间戳。
  • 例子:1999年6月25日下午2点半,在数据库中存储为:19990625143000
  • 范围:1970-01-01 00:00:00 到 2037-12-31 23:59:59

5、YEAR

  • 以2位或4位存储年份值
  • 若为2位,范围为:1970-2069;若为4位,范围为1901-2155

四、字符串

前两种常用:

1、CHAR

  • 固定长度字符串,长度为1-255。若内容小于指定长度,右边填充空格,默认长度为1。
  • 如果要存储5位长度的字符串,就要指定char的长度为6,这样才能完整地存储5位的字符。同理对于其他类型也是如此。

2、VARCHAR

  • 可变长度字符串。长度为1-255,有1位要来存储长度信息。定义该类型时必须指定长度。
  • char 和 varchar的选择原则:
    (1)如果长度固定,选择char,如果长度不固定则选择varchar ,字符串是几位就数据库就会存储几位,可以节省占用空间。
    (2)若长度不大,选择char,处理固定长度的字符的效率比处理非固定长度字符的效率更高

3、其他

  • BLOB或TEXT
  • TINYBLOB
  • MEDIUMBLOB
  • LONGBLOB
  • ENUM
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值