MySQL数据类型全解析
数据类型定义列中可以存储什么数据以及该数据实际怎样存储的基本规则。
数据类型用于以下目的
1、允许限制可存储在列中的数据。如数值数据类型列只能接受数值。
2、允许在内部更有效地存储数据。如用比文本串更简洁的格式存储数值和日期时间值。
3、允许变换排序顺序。如数据都作为串处理,则1位于10前,10位于2前(串以字典顺序排序,从左边开始比较,一次一个字符);作为数值数据类型,数值才能正确排序。
一、串数据类型
最常用的数据类型,存储串,如名字、地址、电话号码等。
两种基本的串类型定长串和变长串。
定长串接受长度固定的字符串,其长度是在创建表时指定的。定长列不允许多于指定的字符数目,它们分配的存储空间与指定的一样多。如CHAR。
变长串存储可变长度的文本。有些变长数据类型具有最大的定长,有些则是完全变长的,不管是哪种,只有指定的数据会得到保存(额外的数据不保存),如TEXT。
PSMySQL处理定长列远比处理变长列快得多。且MySQL不允许对变长列(或一个列的可变部分)进行索引。
数据类型说明
CHAR1~255个字符的定长串。长度必须在创建时指定,否则MySQL假定为CHAR(1)。
ENUM接受最多64K个串组成的一个预定义集合的某个串。
LONGTEXT与TEXT相同,但最大长度为4GB。
MEDIUMTEXT与TEXT相同,但最大长度为16 K。
SET接受最多64个串组成的一个预定义集合的零个或多个串。
TEXT最大长度为64 K的变长文本。
TINYTEXT与TEXT相同,但最大长度为255字节。
VARCHAR长度可变,最多不超过255字节。如创建时指定为VARCHAR(n),则可存储0到n个字符的变长串(其中n≤255)。
PS
1、引号使用何种形式的串数据类型,串值都必须括在引号内(通常使用单引号)。
2、须遵守的基本规则如果数值是计算(求和、平均等)中使用的数值,则存储在数值数据类型列中。如果数值作为字符串使用,则保存在串数据类型列中。如在数值字段中存储邮政编码01234,保存的是数值1234,丢失了一位数字。
二、数值数据类型
存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。
支持的取值范围越大,所需存储空间越多。,有的数值数据类型支持使用十进制小数点(和小数),而有的则只支持整数。表D-2列出了常用的MySQL数值数据类型。
PS
1、所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号。有符号数值列可以存储正或负的数值,无符号数值列只能存储正数。
2、默认情况为有符号,若不需要存储负值,可以使用UNSIGNED,这样做将允许你存储两倍大小的值。
3、与串不同,数值不应该在引号内。
4、MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)。
数据类型说明
BIT位字段,1~64位。在MySQL 5之前,BIT在功能上等价于TINYINT。
BIGINT整数值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,为0~18446744073709551615的数。
BOOLEAN(或BOOL)布尔标志,为0或者为1,主要用于开/关(on/off)标志。
DECIMAL(或DEC)精度可变的浮点值。
DOUBLE双精度浮点值
FLOAT单精度浮点值
INT(或INTEGER)整数值,支持-2147483648~2147483647,UNSIGNED同上。
MEDIUMINT整数值,支持-8388608~8388607,UNSIGNED同上。
REAL4字节的浮点值。
SMALLINT整数值,支持-32768~32767,UNSIGNED同上。
TINYINT整数值,支持-128~127,UNSIGNED同上。
三、日期和时间数据类型
数据类型说明
DATE表示1000-01-01~9999-12-31的日期,格式为YYYY-MM-DD。
DATETIMEDATE和TIME的组合。
TIMESTAMP功能和DATETIME相同,但范围较小。
TIME格式为HH:MM:SS。
YEAR2位数字表示,范围是70~69(1970~2069);4位数字表示,范围是1901~2155
四、二进制数据类型
可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等。
数据类型说明
BLOBBlob最大长度为64KB。
MEDIUMBLOBBlob最大长度为16 MB。
LONGBLOBBlob最大长度为4GB。
TINYBLOBBlob最大长度为255字节。
以上就是MySQL数据类型全解析的详细内容,更多关于MySQL数据类型的资料请关注狼蚁SEO其它相关文章!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程