• 技术文章 >数据库 >mysql教程

    mysql数据类型有哪些

    coldplay.xixicoldplay.xixi2020-10-29 16:18:21原创697

    mysql数据类型有:1、数值类型;2、日期和时间类型;3、字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。

    mysql数据类型有:

    MySQL支持的数据类型在几类:数值类型,日期和时间类型和字符串(字符)类型。

    数据类型:

    注意:

      eg:

        tinyint(4) -- 实际存储值为2, 如果没有指定zerofill,查询得到的结果就是 2, 如果指定了zerofill,则查询结果就是 0002,左边使用0来进行填充;

    zerofill属性:

    浮点型:

        Float(M,D)M为数字的位数,包含了整数部分和小数部分;D为小数部分,【D <= M-2】; 如果等于则整数部分为0,最大的值也就是0.99

        eg:

    关于默认值:

    如果一个列不明确的指出默认是是多少的情况下:

    日期和时间格式:

      表示时间值的日期和时间类型是日期时间(DATATIME)、日期(DATA)、时间戳(TIMESTAMP)、时间(TIME)和年份(YEAR)。

      DATATIME范围: '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

      DATA范围:'1000-01-01' to '9999-12-31'

      TIMESTAMP范围:'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07'

      TIME范围:'-838:59:59' to '838:59:59'

      YEAR范围:year(4) --- 1901~2155; year(2) --- 00~99

      TIMESTAMP: 时间戳列显示在相同的格式为DATETIME列。换句话说,显示宽度固定为19个字符,格式是'YYYY-MM-DD HH:MM:SS'。

      TIMESTAMP数据类型提供自动初始化和更新。但是只能有一列默认值和更新是 指定为CURRENT_TIMESTAMP

      1、自动初始化和自动更新 eg : ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

      2、只有自动初始化; eg:ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP

      3、只有自动更新; eg:ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

      4、都没有; eg:ts TIMESTAMP DEFAULT 0

    字符串类型:

      字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。

      char和varchar的区别:存储长度的区别在于最大长度和是否保留空格;

        char会保留空格,varchar不会保留空格

        char为 0~ 255; varchar为 0 ~ 65535

      

      ENUM: 枚举是一个字符串对象从中明确列举了在创建表时列规范的允许值的列表中选择一个值。【当插入值不能和列表的值惊醒匹配时,默认是最大索引值】

     , ,
    numbers ENUM('0','1','2')
    mysql> INSERT INTO t (numbers) VALUES(2),('2'),('3');mysql> SELECT * FROM t;+---------+
    | numbers |
    +---------+
    | 1       |
    | 2       |
    | 2       |
    +---------+

      SET: 集是一个对象,该对象可以有零个或多个值的字符串,其中每个必须从列表中选择允许创建表时指定的值。【当插入值不能和列表的值经行匹配时,MYSQL会忽略列表中不存在的值

    1 CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));2 3 INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');

      从定义中可以看出 ENUM和SET的区别在于值是定义时指定的值中的一个还是多个。还有就是在插入值在列表中不存在的表现不一样。

    更多相关免费学习推荐:mysql教程(视频)

    以上就是mysql数据类型有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:mysql 数据类型
    上一篇:mysql导入文件中文乱码怎么办 下一篇:mysql ddl什么意思
    大前端线上培训班

    相关文章推荐

    • c语言中允许的基本数据类型包括哪些?• java有哪些基本数据类型• mysql怎样改变某一列的数据类型• MySQL中的数据类型和schema优化

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网