SQL数据类型

协助数据验证过程,对数据库引擎的机制至关重要

什么是SQL数据类型?

结构化查询语言(SQL)由几种不同的数据类型组成,允许它在数据库中存储不同类型的信息。SQL数据类型有助于数据验证过程,对数据库引擎的机制非常重要。SQL有不同的方言,每种方言都共享通用的数据类型,也包括一些惟一的数据类型。

想知道SQL是如何融入全局的吗?使用下面的表格下载我们的BI世界小抄,以获得BI和数据分析中的各种角色的概述,以及促进您职业发展所需的关键工具。

商业智能世界-免费下载

访问我们全面的5页指南,以获得在商业智能世界的关键技能,工具和角色的概述。

数值数据类型

数值型数据类型用于存储数值型数据,如价格、会计值和比率。

INT

整数数据类型存储正整数和负整数,如- 1,0,1,2。INT数据类型不能存储像2.5这样的小数或十进制值。它在存储序列号或id等信息时很有用。

整数占用4个字节的存储空间,具有带符号整数的范围,即允许负数从-2,147,483,648到2,147,483,647开始。在无符号整数中,即只使用正整数和零,其范围为0到4,294,967,295。在金融方面,它可以存储股票数量等数据,这通常是一个整数。

短整型

SMALLINT表示小整数。它与INT数据类型相同,不同之处在于它只占用2个字节的存储空间,有符号整数的范围为-32,768到32,767,无符号整数的范围为0到65535。

如果用户知道数据将在某个范围内,那么SMALLINT数据类型是有用的。使用正确的整数类型有助于减少数据库的存储数量和成本。

长整型数字

BIGINT代表大整数,它与整数数据类型相同,不同之处在于它可以保存两倍大小的值并占用8个字节的存储空间。这意味着范围大了一个数量级。

有符号整数的取值范围是2^63到2^63 -1,有符号整数的取值范围是0到2^64 -1。它用于存储较大的值,鉴于高存储要求,应慎用。在财务的情况下,BIGINT类型适用于在财务报表尽管INT数据类型可以容纳大多数值。

整型数据类型的摘要见下表:

SQL中的整数数据类型

小数

DECIMAL数据类型用于存储非整数的数值。DECIMAL数据类型要求用户提供精确级别或小数点后的位数。精度级别是固定的,数据库将忽略精度级别以外的任何数字。

浮动

FLOAT表示浮点数。FLOAT数据类型类似于DECIMAL数据类型,但不需要定义集合精度级别。它适用于计算具有不同精度的场。

字符和字符串数据类型

字符和字符串数据类型用于存储字母或字母数字数据,如姓名和地址。

字符

CHAR表示字符数据类型。CHAR数据类型用于存储固定长度的字母数字值。使用CHAR数据类型要求用户指定允许的字符串长度。当输入的数据长度一致时,应该使用CHAR。

VARCHAR

VARCHAR代表可变字符数据类型。VARCHAR数据类型用于存储可变长度的字母数字值。当输入的数据在不同记录之间的长度不同,并且存储的数据长度没有合理的上限时,应该使用它。

例如,VARCHAR可以用来存储像地址这样的字段。它们将为不同的用户提供不同的长度,并根据位置包含不同的细节。

日期和时间数据类型

日期数据类型用于以各种格式存储日期和时间对象。它们对于时间序列数据以及在数据库中存储时间戳都是必不可少的。日期和时间数据类型非常强大,因为它们可以比较两个日期并基于日期查询数据库。

DATETIME

DATETIME数据类型用于存储日期和时间戳。尽管日期可以作为CHAR或VARCHAR数据类型中的字符串存储,但这将减少我们可以使用的日期功能。DATETIME数据类型使比较日期和时间以及基于日期构建查询变得容易。

DATETIME数据类型可以设置为从天到几分之一秒的各种粒度,这取决于所存储的数据。例如,可以按每天的频率存储收盘价格,但可以按分钟或更短的间隔存储报价。

独特的数据类型

所有数据类型在所有SQL方言中都是通用的,但有些方言还包括一些惟一的数据类型。例如,Microsoft SQL Server使用“money”数据类型,允许用户存储货币并使用符号格式化货币。

另一个独特数据类型的例子是MySQL。它支持一种特殊的数据类型“JSON”,用于存储JSON对象。JSON是JavaScript对象表示法的缩写,是一种广泛使用的数据格式,用于在应用程序的不同部分之间中继数据。

更多的资源

看看CFI的SQL基础知识课程来学习更多关于SQL数据类型和其他SQL概念的知识。为了不断学习和发展你的知识基础,请浏览以下额外的相关资源:

  • 商业智能vs.数据科学
  • Python变量
  • 结构化查询语言(SQL)
  • VBA变量类型
'的搜索结果为0