SQL数据类型

数据类型被用来表示可以存储在数据库表中的数据的性质。例如,在一个表中的特定列,如果我们要存储数据的串类型,那么我们将不得不宣布该列的字符串数据类型。
数据类型主要分为三类,每数据库。

  • 字符串数据类型
  • 数字数据类型
  • 日期和时间数据类型
数据类型在MySQL,SQL Server和Oracle数据库
MySQL数据类型
在MySQL数据库中使用的数据类型的列表。这是基于MySQL的8.0。
MySQL的字符串数据类型
CHAR(Size)它用于指定包含数字、字母和特殊字符的固定长度字符串。它的大小可以是0到255个字符。默认值为1。
VARCHAR(size)它用于指定可包含数字、字母和特殊字符的可变长度字符串。它的大小可以是0到65535个字符。
BINARY(Size)它等于CHAR(),但存储二进制字节字符串。其尺寸参数指定的字节列的长度。默认值为1。
VARBINARY(Size)它等于VARCHAR(),但存储二进制字节字符串。它的size参数指定以字节为单位的最大列长度。
Character(SIZE)它包含一个最大长度为255个字符的字符串。
TINYTEXT它拥有255个字符的最大长度的字符串。
MEDIUMTEXT它包含一个最大长度为16,777,215的字符串。
LONGTEXT它包含一个最大长度为4,294,967,295个字符的字符串。
ENUM(val1,val2,val3,… )当仅具有一个值,从可能值的列表中选择的一个字符串对象时使用。它包含在ENUM列表65535个价值观。如果插入的值是不在列表中,空值将被插入。
SET( val1,val2,val3,… .)它用于指定一个可以有0个或多个值的字符串,这些值是从可能的值列表中选择的。您可以在一个集合列表中一次列出最多64个值。
BLOB(size)它用于blob(二进制大对象)。它最多可以容纳65,535个字节。
MySQL的数值数据类型
BIT(Size)它用于位值类型。每个值的位数以大小指定。它的大小可以是1到64。默认值是1。
INT(SIZE)它用于整数值。其有符号范围从-2147483648到2147483647不等,无符号范围从0到4294967295不等。size参数指定最大显示宽度255。
INTEGER(size)它等于INT(大小)。
FLOAT(size,d)它用于指定浮点数。其大小参数指定数字的总数。小数点后的位数由d参数指定。
FLOAT(P)它用于指定浮点数。MySQL使用p参数来决定是使用FLOAT还是DOUBLE。如果p在0到24之间,则数据类型为FLOAT()。如果p是从25到53,则数据类型变为DOUBLE()。
DOUBLE(size,d)这是一个正常大小的浮点数。它的大小参数指定的数字的总数。的数字的小数点后的数量由d参数指定。
DECIMAL(size,d)它用于指定一个定点编号。其大小参数指定数字的总数。十进制参数后的位数由d参数指定。大小的最大值是65,默认值是10。d的最大值是30,默认值是0。
DEC(Size,d)它等于小数(大小,d)
BOOL它是用来指定布尔值true和false。零被认为是假的,非零值被认为是真实的。
MySQL的日期和时间数据类型
DATE它用于指定日期格式YYYY-MM-DD。它的支持范围是从’ 1000-01-01’ 到’ 9999-12-31’ 。
DATETIME(FSP)它用于指定日期和时间组合。它的格式是YYYY-MM-DD hh:mm:ss。它的支持范围是’ 1000-01-01 00:00:00’ 到9999-12-31 23:59:59’ 。
TIMESTAMP(fsp)它是用来指定时间戳。它的值被存储为自Unix纪元(“1970-01-01 00:00:00” UTC)的秒数。其格式为YYYY-MM-DD HH:MM:SS。其支持的范围为“1970-01-01 00:00:01” UTC为“2038年1月9日3点14分07秒” UTC。
TIME(fsp)它用于指定时间格式。它的格式是hh:mm:ss。它的支持范围从’ -838:59:59’ 到’ 838:59:59′
Year它用于以四位数格式指定年份。允许在1901到2155和0000之间的四位数字格式的值。
SQL Server数据类型
SQL服务器字符串数据类型
char(n)它是一个固定宽度的字符串数据类型。它的大小可以达到8000个字符。
VARCHAR(n)的它是一个可变宽度字符串数据类型。它的大小可以达到8000个字符。
varchar(max)它是宽字符串的数据类型的变量。它的尺寸可以达到1,073,741,824个字符。
text它是一个可变宽度字符串数据类型。它的大小可以达到2GB的文本数据。
NCHAR它是一个固定宽度的Unicode字符串数据类型。它的大小可以达到4000个字符。
nvarchar它是宽度Unicode字符串数据类型的变量。其规模可达到4000个字符。
ntext它是一个可变宽度的Unicode字符串数据类型。它的大小可以达到2GB的文本数据。
Binary(n)It is a fixed width Binary string data type. Its size can be up to 8000 bytes.
varbinary它是宽度二进制字符串数据类型的变量。其规模可以达到8000个字节。
image它也是一个可变宽度的二进制字符串数据类型。它的大小可以达到2GB。
SQL Server的数值数据类型
bit它是一个可以是0、1或null的整数。
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之间的整数。
float(n)它是用来指定浮动精度数数据从-1.79E + 308 1.79E + 308。参数n指示字段是否应保持4或8个字节。 n个默认值是53。
real它是一个从-3.40E+38到3.40E+38之间的浮点数数据
money它用于指定从-922,337,233,685,477.5808到922,337,203,685,477.5807的货币数据。
SQL Server的日期和时间数据类型
datetime它用于指定日期和时间组合。它支持从1753年1月1日到9999年12月31日的范围,精度为3.33毫秒。
DATETIME2它用于指定日期和时间组合。它支持从1月1日到12月31日的范围,精度为100纳秒
date它是用来只存储日期。它支持范围从0001年1月至9999年12月31日,
time它只存储精度为100纳秒的时间
timestamp当创建或修改新行时,它存储惟一的编号。时间戳值基于内部时钟,并不对应于实时。每个表可能只包含一次性的stamp变量。
SQL Server中的其他数据类型
Sql_variant它用于除文本、时间戳和ntext之外的各种数据类型。它最多存储8000字节的数据。
XML它存储XML格式的数据。最大的2 gb。
cursor它存储到用于数据库操作的指针的引用。
table它存储结果集以供以后处理。
UID它存储GUID(全局惟一标识符)。
Oracle数据类型
甲骨文字符串数据类型
CHAR(size)它用于在预定义的长度内存储字符数据。它最多可以存储2000字节。
NCHAR(大小)它用于在预定义的长度内存储国民字符数据。它最多可以存储2000字节。
VARCHAR2(size)它是用来在预定长度内的可变字符串数据存储。它可以存储多达4000个字节。
VARCHAR(SIZE)它与VARCHAR2(大小)相同。您也可以使用VARCHAR(size),但是建议使用VARCHAR2(size)
NVARCHAR2(大小)它用于在预定义长度内存储Unicode字符串数据。我们必须指定NVARCHAR2数据类型的大小。它最多可以存储4000字节。
Oracle数值数据类型
NUMBER(p,s)它包含精度p和刻度s。精度p的范围是1到38,刻度s的范围是-84到127。
FLOAT(P)它是NUMBER数据类型的子类型。精度p从1到126。
BINARY_FLOAT它用于二进制精度(32位)。它要求5个字节,包括长度字节。
BINARY_DOUBLE它用于双二进制精度(64位)。它需要9个字节,包括长度字节。
Oracle日期和时间数据类型
DATE它用于存储具有固定长度的有效日期-时间格式。其范围从公元前4712年1月1日到公元9999年12月31日。
TIMESTAMP用于以YYYY-MM-DD格式存储有效日期,时间hh:mm:ss格式。
【SQL数据类型】甲骨文大对象数据类型(LOB类型)
BLOB它用于指定非结构化的二进制数据。其范围可达232-1字节或4 GB。
BFILE它用于将二进制数据存储在外部文件中。其范围可达232-1字节或4 GB。
CLOB它用于单字节字符数据。它的范围上升到232-1字节或4 GB。
NCLOB它用于指定单字节或定长多字节国家字符集(NCHAR)数据。其范围高达232-1字节或4 GB。
RAW(大小)它用于指定可变长度的原始二进制数据。它的范围是每行2000字节。必须指定其最大大小。
LONG RAW它是用来指定可变长度原始二进制数据。它的射程可达231-1字节或2 GB,每行。

    推荐阅读