MySQL数据类型

简介:本文主要介绍MySQL的基本数据类型,以及类型的注意事项

整型

ZEROFILL约束数字类型 定义位数后不够的前面补0
说明:
a. UNSIGNED 无符号位: 正数
b. ZEROFILL :当数值长度小于指定长度用0 填补,添加ZEROFILL字段属性会自动添加UNSIGNED

     (1) TINYINT[(M)]  [UNSIGNED无符号位|ZEROFILL]
             范围:   
                 有符号位:-128~127
                 无符号位:0~255
             大小: 1字节 (1Byte=2^8 =8bit)
     (2) SMALLINT[(M)]  [UNSIGNED无符号位|ZEROFILL]
              范围:   
                 有符号位:-32768~32767
                 无符号位:0~65535
             大小: 2字节 (2Byte=2^16)
     (3) MEDIUMINT[(M)]  [UNSIGNED无符号位|ZEROFILL]
             范围:   
                 有符号位:-8388608~8388607
                 无符号位:0~16777215
             大小: 3字节 (3Byte=2^24)
     (4) INT[(M)]  [UNSIGNED无符号位|ZEROFILL]
              范围:   
                 有符号位:-2147483648 ~2147483647
                 无符号位:0~4294967295
              大小: 4字节 (4Byte=2^32)
     (5)BIGINT[(M)]  [UNSIGNED无符号位|ZEROFILL]
              大小: 8字节(2^64)

浮点型

   FLOAT[(M[,D])]  [UNSIGNED无符号位|ZEROFILL]
      范围:  -3.4E38 ~3.4E38  最大能保留小数点7位

   DOUBLE[M[,D]] [UNSIGNED无符号位|ZEROFILL]
      范围:  -1.79E308 ~ 1.79E308 最大能保留小数点15位

   DECIMAL[M[,D]] [UNSIGNED无符号位|ZEROFILL]
      定长类型浮点  最大整数位65位(默认10位),
      最大小数位30(默认值0)

说明:
a.M 整数部分和小数部分总共位数
D 小数部分的位数
例如: float(7,2) unsigned 0 ~ 99999.99
b. FLOAT,DOUBLE存近似值,DECIMAL精确值

字符型

(1) CHAR([M]):定长字符
    范围: 最多255字节(1个字母占一个字节)
    例如:CHAR(20) 要存'hello',用空格补全长度内存实际存'hello'

(2) VARCHAR([M]):变长字符
    范围:最多65535字节
    例如:VARCHAR(20) 要存'hello'内存实际存'hello'

(3) TINYTEXT:最多 255字节

(4) TEXT:最多65535字节

(5) MEDIUMTEXT:16777215字节

(6) LONGTEXT:4294967295字节

说明:
a.CHAR 效率高但不省空间,VARCHAR效率低但省空间,例如加密定长密码字段存为 CHAR(32)
b. 字符型授下面的影响
(1) 最多65535字节
(2) 编码
gbk,gb2312:一个字最多占2个字节
utf8:一个字最多占3个字节,
最大值 21844字节
(3) 表中总字符字段不能超过65535字节
c. TEXT 效率最低 ,一般新闻内容用TEXT类型

布尔类型

  1. TINYINT(1)
  2. BOOLEAN

时间日期类型

(1) DATE: 占4个字节  YYYY MM DD
(2) TIME:  占3 个字节  HH MM DD
(3) YEAR:  占 1个字节  YYYY
(4) DATETIME: 占8个字节  YYYY MM DD  HH MM DD
(5) TIMESTAMP:占4个字节  时间戳:1970-1-1 00-00-00 --2037-1-1

枚举类型

  1. ENUM : 最大65535字节
    例如:sex ENUM(‘man’,‘woman’,‘secret’);

约束条件

  1. DEFAULT : 默认值
  2. NOT NULL :不能为空
  3. [PRIMARY] KEY :主键,一个表中必须有一个主键,是主键的字段自动添加NOT NULL和唯一性( UNIQUE)
  4. UNIQUE [KEY]:不重复,唯一值
    (例如:用户名不能重复、邮箱不能重复)
  5. AUTO_INCREMENT:自动增长,对字段值自动加1,AUTO_INCREMENT
    要与[PRIMARY] KEY或UNIQUE [KEY] 结合使用

有遗漏或者不对的可以在我的公众号留言哦

编程经验共享公众号二维码

编程经验共享公众号二维码
更多内容关注公众号
Copyright © 2021 编程经验共享 赣ICP备2021010401号-1