• 数据库_10_校对集问题


    校对集:数据比较方式

    校对集有三种格式:

      _bin:binary,二进制,取出二进制位,从左向右一位一位的比较,区分大小写

      _cs:case sensitive,大小写敏感,区分大小写。(很少)(utf8不支持)

      _ci:case insensitive,大小写不敏感,不区分大小写。

    -- 查看所有校对集
    show collation;
    

    校对集应用:只有当数据产生比较的时候,校对集才会生效。

    对比:使用utf8的_bin和_ci来验证不同的校对集效果

      1.创建不同校对集对应的表

    -- 创建表使用不同的校对集
    create table my_collate_bin(
    name char(1)
    )charset utf8 collate utf8_bin;
    
    create table my_collate_ci(
    name char(1)
    )charset utf8 collate utf8_general_ci; -- 默认utf8_general_ci可直接写成utf8
    

       

      2.插入数据

    -- 插入数据
    insert into my_collate_bin values('a'),('A'),('B'),('b');
    insert into my_collate_ci values('a'),('A'),('B'),('b');
    

       

      3.比较:根据某个字段进行排序:oder by 字段名 [asc或者desc]; asc 升序(默认),desc 降序。

    -- 排序查找
    select * from my_collate_bin order by name;
    select * from my_collate_ci order by name;
    

       

    校对集必须在没有数据之前声明好,如果有了数据,那么再进行校对集修改,则修改无效。

    -- 有数据后修改校对集
    alter table my_collate_ci collate =utf8_bin;
    

       

  • 相关阅读:
    js语言结构小记(一)
    jquery插件:fancybox
    转载(深刻地了解到了js数组是引用类型)
    sqlite 页面结构分析
    有限状态机(FSM)的设计与实现(二)
    sqlite源码中的一个潜在Bug
    一种整数数据压缩存储的算法实现
    构建自己的内存池(一)
    sqlite Btree结构分析
    构建自己的内存池(二)
  • 原文地址:https://www.cnblogs.com/tianqizhi/p/9066342.html
Copyright © 2020-2023  润新知