SQL数据类型

MySQL 数据类型

在mysql中,有三种主要类型:文本,数字和日期/时间类型。

Text类型:

数据类型描述
CHAR(size)保存固定长度的字符串(可包含字母,数字以及特殊字符)。在括号中指定字符串的长度。最多255个字符。
VARCHAR(size)保存可变长度的字符串(可包含字母,数字以及特殊字符)。在括号中指定字符串的最大长度为255个字符。注释:如果值得长度大于255,则被转换为TEXT类型
TINYTEXT存放最大长度为255个字符的字符串
YEXT存放最大长度为16777215个字符的字符串
BLOB用于BLOBs(Binary Large OBjects)。存放最多16777215字节的数据
LONGTEXT用于BLOBs(Binary Large OBjects)。存放最多4294967295字节的数据
ENUM(x,y,z,etc.)允许你输入可能值的列表。可以在ENUM列表中列出最大65535个值。如果列表中不存在插入的值,则插入空值。注释:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM(‘X’,‘Y’,‘Z’).
SET与ENUM类似,SET最多只能包含64个列表项,不过SET必须存储一个以上的值。

Number类型:

数据类型描述
TINYINT(size)-128到127常规。0到255没有符号。在括号中规定最大位数。
SMALLINT(size)-32768到32767常规。0到65535没有符号。在括号中规定最大位数。
MEDIUMINT(SIZE)0到16777215。在括号中规定最大位数。
INT(size)-2147483648到2147483647常规。0到4294967295无符号,在括号中规定最大位数。
BIGINT(size)-9223372036854775808到9223372036854775807常规。0到18446744073709551615无符号。在括号中规定最大位数。
FLOAT(size,d)带有浮动小数点的小数字。在括号中规定最大位数,在d参数中规定小数点右侧的最大位数。
DOUBLE(size,d)带有浮动小数点的大数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数。
DECIMAL(size,d)作为字符串存储的DOUBLE类型,允许固定的小数点。

这些整数类型拥有额外的选项UNSINGED。通常,整数可以是负数或正数。如果添加UNSINGED属性,那么范围而将从0开始,而不是某个负数。

Date类型:

数据类型描述
DATE()日期。格式:年-月-日。注释:支持的范围从‘1000-01-01’到‘9999-12-31’
DATETIME()日期和时间的组合。格式:年-月-日 时-分-秒。注释:支持的范围从‘1000-01-01 00:00:00’到‘9999-12-31 23:59:59’
TIMESTAMP()时间戳。TIMESTAMP值使用Unix纪元(‘1970-01-01 00:00:00’ UTC)至今的描述来存储。格式:年-月-日 时-分-秒。注释:支持的范围是从‘1970-01-01 00:00:01’UTC到‘2038-01-09 03:14:07’UTC。(UTC是世界统一时间)
TIME()时间。格式:时-分-秒 注释:支持的范围是从‘-838:59:59’到‘838:59:59’
YEAR()2或4位的年。注释:4位格式所允许的值:1901到2155.两位格式所允许的值70到69,表示从1970年代2069年。

SQL Server数据类型

Character 字符串:

数据类型描述
char(n)固定长度的字符串。最多8000个字符。
varchar(n)可变长度的字符串。最多8000个字符
varchar(max)可变长度的字符串。最多1073741824个字符
text可变长度的字符串。最多2GB字符数据

Unicode字符串:

数据类型描述
nchar(n)固定长度的Unicode数据。最多4000个字符。
nvarchar(n)可变长度的Unicode数据。最多4000个字符。
nvarchar(max)可变长度的Unicode数据。最多536870912个字符。
ntext可变长度的Unicode数据。最多2GB字符数据。

Binary类型:

数据类型描述
bit允许0,1或NULL
binary(n)固定长度的二进制数据。最多8000字节。
varbinary(n)可变长度的二进制数据。最多8000字节。
varbinary(max)可变长度的二进制数据。最多2GB字节
image可变长度的二进制数据。最多2GB

Number类型:

数据类型描述
tinyint允许从0到255的所有数字。
smallint允许从-32768到32767的所有数字。
int允许从-2147483648到2147483647的所有数字。
bigint允许介于-9223372036854775808和9223372036854775807之间的所有数字。
decimal(p,s)固定精度和比例的数字。允许从-10^ 38 到 10^38-1之间的数字。p参数指示可以存储的最大位数(小数点左侧和右侧)。p必须是1到38之间的值。默认是18。s参数指示小数点右侧存储的最大位数。s必须是0到p之间的值。默认是0。
numeric(p,s)固定精度和比例的数字。允许从-10^ 38 到 10^38-1之间的数字。p参数指示可以存储的最大位数(小数点左侧和右侧)。p必须是1到38之间的值。默认是18。s参数指示小数点右侧存储的最大位数。s必须是0到p之间的值。默认是0。
smallmoney介于-9223372036854775808和9223372036854775807之间的货币数据。
float(n)从-1.79E +308到1.79E +308的浮动精度数字数据,参数n只是该字段保存4字节还是8字节。float(24)保存4字节,而float(53)保存8字节。n的默认值是53。
real从-3.40E+38到3.40E+38的浮动精度数字数据。

Date类型:

数据类型描述
dtetime从1753年1月1日到9999年12月31日,精度为3.33毫秒。
datetime2从1753年1月1日到9999年12月31日,精度为100纳秒。
smalldatetime从1900年1月1日到2079年6月6日,精度为1分钟。
date仅存储日期。从0001年1月1日到9999年12月31日。
time仅存储时间。精度为100纳秒。
datetimeoffset与datetime2相同,外加时区偏移。
timestamp存储唯一的数字,每当创建或者修改某行时,该数字会更新。timestamp基于内部时钟,不对应真实时间。每个表只能有一个timestamp变量。

其它数据类型:

数据类型描述
sql_variant存储最多8000字节不同数据类型的数据,除了text。ntext以及timestamp。
uniqueidentifier存储全局标识符(GUID)
xml存储XML格式化数据。最多2GB
cursor存储对用于数据库操作的指针的引用。
table存出结果集,供稍后处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值