Mysql 字段类型属性

常见字段类型最大长度和默认长度

这里写图片描述

数值类型

这里写图片描述

字符类型

这里写图片描述

时间类型

这里写图片描述

枚举、集合

ENUM (最多65535个成员) 64KB
SET (最多64个成员) 64KB

Float和Decimal的区别

在 WHERE 子句搜索条件中(特别是 = 和 <> 运算符),应避免使用float或real列。最好限制使用float和real列做> 或 < 的比较。
float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,用于定义货币要求精确度高的数据。在数据迁移中,float(M,D)是非标准定义,最好不要这样使用。M为精度,D为标度。
浮点数是直接把小数转化为二进制,二多数小数转化为二进制是有误差的,也就是说不能精确表示。decimal则可以没有任何误差的表示小数

Text和Blob的区别

(1)相同
在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合。如果截掉的字符不是空格,将会产生一条警告。使用严格SQL模式,会产生错误,并且值将被拒绝而不是截取并给出警告.
BLOB和TEXT列不能有 默认值.
当保存或检索BLOB和TEXT列的值时不删除尾部空格。(这与VARBINARY和VARCHAR列相同).
对于BLOB和TEXT列的索引,必须指定索引前缀的长度。对于CHAR和VARCHAR,前缀长度是可选的.

(2)相异
Text :
Text值是大小写不敏感的
Text被视为非二进制字符串
Text列有一个字符集,并且根据字符集的 校对规则对值进行排序和比较
可以将Text列视为VARCHAR列
MySQL连接程序/ODBC将Text值定义为LONGVARCHAR
Blob 可以储存图片,Text不行,Text只能储存纯文本文件
Blob:
Blob值的排序和比较以大小写敏感方式执行;
Blob被视为二进制字符串;
Blob列没有字符集,并且排序和比较基于列值字节的数值值。
在大多数方面,可以将Blob列视为能够足够大的VARBINARY列
MySQL连接程序/ODBC将Blob值定义为LONGVARBINARY
一个Blob是一个能保存可变数量的数据的二进制的大对象

byte[] buf=new byte[inputStream.available()];   
//将文件读入到byte[]中   
inputStream.read(buf);   
ps.setBytes(2, buf);   
ps.executeUpdate();  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值