1.类型范围

2.占用字节

CHAR是定长字符串类型,不论其存放的字符串长短,统一都会占用m字节;

VARCHAR是变长字符串类型,在声明时虽然指定其长度m,仅指其能存放字符串的最长长度;

存放的字符串长度不超过255,VARCHAR会额外申请一个字节用于存放实际字符串的长度;

存放的字符串长度如超过255,会额外申请两个字节的空间用于存放实际字符串的长度;

3.截取报错

如果sql_mode未使用严格模式,则会如上表所示的样子,按最大长度截取,但是会产生警告;

如果sql_mode设置了严格模式,则会报错,如下图所示

4.保存过滤:char自动trim varchar不会

Char类型的数据在存储时会自动裁剪右侧的空格串,而VARCHAR则不会

5.数据校验

CHAR、VARCHAR、TEXT类型在进行比较时,都会自动裁剪后侧的空格串,进行比较

如果需要将右侧的空格字符串参与比较,使用like即可,如下图所示

6.存储占用

char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;

varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节。

7.应用

提前知道需要存放的数据内容,如邮政编码、彩票号码等固定位数的字符串,则可以使用char类型;

如不能确定长度的情况下,应该使用varchar;

在使用注意不超过最大长度和不到最大长度时两种类型的不同处理;

对于字符串比较时的右侧空格串裁剪规则要引起注意;

MySQL的char与varchar:类型长度 记录字节 截取报错 保存trim 数据校验 存储占用相关推荐

  1. MySQL之char、varchar类型简析

    我们都知道,MySQL中关于字符,有char和varchar两种常用的类型,可能在平时的使用过程中,大家不会去关心这两种类型的区别,只是会用就可以了,或者说看到过一些它们的区别,但是没有时间去测试,今 ...

  2. Oracle修改varchar类型为clob时,报错:ORA-22858

    Oracle直接将varchar2修改为clob会报错,因此可使用以下方式进行修改: 举例:你的表名:TableName 需要修改的字段:name 辅助的字段:name_up alter table ...

  3. MySQL中的char和varchar类型

    文章目录 1 MySQL中的char和varchar类型 1 MySQL中的char和varchar类型 CHAR类型和VARCHAR类型都在创建表时指定了最大长度,其基本形式如下: 字符串类型(M) ...

  4. mysql中char与varchar的区别分析

    原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...

  5. mysql中nchar_浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别

    1,定义: char:    固定长度,存储ANSI字符,不足的补英文半角空格. nchar:   固定长度,存储Unicode字符,不足的补英文半角空格 varchar:  可变长度,存储ANSI字 ...

  6. MySQL中char,varchar和text的区别

    MySQL中char,varchar和text的区别 java程序中的string类型,在mysql数据表中可以有三种对应的类型:char,varchar和text. char,varchar和tex ...

  7. MySQL字符集编码中,VARCHAR 字符长度与字节长度的理解

    MySQL中基于 UTF-8 字符集编码,VARCHAR 字符长度与字节长度的理解 UTF-8 字符集 utf8mb4 字符集 参考 UTF-8 字符集 在 mysql 4.1 及之前早期版本中,如果 ...

  8. 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错

    [踩坑记录]mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错 报错记录 解决方案 推荐方案 使用uuid作为主键,修改id的类型为bigint ...

  9. R进行构建回归时出现的变数的长度不唯一的报错

    R进行构建回归时出现的变数的长度不唯一的报错 有时候在构建回归方程时,会发现系统出现报错,说 某个变数的长度不唯一,从而无法构建回归模型,后经过实验发现下列几种解决方法. 检查变量,通过 str() ...

最新文章

  1. Bootstrap下拉菜单组件
  2. html悬浮弹窗后面背景变深,JS+CSS实现Div弹出窗口同时背景变暗的方法
  3. Android NDK开发入门学习笔记(图文教程,极其详尽)
  4. 在python中字典和集合都是用一对什么作为界定符_Python习题(一)
  5. Python3标准库built-in、itertools、functools中的生成器
  6. javascript Event loop
  7. Windows Phone 7 有损 缩略图的生成!
  8. WebForm控件多字段绑定
  9. c语言迷宫算法坐标怎么定义,[原创]递归随机迷宫生成算法详解
  10. GIS中常用的高程系
  11. 卓有成效的管理者(笔记)——有效的决策
  12. 项目成本管理-案例分享
  13. STM8S003超声波测距
  14. 利用计算机画统计图.doc,信息技术应用利用计算机画统计图.pptx
  15. 云服务器和虚拟主机有哪些区别
  16. 在java中如何让背景图片连续不断地滚动_JS实现图片的不间断连续滚动
  17. “李焕英效应”将长期主宰中国影视股投资逻辑
  18. 如何选择合适的统计学方法
  19. Win10 年度最重大更新:代码、理想与爱
  20. 学习笔记-FIR滤波器工作原理

热门文章

  1. 小知识点BeanUtils.copyProperties
  2. EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证
  3. 在tomcat中部署mule项目
  4. Opencms安装和配置
  5. 创建一个存储过程,返回指定员工的姓名和薪水
  6. Android中活动Activity方面的知识点
  7. 目标检测特殊层:PSROIPooling详解
  8. 目标检测方法系列——R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD
  9. Windows下Faster R-CNN 配置/Matlab版本编译
  10. filter(HTML)滤镜用法