有些同学在设计数据库的时候会在数据库中存储二进制数据,那么BLOB也就是二进制大对象是一个不错的选择。BLOB与TEXT有着极其相近的属性,区别就是TEXT会按照文本模式进行比较和排序,而二进制则是按照二进制编码进行比较和排序。
也许很多人认为将二进制数据存放在数据库是个不明智的选择,尤其是大数据,按照正常的思维来说这样的数据库设计是合理的,例如我们很少讲二进制数据例如图像存在数据库中,而是存储保存图像的链接。
使用BLOB的好处是提高了数据库的数据集成度和安全性,相应的,响应速度会大大降低,把一些短小的数据例如int,string地呢个类型和一些BLOB或者TEXT类型数据混合存放在同一个数据表中,这是非常不好的做法,因为这会大大的降低数据的存取速度。
另外对于BLOB的数据类型,我们只能整体读取,不能只读取一部分字节。
这里我们首先看一下bit类型,
从mysql5.0.3开始,bit的最大长度达到了64,在很早的mysql版本中,bit和tinyint(1)的基本一样的。很多时候我们需要将查询出来的数据转换成原本的类型或者在查询二进制数据不能在客户端不能正常显示的时候,我们会先用下面的语句将查询处的数据列转换成非二进制的:
[shell]SELECT column+0 FROM table;[/shell]
如果你还需要显示二进制,那么可以这样来查询:
[shell]SELECT BIN(column+0) FROM table;[/shell]
mysql的时间函数[sql]
select DATE_FORMAT(FROM_UNIXTIME(时间戳字段),'%Y%m%d') from table;[/sql]
mysql时间和日期的函数可以到官方文档查看
http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html
mysql二进制数据类型bit,mysql小函数
- Blackford
- 0