zoukankan      html  css  js  c++  java
  • SQL数据类型

    MySQL支持的数据类型主要有:数值类型、时间/日期类型和字符串类型

    1. 整数类型

    2. 浮点数和定点数类型

    3. 日期和时间类型

    4. 字符串类型

    实例讲解及分析

    整型
    CREATE TABLE tem(
        a TINYINT(5) UNSIGNED ZEROFILL,
        b INT(2)    
    );
    INSERT tem(a, b) VALUES (3, 5);
    
    SELECT LENGTH(a) FROM tem;        -- 5, 应该返回的就是显示的字符长度
    SELECT LENGTH(b) FROM tem;        -- 1

      尽管LENGTH(a)返回的是5, 它在内部存储占用的空间仍旧只是1字节,返回的5是显示字符串长度 -- 00003

    字符串类型
    CREATE TABLE str_db(
        a CHAR(4),
        b VARCHAR(4)
    );
    
    INSERT str_db VALUES('hhhh', 'hh');
    INSERT str_db VALUES('你好呀你', '你好呀你');
    -- insert str_db VALUES('hhhhX', 'hhhh'); -- 出错, 无论是前者多于4个字符还是后者都不行
    
    SELECT LENGTH(a) FROM str_db;        // 4 & 12
    
    ---------------- 在CMD中修改RESULT字符集(默认GBK)
    set session character_set_results=utf16;
    SELECT LENGTH(a), CHAR_LENGTH(a) FROM str_db;    -- 4 & 12
    SELECT CHAR_LENGTH(a) FROM str_db;    // 4 & 4

      两个结果均为 4 & 12,应该是说明了length对字符串返回的是存储的字符串实际占用了的内存空间,CHAR(n)既声明了其所能存储的字符数也声明了其占用的空间(与字符集有关),当然,CHAR类型使用的是固定长度空间,即便字符串没有使用其全部空间

      而CHAR_LENGTH返回的是实际字符数

  • 相关阅读:
    eslint 屏蔽html的检查
    css 自定义悬浮窗写法
    echarts象形图图例显示问题
    win10上rocketMQ的部署过程
    死锁以及如何避免死锁
    volatile的一个例子-通俗易懂
    Java四种引用类型
    记录下:安全|API接口安全性设计(防篡改和重复调用)
    了解聚集索引,非聚集索引,联合索引,索引覆盖
    mybatis 查询树形结构
  • 原文地址:https://www.cnblogs.com/chenxingyang/p/11917991.html
Copyright © 2011-2022 走看看