MySQL中的数据类型

本文介绍了MySQL中的数据类型,包括整数类型如TINYINT和bit,小数类型如FLOAT和DECIMAL,字符串类型如CHAR和VARCHAR,以及日期时间类型和ENUM、SET等其他类型。详细解析了各类型的特点和使用场景,特别强调了在存储高精度小数时应使用DECIMAL类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4 数据类型

4.1 数据类型分类

MySQL中定义数据字段的类型对于数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为以下五类:

  • 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
  • 小数类型:FLOAT、DOUBLE、DECIMAL
  • 字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
  • 日期和时间类型:Date、Time、Year、DateTime、TimeStamp
  • 其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

4.2 整数类型

类型 大小 范围(有符号) 范围(无符号)
TINYINT 1字节 (-27,27-1) (0,28-1)
SMALLINT 2字节 (-215,215-1) (0,216-1)
MEDIUNINT 3字节 (-223,223-1) (0,224-1)
INT 4 (-231,231-1) (0,232-1)
BIGINT 8 (-263,263-1) (0,264-1)

4.2.1 TINYINT类型

有符号类型越界测试:
create table tt1(num tinyint);
insert into tt1 values(1);
insert into tt1 values(128);– 发生越界,这一句会报错
在这里插入图片描述
说明:

  • MySQL中整型可以是有符号的也可以是无符号的,默认是有符号的;
  • 可以通过UNSIGNED来指定某个字段是无符号的。

无符号类型:
create table tt2(num tinyint unsigned);
insert into tt2 values(255);
insert into tt2 values(-1);– 无符号类型,范围是(0,255)
在这里插入图片描述
其他类型不在一一演示。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值