学习笔记-关系型数据库-MySQL-shell基本操作、数据类型

旧街凉风 提交于 2020-01-10 02:52:06

 

 

 

 

SQL结构化查询语言

 类型:

  数值类型:

    整数:

    TINYINT: 1byte, -128-127, 0-255, 微整数

    SMALLINT: 2byte, -32768-32767, 0-65535, 小整数

    MEDIUMINT: 3byte, -2^23-2^23-1, 0-2^24-1, 中等整数

    INT: 4byte, -2^31-2^31-1, 0-2^32-1, 整数

    BIGINT: 8byte, -2^63-2^63-1, 0-2^64-1, 大整数

    小数:

    FLOAT: FLOAT(M, D)

        M:总宽度

        D:小数位数

        FLOAT(5, 2) 举例如:129.35

    DOUBLE: 比FLOAT精度更高

    DECIMAL: DECIMAL(M, D)

         M:有效位数

         D:小数位数

         占用M+2字节

  字符类型:

    CHAR: 固定长度字符

        用法:CHAR(n),n是长度

           最大长度255字符

           不够指定字符数时在右边用空格补齐

           自动截断超出指定字符数的数据

    VARCHAR:可变长字符

         用法:VARCHAR(n),n是长度

         按数据大小分配存储空间

            自动截断超出指定字符数的数据

    text/blob:大文本类型

        字符数大于65535存储时使用

  日期时间类型

    日期时间,DATETIME

         占用8个字节

         范围:1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999

    日期时间,TIMESTAMP,常用于时间戳

         占用4个字节

         范围:1970-01-01 00:00:00.000000 ~ 2038-01-19 03:14:07.999999

    日期,DATE

      占用4个字节

      范围:0001-01-01 ~ 9999-12-31

    年份,YEAR

      占用1个字节

      范围:1901~2155

    时间,TIME

      占用3个字节

         格式:HH:MM:SS

    关于日期的说明

      关于日期时间字段

        当未给TIMESTAMP字段赋值时,自动以当前时间赋值,而DATETIME字段默认赋值为0

      YEAR年份的处理

        默认用4位数表示

        当只用2位数字赋值时

          00-69 表示2000-2069

          70-99 表示1970-1999

    日期和时间函数

      now():获取调用此函数时的系统日期时间,得出一次后,以后就不变了

      sysdate():执行时动态获取系统日期时间,实时的

      sleep(N):休眠N秒

      curdate():获取当前的系统日期

      curtime():获取当前的系统时刻

      month():获取指定时间中的月份

      date():获取指定时间中的日期

      tiem():获取指定时间中的时刻

 

 

  枚举类型

    从给定值集合中选择单个值,ENUM

      定义格式:enum(值1, 值2, 值N)

    从给定值集合中选择一个或多个值,SET

      定义格式:set(值1, 值2, 值N)

 

   

 

约束条件

  Null允许为空,默认的设置是为空

  NOT NULL不允许为空

  Key索引类型(是否主键)

  Default设置默认值,缺省为Null  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!