zoukankan      html  css  js  c++  java
  • 严格模式 浮点型 字符类型 日期类型

    严格模式

    char() 宽度默认为1 添加数据的时候他会自动截取1位来 存   (能尽量少干活就少干活 )  

      还有一种情况就是 他会自动报错 我们应该给他报错

    模糊匹配

      查看 严格模式  show variables like"%mode%";     只要是带mode的都给我查出来

      %匹配任意多个字符

       _匹配任意一个字符

      

     两种方式

        set session  临时有效 只在你当前操作窗口有效

        set session sql_mode='STRICT_TRANS_TABLES';

        set global 全局有效 终身有效

          set global sql_mode='STRICT_TRANS_TABL ES'  设置完之后需要退出客户端 从新进入

    浮点型 

    浮点型
    float(255,30) 总共255位 小数部分占30位
    double(255,30) 总共255位 小数部分占30位
    decimal(65,30) 总共65位 小数部分占30位

    create table t12(id FLOAT(255,30));
    create table t13(id DOUBLE(255,30));
    create table t14(id DECIMAL(65,30));

    insert into t12 values(1.111111111111111111111111111111);
    insert into t13 values(1.111111111111111111111111111111);
    insert into t14 values(1.111111111111111111111111111111);

    精确度
    float < double < decimal

     字符类型(***)

      分为两类  char (4)  最大 四个字符 超出 直接报错 少了用空格填充

            varchar(4)  最大 四个字符 超出 直接报错 少了有几个存几个 (节省空间)

    char_length() 查看长度   select char_length(name) from t16; 

    mysql在存储char类型字段的时候 硬盘上确确实实存的是固定长度的数据
    但是再取出来的那一瞬间 mysql会自动将填充的空格去除

    可以通过严格模式 来修改该机制 让其不做自动去除处理

    # 如果不想让mysql帮你做自动去除末尾空格的操作,需要再添加一个模式
    set global sql_mode="strict_trans_tables,PAD_CHAR_TO_FULL_LENGTH";

    char与varchar的区别
      char定长
        1.浪费空间
        2.存取速度快

      varchar变长
        1.节省空间
        2.存取速度慢(较于char比较慢)
          存的时候 需要给数据讲一个记录长度的报头
          取的时候 需要先读取报头才能读取真实数据


      char(4)                   varchar(4)
      取的时候方便           取的时候比较繁琐了 无法知道数据到底多长
      直接按固定的长度取即可

    日期类型

    * date:2019-05-01
    * time:11:11:11
    * Datetime: 2019-01-02 11:11:11
    * Year:2019

      create table student(
        id int,
        name char(16),
        born_year year,
        birth date,
        study_time time,
        reg_time datetime
      );
      insert into student values(1,'egon','2019','2019-05-09','11:11:00','2019-11-11 11:11:11'

    趁自己还没死 多折腾折腾
  • 相关阅读:
    如何在github上部署自己的前端项目
    springboot2.0整合springsecurity前后端分离进行自定义权限控制
    SpringDataJPA在Entity中常用的注解浅析
    JAVA算法之高级排序
    非关系型数据库MongoDB入门
    JAVA数据结构之哈希表
    JAVA算法之递归
    JAVA算法之简单排序
    JAVA数据结构之二叉树
    JAVA数据结构之链表
  • 原文地址:https://www.cnblogs.com/lddragon/p/11379827.html
Copyright © 2011-2022 走看看