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具有money
和smallmoney
数据类型,但是由于其他流行的数据库供应商不支持它,因此未在此处列出。每个关系数据库供应商对于不同的数据类型都有自己的最大大小限制,您无需记住该限制。
想法是了解在特定情况下将使用哪种数据类型。
让我们详细研究sql数据类型的不同类别。
SQL数值数据类型
Datatype | From | To |
---|---|---|
bit | 0 | 1 |
tinyint | 0 | 255 |
smallint | -32,768 | 32,767 |
int | -2,147,483,648 | 2,147,483,647 |
bigint | -9,223,372,036, 854,775,808 | 9,223,372,036, 854,775,807 |
decimal | -10^38 +1 | 10^38 -1 |
numeric | -10^38 +1 | 10^38 -1 |
float | -1.79E + 308 | 1.79E + 308 |
real | -3.40E + 38 | 3.40E + 38 |
SQL日期和时间数据类型
Datatype | Description |
---|---|
DATE | Stores date in the format YYYY-MM-DD |
TIME | Stores time in the format HH:MI:SS |
DATETIME | Stores date and time information in the format YYYY-MM-DD HH:MI:SS |
TIMESTAMP | Stores number of seconds passed since the Unix epoch ('1970-01-01 00:00:00' UTC) |
YEAR | Stores 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字符和字符串数据类型
Datatype | Description |
---|---|
CHAR | Fixed length with maximum length of 8,000 characters |
VARCHAR | Variable length storage with maximum length of 8,000 characters |
VARCHAR(max) | Variable length storage with provided max characters, 不支持 in MySQL |
TEXT | Variable length storage with maximum size of 2GB data |
请注意,以上所有数据类型均用于字符流,不应将它们与unicode数据一起使用。
SQL Unicode字符和字符串数据类型
Datatype | Description |
---|---|
NCHAR | Fixed length with maximum length of 4,000 characters |
NVARCHAR | Variable length storage with maximum length of 4,000 characters |
NVARCHAR(max) | Variable length storage with provided max characters |
NTEXT | Variable length storage with maximum size of 1GB data |
请注意,上述数据类型在MySQL数据库中是不支持的。
SQL二进制数据类型
Datatype | Description |
---|---|
BINARY | Fixed length with maximum length of 8,000 bytes |
VARBINARY | Variable length storage with maximum length of 8,000 bytes |
VARBINARY(max) | Variable length storage with provided max bytes |
IMAGE | Variable length storage with maximum size of 2GB binary data |
SQL杂项数据类型
Datatype | Description |
---|---|
CLOB | Character large objets that can hold up to 2GB |
BLOB | For binary large objects |
XML | for storing xml data |
JSON | for storing JSON data |