SQL学习之各种数据库的数据类型

学习源

Microsoft Access 数据类型

数据类型描述存储
Text用于文本或文本与数字的组合。最多 255 个字符
MemoMemo 用于更大数量的文本。最多存储 65,536 个字符
不可以对 memo 字段进行排序
Memo 可以搜索的
Byte允许 0 到 255 的之间数字1 字节
Integer允许介于 -32,768 与 32,767 之间的全部数字2 字节
Long允许介于 -2,147,483,648 与 2,147,483,647 之间的全部数字4 字节
Single单精度浮点数4 字节
Double双精度浮点数8 字节
Currency用于货币
支持 15 位的元,外加 4 位小数
可以选择使用哪个国家的货币
8 字节
AutoNumber自动为每条记录分配数字,默认从 1 开始4 字节
Date/Time用于存储日期和时间8 字节
Yes/No逻辑字段,可以显示为 Yes/No、True/False 或 On/Off
在代码中,使用常量 True 和 False (等价于 1 和 0)
Yes/No 字段中不允许 Null 值
1 比特
Ole Object存储图片、音频、视频等 BLOBs< 1GB
Hyperlink可以存储包含指向其他文件的链接,包括网页
Lookup Wizard可以创建一个可从下拉列表中进行选择的选项列表4 字节

MySQL/MariaDB 数据类型

MySQL/MariaDB 中,有三种主要的类型:

  • Text (文本)
  • Number (数字)
  • Date/Time (日期/时间) 类型

Text

数据类型描述
CHAR(size)保存固定长度的字符串(可包含字母、数字以及特殊字符)
在括号中指定字符串的长度
最多 255 个字符
VARCHAR(size)保存可变长度的字符串(可包含字母、数字以及特殊字符)
在括号中指定字符串的最大长度
最多 255 个字符
注意:如果值的长度大于 255,会被转换为 TEXT 类型
TINYTEXT存放最大长度为 255 个字符的字符串
TEXT存放最大长度为 65,535 个字符的字符串
BLOB用于 BLOBs(Binary Large OBjects)
存放最多 65,535 字节的数据。
MEDIUMTEXT存放最大长度为 16,777,215 个字符的字符串
MEDIUMBLOB用于 BLOBs(Binary Large OBjects)
存放最多 16,777,215 字节的数据
LONGTEXT存放最大长度为 4,294,967,295 个字符的字符串
LONGBLOB用于 BLOBs (Binary Large OBjects)
存放最多 4,294,967,295 字节的数据。
ENUM(x,y,z,...)允许输入可能值的列表
可以在 ENUM 列表中列出最大 65535 个值
如果列表中不存在插入的值,则插入空值
注意:存储的值是按照输入的顺序排序的
可以按照此格式输入可能的值 ENUM('X','Y','Z')
SET与 ENUM 类似,但 SET 最多只能包含 64 个列表项且 SET 可存储一个以上的选择

Number

数据类型描述
TINYINT(size)带符号 -128 到 127 ,无符号 0 到 255
SMALLINT(size)带符号范围 -32768 到 32767
无符号 0 到 65535
size 默认为 6
MEDIUMINT(size)带符号范围 -8388608 到 8388607
无符号的范围是 0 到 16777215
size 默认为 9
INT(size)带符号范围 -2147483648 到 2147483647
无符号的范围是 0 到 4294967295
size 默认为 11
BIGINT(size)带符号的范围是 -9223372036854775808 到 9223372036854775807
无符号的范围是0到 18446744073709551615
size 默认为 20
FLOAT(size,d)带有浮动小数点的小数字
在 size 参数中规定显示最大位数
在 d 参数中规定小数最大位数
DOUBLE(size,d)带有浮动小数点的大数字
在 size 参数中规显示定最大位数
在 d 参数中规定小数的最大位数
DECIMAL(size,d)作为字符串存储的 DOUBLE 类型,允许固定的小数点
在 size 参数中规定显示最大位数
在 d 参数中规定小数点右侧的最大位数

Date

数据类型描述
DATE()日期。格式:YYYY-MM-DD
支持的范围是从 '1000-01-01' 到 '9999-12-31'
DATETIME()*日期和时间的组合
格式:YYYY-MM-DD HH:MM:SS
支持的范围是从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
TIMESTAMP()*时间戳
TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的秒数来存储
格式:YYYY-MM-DD HH:MM:SS
支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC
TIME()时间
格式:HH:MM:SS
支持的范围是从 '-838:59:59' 到 '838:59:59'
YEAR()2 位或 4 位格式的年
4 位格式所允许的值:1901 到 2155
2 位格式所允许的值:70 到 69 表示从 1970 到 2069

SQL Server

String

数据类型描述长度
char(n)固定长度的字符串
最多 8,000 个字符
参数 n 的大小
varchar(n)可变长度的字符串
最多 8,000 个字符
2 bytes + 字符数量
varchar(max)可变长度的字符串
最多 1,073,741,824 个字符
2 bytes + 字符数量
text可变长度的字符串
最多 2GB 文本数据
4 bytes + 字符数量
nchar固定长度的 Unicode 字符串
最多 4,000 个字符
参数 n*2 的大小
nvarchar可变长度的 Unicode 字符串
最多 4,000 个字符
nvarchar(max)可变长度的 Unicode 字符串
最多 536,870,912 个字符
ntext可变长度的 Unicode 字符串
最多 2GB 文本数据
bit允许 0、1 或 NULL
binary(n)固定长度的二进制字符串
最多 8,000 字节
varbinary可变长度的二进制字符串
最多 8,000 字节
varbinary(max)可变长度的二进制字符串
最多 2GB
image可变长度的二进制字符串
最多 2GB

Number

数据类型描述长度
tinyint从 0 到 255 之间的所有数字1 字节
smallint从 -32,768 到 32,767 之间的所有数字2 字节
int从 -2,147,483,648 到 2,147,483,647 之间的所有数字4 字节
bigint从 -9,223,372,036,854,775,808
到 9,223,372,036,854,775,807 之间的所有数字
8 字节
decimal(p,s)固定精度和比例的数字
允许从 -10^38 +1 到 10^38 -1 之间的数字
p 参数指示可以存储的最大位数(小数点左侧和右侧)
p 必须是 1 到 38 之间的值
默认是 18
s 参数指示小数点右侧存储的最大位数
s 必须是 0 到 p 之间的值
默认是 0
5-17 字节
numeric(p,s)固定精度和比例的数字
允许从 -10^38 +1 到 10^38 -1 之间的数字
p 参数指示可以存储的最大位数(小数点左侧和右侧)
p 必须是 1 到 38 之间的值
默认是 18
s 参数指示小数点右侧存储的最大位数
s 必须是 0 到 p 之间的值
默认是 0
5-17 字节
smallmoney介于 -214,748.3648 与 214,748.3647 之间的货币数据4 字节
money从 -922,337,203,685,477.5808
到 922,337,203,685,477.5807 之间的货币数据
8 字节
float(n)从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据
n 参数指示该字段保存 4 字节还是 8 字节
float(24) 保存 4 字节,而 float(53) 保存 8 字节
n 的默认值是 53
4 或 8 字节
real从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据4 字节

Date

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

其他

数据类型描述
sql_variant存储最多 8,000 字节不同数据类型的数据
除了 text、ntext 以及 timestamp
uniqueidentifier存储全局唯一标识符 (GUID)
xml存储 XML 格式化数据
最多 2GB
cursor存储对用于数据库操作的指针的引用
table存储结果集,供稍后处理
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值