SQL 数据类型

开头

SQL数据类型定义了可以存储在表列中的值的类型。例如,如果你想要一个列只存储整数值,你可以将它的数据类型定义为INT。

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

    1. 数值数据类型,如:INT、TINYINT、BIGINT、FLOAT、REAL等。

 

    1. 日期和时间数据类型,如:DATE、TIME、DATETIME等。

 

    1. 字符和字符串数据类型,如:CHAR、VARCHAR、TEXT等。

 

    1. Unicode字符字符串数据类型,如:NCHAR、NVARCHAR、NTEXT等。

 

    1. 二进制数据类型,如:BINARY、VARBINARY等。

 

    杂项数据类型 – CLOB,BLOB,XML,CURSOR,TABLE等。

在这篇文章中,您将了解不同类别的SQL数据类型。

关系数据库供应商之间的差异

Note

注意:并非每个关系型数据库供应商都支持所有数据类型。

例如,Oracle数据库不支持DATETIME类型,而MySQL不支持CLOB类型。在设计数据库架构和编写SQL查询时,请确保检查数据类型是否被支持。

Note

注意:这里列出的数据类型并不包括全部的数据类型。这些是最常用的数据类型。一些关系型数据库供应商可能有自己的数据类型,可能未在此处列出。

例如,Microsoft SQL Server具有MONEY和SMALLMONEY数据类型,但由于它们不受其他流行数据库供应商支持,它们不在此列出。

Note

注意:每个关系型数据库供应商都对不同的数据类型有其自己的最大大小限制。

确保为您的特定场景选择适当的数据类型。

SQL 数据类型 – 数值类型

Data Type From To
BIT 1 0
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日期和时间数据类型

Data Type 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 a 2-digit or 4-digit format. Range 1901 to 2155 in 4-digit format. Range 70 to 69, representing 1970 to 2069.

SQL字符和字符串数据类型

Data Type Description
CHAR Fixed length with a maximum length of 8,000 characters
VARCHAR Variable-length storage with a maximum length of 8,000 characters
VARCHAR(max) Variable-length storage with provided max characters, not supported in MySQL
TEXT Variable-length storage with a maximum size of 2GB data

Note

注意:这些数据类型适用于字符流,不应与Unicode数据一起使用。

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

Data Type Description
NCHAR Fixed length with a maximum length of 4,000 characters
NVARCHAR Variable-length storage with a maximum length of 4,000 characters
NVARCHAR(max) Variable-length storage with provided max characters
NTEXT Variable-length storage with a maximum size of 1GB data

Note

注意:MySQL数据库不支持这些数据类型。

SQL的二进制数据类型

Data Type Description
BINARY Fixed length with a maximum length of 8,000 bytes
VARBINARY Variable-length storage with a maximum length of 8,000 bytes
VARBINARY(max) Variable-length storage with provided max bytes
IMAGE Variable-length storage with a maximum size of 2 GB binary data

SQL 杂项数据类型

Data Type Description
CLOB Character large objects that can hold up to 2 GB
BLOB For large binary objects
XML For storing XML data
JSON For storing JSON data

结论

在这篇文章中,你了解了不同类别的SQL数据类型。

继续学习更多的SQL教程。

参考文献

  • Oracle Database Dataypes
  • MySQL Data Types
广告
将在 10 秒后关闭
bannerAds