MySQL的char与varchar:类型长度 记录字节 截取报错 保存trim 数据校验 存储占用
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 数据校验 存储占用相关推荐
- MySQL之char、varchar类型简析
我们都知道,MySQL中关于字符,有char和varchar两种常用的类型,可能在平时的使用过程中,大家不会去关心这两种类型的区别,只是会用就可以了,或者说看到过一些它们的区别,但是没有时间去测试,今 ...
- Oracle修改varchar类型为clob时,报错:ORA-22858
Oracle直接将varchar2修改为clob会报错,因此可使用以下方式进行修改: 举例:你的表名:TableName 需要修改的字段:name 辅助的字段:name_up alter table ...
- MySQL中的char和varchar类型
文章目录 1 MySQL中的char和varchar类型 1 MySQL中的char和varchar类型 CHAR类型和VARCHAR类型都在创建表时指定了最大长度,其基本形式如下: 字符串类型(M) ...
- mysql中char与varchar的区别分析
原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...
- mysql中nchar_浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别
1,定义: char: 固定长度,存储ANSI字符,不足的补英文半角空格. nchar: 固定长度,存储Unicode字符,不足的补英文半角空格 varchar: 可变长度,存储ANSI字 ...
- MySQL中char,varchar和text的区别
MySQL中char,varchar和text的区别 java程序中的string类型,在mysql数据表中可以有三种对应的类型:char,varchar和text. char,varchar和tex ...
- MySQL字符集编码中,VARCHAR 字符长度与字节长度的理解
MySQL中基于 UTF-8 字符集编码,VARCHAR 字符长度与字节长度的理解 UTF-8 字符集 utf8mb4 字符集 参考 UTF-8 字符集 在 mysql 4.1 及之前早期版本中,如果 ...
- 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错
[踩坑记录]mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错 报错记录 解决方案 推荐方案 使用uuid作为主键,修改id的类型为bigint ...
- R进行构建回归时出现的变数的长度不唯一的报错
R进行构建回归时出现的变数的长度不唯一的报错 有时候在构建回归方程时,会发现系统出现报错,说 某个变数的长度不唯一,从而无法构建回归模型,后经过实验发现下列几种解决方法. 检查变量,通过 str() ...
最新文章
- Bootstrap下拉菜单组件
- html悬浮弹窗后面背景变深,JS+CSS实现Div弹出窗口同时背景变暗的方法
- Android NDK开发入门学习笔记(图文教程,极其详尽)
- 在python中字典和集合都是用一对什么作为界定符_Python习题(一)
- Python3标准库built-in、itertools、functools中的生成器
- javascript Event loop
- Windows Phone 7 有损 缩略图的生成!
- WebForm控件多字段绑定
- c语言迷宫算法坐标怎么定义,[原创]递归随机迷宫生成算法详解
- GIS中常用的高程系
- 卓有成效的管理者(笔记)——有效的决策
- 项目成本管理-案例分享
- STM8S003超声波测距
- 利用计算机画统计图.doc,信息技术应用利用计算机画统计图.pptx
- 云服务器和虚拟主机有哪些区别
- 在java中如何让背景图片连续不断地滚动_JS实现图片的不间断连续滚动
- “李焕英效应”将长期主宰中国影视股投资逻辑
- 如何选择合适的统计学方法
- Win10 年度最重大更新:代码、理想与爱
- 学习笔记-FIR滤波器工作原理
热门文章
- 小知识点BeanUtils.copyProperties
- EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证
- 在tomcat中部署mule项目
- Opencms安装和配置
- 创建一个存储过程,返回指定员工的姓名和薪水
- Android中活动Activity方面的知识点
- 目标检测特殊层:PSROIPooling详解
- 目标检测方法系列——R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD
- Windows下Faster R-CNN 配置/Matlab版本编译
- filter(HTML)滤镜用法