binary 与 varbinary 类型和char与varchar类型是相似的,只是他们存储的是二进制数据,也就是说他们是包含字节流而不是字符流,他们有二进制字符的集合和顺序,他们的对比,排序是基于字节的数值进行的

binary与varbinary的最大长度和char与varchar是一样的,只不过他们是定义字节长度,而char和varchar对应的是字符长度。

存储和取出时对尾部空格的处理

char(N)用来存储非二进制字符串,插入时,对于少于N个字符的会自动在尾部加空格,查询时,尾部的空格就会被丢弃掉

vachar(N) 用来存储非二进制字符串,插入时,对于少于N个字符的不填补空格,查询时,尾部的空格不会被丢弃掉

binary(N)存储二进制字符串,插入进,少于N个字节的会自动在尾部加0x00,取出时,所有的字节都保留,返回定义长度的字节长度,在比较的时候,所有的字节都是有效的,并且0x00

varbinary在插入不会去填补0x00字节,查询的时候也不会丢弃任何字节,在比较的时候,所有的字节都是有效的,并且0x00

大小比较时

char与varchar的字符比较中,是忽略大小写与最后的空格的,如:

mysql> select 'a'='a ' , 'a'='A' , 'a'='A ';

+----------+---------+----------+

| 'a'='a ' | 'a'='A' | 'a'='A ' |

+----------+---------+----------+

|        1 |       1 |        1 |

+----------+---------+----------+

1 row in set (0.00 sec)

而binary及varbinary的字节比较中,所有的信息都不会被忽略,如:

mysql> CREATE TABLE t (c BINARY(3));

Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO t SET c = 'a';

Query OK, 1 row affected (0.01 sec)

mysql> SELECT HEX(c), c = 'a', c = 'a\0\0' from t;

+--------+---------+-------------+

| HEX(c) | c = 'a' | c = 'a\0\0' |

+--------+---------+-------------+

| 610000 |       0 |           1 |

+--------+---------+-------------+

1 row in set (0.08 sec)

mysql varbinary类型_mysql中varbinary、binary、char、varchar异同相关推荐

  1. mysql高精度类型_mysql中常见的数据类型

    2.浮点数 如果希望保证值比较准确,推荐使用定点数数据类型.MySql中的浮点类型有float,double和real.他们定义方式为:FLOAT(M,D) . REAL(M,D) . DOUBLE ...

  2. mysql timestamp 类型_MySQL中“诡异”的TIMESTAMP数据类型

    注意:从5.6.4版本开始,TIME,TIMESTAMP,DATTIME这三种类型增加了对小数秒的支持,timestamp存储大小为4Bytes+小数部分:datetime存储大小为5Bytes+小数 ...

  3. mysql decimal 类型_MySQL中decimal类型用法的简单介绍

    MySQL中支持浮点数的类型有FLOAT.DOUBLE和DECIMAL类型,DECIMAL 类型不同于FLOAT和DOUBLE,DECIMAL 实际是以串存放的.DECIMAL 可能的最大取值范围与D ...

  4. 数组在mysql中是什么类型_MySQL 中的数据类型介绍

    1.概述 要了解一个数据库,我们也必须了解其支持的数据类型. MySQL支持所有标准的SQL数据类型,主要分3类: 数值类型 字符串类型 时间日期类型 另一类是几何数据类型,用的不多,也没多介绍.  ...

  5. mysql int char连接_MySQL中int、char以及varchar的性能比较

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  6. mysql数据库 日志类型_MySQL中的日志类型(一)-摘要和日志的共同特征

    MySQL中的日志类型(一)-摘要和日志的共同特征 发布时间:2020-07-12 19:56:15 来源:51CTO 阅读:506 作者:月饮沙 MySQL中的日志类型 MySQL具有多种日志,用来 ...

  7. mysql查询char和int哪个快_MySQL中int、char以及varchar的性能对比

    本篇文章给大家带来的内容是关于MySQL中int.char以及varchar的性能对比,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 网络上有许多似是而非的"谣言" ...

  8. mysql字符类型_MYSQL字符类型大全

    ============= MySQL数据类型 ============= 整数类型 ======== 整数类型 字节数 无符号范围 有符号的范围 TINYINT 1 0~255 -128~127 S ...

  9. mysql 负数类型_MySQL数据类型详解

    MySQL数据类型,可以被分为3类:数值类型.日期和时间类型以及字符串(字符)类型 方括号("["和"]")指出可选的类型修饰符的部分 M 指出最大的显示尺寸. ...

  10. mysql bit类型_MySQL bit类型

    本教程将向您介绍如何存储和使用位值的MySQL BIT数据类型. MySQL BIT数据类型简介 MySQL提供了允许您存储位值的BIT类型.BIT(m)可以存储多达m位的值,m的范围在1到64之间. ...

最新文章

  1. 【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息
  2. Linux更改终端的用户名和主机名的颜色
  3. 计算机管理器win,进入windows启动管理器,win启动管理器
  4. .net core高并发_高并发下的Node.js与负载均衡
  5. JS 面向对象实例 prototype
  6. 怎样实现banner自动播放html,纯css实现轮播图banner自动轮换效果
  7. Python操作IHTMLDocument2用于自动化测试
  8. 毛驴县令第二季简介及其下载
  9. linux视频字幕下载工具,Linux中编辑视频字幕
  10. 机器学习 Machine Learning
  11. CentOS6u9 网卡HWADDR和UUID信息重新生成和获取
  12. 回顾2022,展望2023,笔耕不辍,钟情翰墨
  13. (66)-- 多进程爬取腾讯招聘信息
  14. sqldbx mysql 乱码_sqlDbx连接mysql 及乱码
  15. spring boot 中阿里druid 数据源配置及密码加密
  16. Win7闪屏黑屏蓝屏解决办法
  17. 解决谷歌浏览器提示Google账号无法登录提示浏览器或应用不安全问题
  18. 使用特定分隔符分割字符串
  19. JMM——认识JMM
  20. Python Flask Web教程002:Flask 快速上手

热门文章

  1. java oa系统消息推送_第三方系统向泛微OA系统推送消息
  2. SpeedFan 控制风扇转速
  3. 技术面试问项目难题如何解决的_技术面试中,遇到不会回答的问题怎么破?
  4. 2005计算机编程入门教学,Micro:bit教程05—小bit编程入门教程
  5. 单片机矩阵键盘扫描程序c语言,51单片机矩阵键盘扫描程序(源代码)
  6. 2022高教社杯全国大学生数学建模竞赛B题解析(更新完结)
  7. 十四步实现拥有强大AI的五子棋游戏
  8. UG NX10 NX12 用曲线方程式绘制实体模型的方法
  9. QQ坦白说v1.1 软件 源码 解析
  10. 交易学习--复盘软件及其使用方法