数据库之数据类型

1.整形

Sizemysqlsqlserver
1字节tinyinttinyint(0-255)/bit(只能是0或1)
2字节smallintsmallint
3字节mediumint
4字节int / integerint
8字节bigintbigint

mysql 可以在定义时加上 unsigned,可实现无符号整数。(在navicat上有勾选项)。 sqlserver 不支付无符号选择

2.浮点

mysql 
float(m,d)单精度浮点4字节 m表示总个数 d表示小数位
double(m,d)双精度浮点8字节 m表示总个数  d表示小数位
sqlserver 
float单精度浮点(实质是float(24) 4字节,float(53) 8字节,系统自动转换) 存在精度损失
real双精度浮点8字节
decimal(p,s)m表示总个数 d表示小数位 所占内存按总个数计算
numeric(p,s)m表示总个数 d表示小数位 所占内存按总个数计算
moeny用来表示货币 精确到小数点后4位 -9220亿到9220亿之间

3.日期

mysql 
date3字节 YYYY-MM-DD 日期值
time3字节 HH:MM:SS 时间或持续时间
year1字节 YYYY 年份
datetime8字节 YYYY-MM-DD HH:MM:SS 日期加时间
timestamp4字节 YYYYMMDD HHMMSS 日期加时间 2038年就到期了有限制
sqlserver 
datetime8字节 日期时间 精确到 3.33毫秒(前面4字节存储1900年1月1日以来的天数 后面4字节存储当前当天经过的毫秒值)
smalldatetime4字节 日期时间 精确到分钟
datetime2(n)动态字节n表示一秒的精度
date3字节YYYY-MM-DD日期类型
time时间类型 hh:mm:ss.nnnnnnn

4.二进制

mySql 
binary(M)M(1-8000)固定M字节 最大可存储M字节数据(前面补0)占用M+4字节
varbinary(M)可变二进制数据 最大可存储M字节数据 占用M+4字节 前面存储实际存储字节数
bit(M)M位二进制数据,M值最大64(也就是8字节)
tinyblob可变长二进制(255)字节
blob可变长二进制(2^16-1)字节
mediumblob可变长二进制(2^24-1)字节
longblob可变长二进制(2^32-1)字节
sqlServer 
bit存储 0/1 1表示true 0表示false
binary(M)M(1-8000)固定M字节 最大可存储M字节数据 (前面补0) 占用 M+4字节
varbinary(M)M(1-8000)可变二进制,
image存储数据量大的二进制数据

5.字符串

mysql数字表示的都是字符串长度而非字节数,mysql要注意编码
char(M)

定长为M的字符串,不足M末尾补空字符串 M为0-255

varchar(M)

可变长字符串 M为字节最大值 M为0-65535

tinytext可变字符串(0-255)
text可变字符串(2^16-1)
mediutext可变字符串(2^24-1)
longtext可变字符串(2^32-1)
sqlservern是字符串长度,不是字节数
char(n)定长为n的字符串 n为(1-8000) 纯英文使用
varchar可变长字符串 n为(1-8000)  
nchar(n)定长为n的字符串unicode编码 n为(1-4000) 占用大小为n*2 中文使用带n的
nvarchar(n)可变长字符串unicode编码 n为(1-4000)
text可变长度字符串  最大存储2^32-1长度字符串
ntext可变长度字符串unicode编码 最大存储2^16-1长度字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值