sql数据类型

在一次面试中被面试官问到了这样一个问题:常见的mysql数据类型有哪些?这个问题不像其他的数据库方面的八股,什么索引啊、事务啊,比较冷门,但是确实日常使用必定接触到,冷不丁地被问到,事前没有系统总结,结果答得并没有一气呵成,这次来总结下。

sql数据类型

数据类型是定义列中可以存储什么数据以及该数据实际怎样存储的基本规则。

数据类型用于以下目的:

  • 数据类型用于限制可存储在列中的数据
  • 数据类型允许在内部更有效地存储数据
  • 数据类型允许变换排序顺序

在设计表时应该特别重视所用的数据类型,使用错误的数据类型可能会严重地影响应用程序的功能和性能。同时,更改包含数据的列不是一件小事,而且这样做可能会导致数据丢失。

串数据类型

最常用的数据类型是串数据类型。有两种基本的串类型,分别为:定长串和变长串。

定长串接收长度固定的字符串,其长度是在创建表时指定的。定长列不允许多于指定的字符数目。它们分配的存储空间与指定的一样多,当列的大小小于指定大小时,或根据需要补为null。

变长串存储任意长度的文本。变长串虽然较定长串更加灵活,但是性能却比定长串低很多。

数值数据类型

数值数据类型存储数值。支持取值范围越大,所需存储空间越多。常用数值数据类型如下表:

数值数据类型说明
BIT单个二进制位值,或者为0或者为1,主要用于开关标志
DECIMAL定点或精度可变的浮点值
FLOAT浮点值
INT4字节整数值
REAL4字节浮点值
SMALLINT2字节整数值
TINYINT1字节整数值

日期和时间数据类型

所有DBMS都支持用来存储日期和时间值的数据类型。如下表:

日期时间数据类型说明
DATE日期值
DATETIME(或TIMESTAMP)日期时间值
SMALLDATETIME日期时间值,精确到分
TIME时间值

二进制数据类型

二进制数据类型是最不具有兼容性的数据类型,同时也是使用最少的数据类型。迄今为止所说的所有数据类型都是具有特定的用途,二进制数据类型则不同,它可以包含任何数据,甚至可以包含二进制信息,比如图像、多媒体等。

二进制数据类型说明
BINARY定长二进制数据类型,根据不同的实现,最大值从几百字节到几千字节不等
LONG RAW变长二进制数据,最长2GB
RAW变长二进制数据,最长255B
VARBINARY变长二进制数据
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值