MySQL——数据类型

一、常见的数据类型及分类

其中上述的数值类型包含了整形和浮点型,文本、二进制类型主要是字符串类型。

  • 整数类型(Integer Types)
  1. TINYINT:范围为-128到127或0到255(无符号),用于存储较小的整数值,如存储性别或状态信息。
  2. SMALLINT:范围为-32768到32767或0到65535(无符号),用于存储较小的整数值,如存储年龄或计数值。
  3. MEDIUMINT:范围为-8388608到8388607或0到16777215(无符号),适用于中等大小的整数数值存储。
  4. INT:范围为-2147483648到2147483647或0到4294967295(无符号),适用于一般整数值存储。
  5. BIGINT:用于存储大整数值,如存储ID或计数值。
  • 浮点数类型(Floating-Point Types)
  1. FLOAT:用于存储单精度浮点数,约占用4个字节的空间。
  2. DOUBLE:用于存储双精度浮点数,约占用8个字节的空间。
  3. DECIMAL:用于精确的十进制数值存储,适用于货币或其他需要精确计算的场景。
  • 日期与时间类型(Date and Time Types)
  1. DATE:用于存储日期,格式为'YYYY-MM-DD',如'2000-01-01'。
  2. TIME:用于存储时间,格式为'HH:MM:SS',如‘18:30:00’。
  3. DATETIME:用于存储日期和时间,格式为'YYYY-MM-DD HH:MM:SS',如'2000-01-01 18:30:00'。
  • 字符串类型(String Types)
  1. CHAR:用于存储固定长度的字符串,如CHAR(10)可以存储长度为10的字符串。
  2. VARCHAR:用于存储可变长度的字符串,如VARCHAR(255)可以存储长度为最大255的字符串。
  3. TEXT:用于存储较长的文本数据,例如文章内容或备注信息。
  • 枚举和集合类型
  1. 枚举(ENUM)类型:枚举类型允许你从一组预定义的选项中选择一个单独的值。在创建表结构时,你可以指定枚举类型的字段允许的值列表。
  2. 集合(SET)类型:集合类型允许你从一组预定义的选项中选择多个值,这些值之间用逗号分隔。与枚举类型不同,集合类型允许选择多个选项,而不仅限于一项。
  • 其他类型
  1. BOOLEAN:在MySQL中没有专门的BOLLEAN类型,通常使用TINTINT(1)来表示bool值,0表示false,1表示true。

二、数值类型

2.1 整型

整型包括以下几种:

它们最根本的区别就是所占用的空间大小不同,也因此导致了能够存储的数据范围不同。

2.1.1 tinyint

先来测试一下tinyint的取值范围。

我们尝试插入一些数据。

在插入合法的范围内是能够正常进行插入的,但是一旦超过tinyint的取值范围,就会不让插入了,而且当插入的数据不是整型时,也是不让插入。

在C/C++中,int tmp = 'a'最多会发出提醒,并不会报错,本质上发生了隐式类型转换。char a = 200也不会报错,会发生截断。即使你存储的数据超出了指定类型的取值范围,也并不会报错,而是发出警告并且存储溢出后进行调整的值。

在数据库中并不想C/C++那样,而是有着严格的要求。mysql的数据类型中,符合条件才会让你操作,不符合条件直接不让操作。在mysql的数据类型中,除了能够满足各种应用场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值