WEB开发网
开发学院数据库MySQL Mysql入门系列:MySQL的列类型(2) 阅读

Mysql入门系列:MySQL的列类型(2)

 2006-12-31 10:47:43 来源:WEB开发网   
核心提示: 请注意,VARCHAR 列的出现使MySQL将c1也转换成了VARCHAR 类型,Mysql入门系列:MySQL的列类型(2)(4),如果试图用ALTER TABLE 将c1转换为CHAR,将不起作用,BLOB 类型实际是一个类型系列( T I N Y B L O B、B L O B、M

请注意,VARCHAR 列的出现使MySQL将c1也转换成了VARCHAR 类型。如果试图用ALTER TABLE 将c1转换为CHAR,将不起作用。将VARCHAR 列转换为CHAR 的惟一办法是同时转换表中所有VARCHAR 列:

BLOB 和TEXT 列类型像VARCHAR 一样是可变长的,但是它们没有定长的等价类型,因此不能在同一表中与BLOB 或TEXT 列一起使用CHAR 列。这时任何CHAR 列都将被转换为VARCHAR 列。定长与可变长列混用的情形是在CHAR 列短于4 个字符时,可以不对其进行转换。例如,MySQL不会将下面所创建的表中的CHAR 列转换为VARCHAR 列:

短于4个字符的列不转换的原因是,平均情况下,不存储尾空格所节省的空间被VA R C HA R列中记录每个值的长度所需的额外字节所抵消了。实际上,如果所有列都短, MySQL将会把所定义的所有列从VARCHAR 转换为CHAR。MySQL这样做的原因是,这种转换平均来说不会增加存储需求,而且使表行定长,从而改善了性能。如果按如下创建一个表,VARCHAR 列全都会转换为CHAR 列:

2. BLOB 与TEXT 列类型

BLOB 是一个二进制大对象,是一个可以存储大量数据的容器,可以使其任意大。在MySQL中,BLOB 类型实际是一个类型系列( T I N Y B L O B、B L O B、M E D I U MB L O B、L O N G B L O B),除了在可以存储的最大信息量上不同外(请参阅表2 - 8),它们是等同的。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接