zoukankan      html  css  js  c++  java
  • MYSQL数据库学习----MYSQL数据类型

    一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节。

    通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型可以表示多大的十进制数!

    打个比方,MYSQL中的int型数据类型,大家都知道int型可以表示4个字节,那就是32位二进制,32位二进制就能表示无符号十进制数0~4394967295.

    所以我们给这个int数据类型赋值一个在0和4394967295之间的数就可以了,如果超出这个范围系统就会报错。

    MYSQL数据类型分为几种:

    一:整型

    数据类型 (显示宽度)

    整型类型 字节数 无符号数的取值范围 有符号数的取值范围
    INT 4 0~4394967295 -2147483648~2147483647

    一般INT型在我们平常用的时候就足够我们使用了,整型中还有一些不常用的:TINYINT(1),SMALLINT(2), MEDIUMINT(3),INTEGER(4),BIGINT(8).

     

    二:浮点数和定点数

    数据类型 (M, D)

    整型类型 字节数 负数的取值范围 非负数的取值范围
    FLOAT 4

    -3.402823466E+38~

    -1.175494351E-38

    0和1.175494351E-38~

    3.402823466E+38

    M参数称为精度,表示数据总长度,不算小数点。

    D参数称为标度,指小数点后面的长度。

    其他的浮点型还有DOUBLE(8),定点型DECIMAL(M, D)或者DEC(M, D),由于MYSQL中的浮点型数据会出现误差,如果需要精确的话建议使用DEC定点型。

     

    三:日期和时间类型

    整型类型 字节数 取值范围 零值
    DATETIME 8

    1000-01-01 00:00:00~

    9999-12-31 23:59:59

    0000-00-00 00:00:00

    表示日期时间一般都是用DATETIME类型,还有一些不常用的

    YEAR(1): 只表示年份,范围1901~2155

    DATE(4): 只表示年月日,范围1000-01-01~9999-12-31

    TIME(3): 表示小时,分,秒。范围-838:59:59~838:59:59

    TIMESTAMP(4): 格式和DATETIME一样,但是表示的范围要小。

     

    四:字符串类型

    字符串类型(M)

    CHAR(M): 固定为M个字节长度存储字符串。

    VARCHAR(M): 最长M个字节长度,实际长度为存入字符串的长度+1。

    TEXT(M): 最长为65535字节,实际存储空间是存入字符串的长度+2。

    ENUM('VALUE1','VALUE2',...): 枚举类型,范围只能是列表中的值,MYSQL存入的是列表中的序列号,如果插入的值不是列表中有的就会报错。列表中值最多65535个

    SET('VALUE1','VALUE2',...): 和枚举类型差不多,但是列表中的值最多64个。

     

    五:二进制类型

    待续。。。

     

     

     

  • 相关阅读:
    angular.element函数
    mknod创建命名管道(I/O缓存)
    谈谈sipXecs及其它【转】
    Linux下判断cpu物理个数、几核
    shell 中判断文件/文件夹是否存在
    一个人可以用Open IMS Core做什么呢
    linux 下更改磁盘名
    PPTP 服务器配置
    IP多媒体子系统[转维基百科]
    针对用编译的方式安装时的卸载
  • 原文地址:https://www.cnblogs.com/roddy/p/4783190.html
Copyright © 2011-2022 走看看