zoukankan      html  css  js  c++  java
  • Mysql 字符串类型及大小写

    MySQL字符串类型有varchar和char类型,这两者区别很多人都知道,我经常搞混。。   所以这里记一下:

    varchar类型是可变长度; 适合存储长度不一致的数据类型;

    char类型是固定长度;适合存储固定的长度类型,比如手机号,身份证号等;

    当然还有text的字符串类型;

    那查询速度哪个快呢?   char > varchar > text

    mysql默认是不区分大小不敏感的,例如:

    create table test(name varchar(10));

    insert into test values('MYSQL');

    select * from test where name='mysql';这样小写查询还是能够查到

    但是如果我需要大小写敏感呢?   那就在定义列的时候加上binary字段,BINARY关键字,它告诉MySQL,在它之后的字符串应该以二进制方式被处理。这时,当在字符串上执行比较运算符时,MySQL将牢牢记住字符串的大小写。CHAR和VARCHAR都适用此修饰符。

    现在修改试试看,

    ALTER TABLE data modify name VARCHAR(10) BINARY;

    这个时候再去查,select * from test where name='mysql'; 就查不到了

    PS:

    TEXT和BLOB类型在分类和比较的方式上不同,BLOB类型区分大小写,TEXT类型不区分大小写。MySQL手册用“TEXT类型是不区分大小写的BLOB类型”最准确地说明了这一点。

  • 相关阅读:
    騎士宣言
    [洛谷P1631] 序列合并
    [HNOI2006]公路修建问题
    [洛谷2068] 统计和
    [洛谷P1168] 中位数
    【模板】可持久化数组(可持久化线段树/平衡树)
    【模板】可持久化线段树 1(主席树)
    [JSOI2008]最大数maxnumber
    NOI导刊2010提高(06) 黑匣子
    [洛谷1533] 可怜的狗狗
  • 原文地址:https://www.cnblogs.com/dpains/p/8743972.html
Copyright © 2011-2022 走看看