SQL数据类型

时间:2020-02-23 14:32:25  来源:igfitidea点击:

SQL数据类型定义可以存储在表列中的值的类型。
例如,如果我们希望一列仅存储整数值,则可以将其数据类型定义为" int"。

SQL数据类型

SQL数据类型可以大致分为以下几类。

  • 数值数据类型,例如int,tinyint,bigint,float,real等。

  • 日期和时间数据类型,例如日期,时间,日期时间等。

  • 字符和字符串数据类型,例如char,varchar,text等。

  • Unicode字符串数据类型,例如nchar,nvarchar,ntext等。

  • 二进制数据类型,例如binary,varbinary等。

  • 其他数据类型– clob,blob,xml,游标,表等

SQL数据类型要点

  • 并非每个关系数据库供应商都支持所有数据类型。
    例如,Oracle数据库不支持DATETIME,而MySQL不支持CLOB数据类型。
    因此,在设计数据库架构和编写sql查询时,请确保检查是否支持数据类型。

  • 此处列出的数据类型并不包括所有数据类型,而是最常用的数据类型。
    一些关系数据库供应商有其自己的数据类型,此处可能未列出。
    例如,Microsoft SQL Server具有moneysmallmoney数据类型,但是由于其他流行的数据库供应商不支持它,因此未在此处列出。

  • 每个关系数据库供应商对于不同的数据类型都有自己的最大大小限制,您无需记住该限制。
    想法是了解在特定情况下将使用哪种数据类型。

让我们详细研究sql数据类型的不同类别。

SQL数值数据类型

DatatypeFromTo
bit01
tinyint0255
smallint-32,76832,767
int-2,147,483,6482,147,483,647
bigint-9,223,372,036, 854,775,8089,223,372,036, 854,775,807
decimal-10^38 +110^38 -1
numeric-10^38 +110^38 -1
float-1.79E + 3081.79E + 308
real-3.40E + 383.40E + 38

SQL日期和时间数据类型

DatatypeDescription
DATEStores date in the format YYYY-MM-DD
TIMEStores time in the format HH:MI:SS
DATETIMEStores date and time information in the format YYYY-MM-DD HH:MI:SS
TIMESTAMPStores number of seconds passed since the Unix epoch ('1970-01-01 00:00:00' UTC)
YEARStores year in 2 digit or 4 digit format. Range 1901 to 2155 in 4-digit format. Range 70 to 69, representing 1970 to 2069.

SQL字符和字符串数据类型

DatatypeDescription
CHARFixed length with maximum length of 8,000 characters
VARCHARVariable length storage with maximum length of 8,000 characters
VARCHAR(max)Variable length storage with provided max characters, 不支持 in MySQL
TEXTVariable length storage with maximum size of 2GB data

请注意,以上所有数据类型均用于字符流,不应将它们与unicode数据一起使用。

SQL Unicode字符和字符串数据类型

DatatypeDescription
NCHARFixed length with maximum length of 4,000 characters
NVARCHARVariable length storage with maximum length of 4,000 characters
NVARCHAR(max)Variable length storage with provided max characters
NTEXTVariable length storage with maximum size of 1GB data

请注意,上述数据类型在MySQL数据库中是不支持的。

SQL二进制数据类型

DatatypeDescription
BINARYFixed length with maximum length of 8,000 bytes
VARBINARYVariable length storage with maximum length of 8,000 bytes
VARBINARY(max)Variable length storage with provided max bytes
IMAGEVariable length storage with maximum size of 2GB binary data

SQL杂项数据类型

DatatypeDescription
CLOBCharacter large objets that can hold up to 2GB
BLOBFor binary large objects
XMLfor storing xml data
JSONfor storing JSON data