MySQL中常用的几种数据类型简介

数据类型

  • 数据类型(data_type):指系统中所允许的数据的类型
  • MySQL中常用的数据类型为:
    - 数值类型:
    - 日期和时间类型
    - 字符串类型

数值类型

  1. 整型

    (1) TINYINT:	一字节,无符号取值范围[0,255],			有符号取值范围[-128,127]
    (2) SMALLINT:	二字节,无符号取值范围[0,65535],			有符号取值范围[-32768,32767]
    (3) MEDIUMINT:	三字节,无符号取值范围[0,16777215],		有符号取值范围[-8388608,8388607]
    (4) INT:		四字节,无符号取值范围[0,4294967295],	有符号取值范围[-2147483648,2147483647]
    (5) BIGINT:		八字节,无符号取值范围[0,2^64 - 1],		有符号取值范围[-2^63,2^63 - 1]
    
  2. 定点类型

    (1) DECIMAL:即小数,可以用(M, D)来表示,其中M称为精度,表示总共的位数;D称为标度,表示小数的位数
    (2) 例如:salary DECIMAL(5,2),则表示salary的范围为 -999.99 到 999.99, 即总位数为5位,小数位数为两位
    
  3. 浮点类型

    (1) FLOAT:	四字节, 可表示精度为0 - 23位
    (2) DOUBLE:八字节, 可表示精度为0 - 53位
    (3) float和double同样支持(M,D)表示形式,(M,D)表示最多可存储M个数字的值,其中D表示小数点的位数
    
  4. Bit-Value型

    (1) BIT(M): 用于存储位值,M表示1bit允许存储M位值,M的取值范围为1-64
    

日期和时间类型

  1. DATE

    日期类型,用于包含日期部分但不包含时间部分的值。MySQL检索并显示日期'YYYY-MM-DD'格式的值。支持的范围是“1000-01-01”到“9999-12-31”。
    
  2. DATETIME

    日期时间类型,用于同时包含日期和时间部分的值。MySQL检索并以'YYYY-MM-DD hh:mm:ss'格式显示日期时间值。支持的范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”
    
  3. TIMESTAMP

    时间戳数据类型,用于同时包含日期和时间部分的值。时间戳的范围是 '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
    
  4. TIME

     时间类型,MySQL检索并以'hh:mm:ss'格式显示时间值(或'hhh:mm:ss'格式显示更大范围的小时值)。时间值可能从'-838:59:59'到'838:59:59'不等。小时的部分之所以如此之大,是因为可以使用时间类型不仅能代表一天之内(必须小于24小时),还能代表运行时间或两个事件之间的时间间隔(这可能是远远大于24小时,甚至为负)
    
  5. YEAR

    (1) 年份类型,是用于表示年份值的类型,大小为1字节。它可以声明为YEAR或YEAR(4),显示宽度为4个字符
    (2) MySQL以 YYYY 格式显示年份值,范围从 1901 到 2155, 或0000
    

字符串类型

  1. CHAR(M)

    CHAR类型为固定长度字符串,在定义时指定字符串列长。当保存时,在右侧填充空格以达到指定的长度。M 表示列的长度,范围是 0~255 个字符。
    
  2. VARCHAR(M)

    (1) VARCHAR(M) 是长度可变的字符串,M 表示最大列的长度,M 的范围是 0~65535
    (2) VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1
    (3) 例如:str1 VARCHAR(10), 定义了一个最大长度为10个字符的字符串,如果插入的字符串只有3个,则实际存储的字符串为 3 个字符和 一个字符串结束字符
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章