char varchar java_在数据库中varchar与char的区别

char是固定长度类型

varchar是可变的长度类型

char和varchar类型相似,但是它们的存储和检索方式不同。在MySQL5.0.3,它们在最大长度和是否保留尾部空格也不相同。

char和varchar定义了字符串的最大长度。例如,char(30)可以放30个字符。

char列的长度在你建表的时候,就是你定义的固定长度。值的范围是0~255。char值存储的时候,右部以空格来填充到指定的长度。当检索char的时候,会自动去掉尾部的空格。

varchar列是变长的。在MySQL5.0.3之前可以定义的长度是0~255,之后可以定义到0~65535。在MySQL5.0.3及以后的版本中varchar列的有效长度,受行的最大值和使用的字符限制。

对比char,varchar,加上前缀的数据长度是当做一个字节还是两个字节存储。这个前缀的长度表明了值的字节数。如果值不超过255的话,这个列用一个字节的长度,如果这个值可能超过255个字节,那么就使用两个字节的长度。

如果严格的SQL模式没有启用,你分配了一个char或者varchar列超出了列的最大长度,那么这个值就会被截短以填充列,这时候就会产生一个警告。对于截短的非空格字符,你可以设置严格的SQL模式,来产生一个错误。

对于varchar列来说,SQL模式在启用的时候,大量的尾部空格在插入之前都会被截短,产生一个警告。对于char列来说,不管SQL模式是否被启用,都会静默地去掉插入值的过量的尾部空格。

varchar值存储的时候是不会填充的。如何处理尾部空格,取决于版本。在MySQL5.0.3中,当值存储和检索的时候,保留尾部空格,和标准的SQL保持一致。在MySQL5.0.3之前,值被保存到varchar列的时候,尾部空格会被剔除。这样也就意味着检索值的时候,也不存在这些空格。

在MySQL5.0.3之前,如果你需要一个不去掉尾部空格的数据类型的时候,要考虑BLOB或者TEXT类型。同样当你存储加密数据或者压缩数据的时候,也要使用BLOB列,而不是char或者varchar列,来避免需要改变值的时候,尾部空格的潜在问题。

下面的表格来说明char和varchar的存储方式和显示结果的差别。(假设列用的很简单的字符,使用latin1编码)

c16495130bfdfe258124d02a75adb099.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鄙人之斗,读IT之洋(1)

C#&#xff1a; 自己从最初的参加项目&#xff0c;只懂前台布局如何美观&#xff0c;怎样能将<border>边框整体去除&#xff0c;到如今能够在model,dal,web三层之间游走穿梭&#xff0c;谁又知道中间经历了多少&#xff0c;苦与酸&#xff0c;汗水&#xff0c;快乐&#…

震撼世界的基建狂魔,中国制造的超级工程到底有多牛?

全世界只有3.14 % 的人关注了数据与算法之美1949年的中华大地上一无所有&#xff0c;而现在一栋栋高楼伫立在这片土地上的时候不禁感叹&#xff0c;到底是什么支撑着让我们从一片荒漠变成如今高楼耸立&#xff1f;今天小编带来的这部纪录片《超级工程》&#xff0c;带你认识被称…

C# WPF图表控件之ChartControl用法指南①

“ 引言部分&#xff0c;总领全篇文章的中心内容。”WPF的DevExpress ChartControl是一种功能强大的可视化工具&#xff0c;可帮助您将数据显示为二维或伪三维条形图、区域、线和许多其他形式。01—将数据绑定到Chart SeriesStep 1. 创建新项目并添加图表创建一个新的WPF应用程…

Android之SwipeRefreshLayout

wipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support library的版本升级到19.1。 提到下拉刷新大家一定对ActionBarPullToRefresh比较熟悉,而如今google推出了更官方的下拉刷新组件,这无疑是对开发者来说比较好的消…

网络传输中的反码求和算法

在发送数据&#xff0c;计算数据包的校验和&#xff0c;按如下步骤&#xff1a; 1、把校验和字段置为0&#xff1b; 2、把需校验的数据看成以16位为单位的数字组成&#xff0c;依次进行二进制反码求和&#xff1b; 3、把得到的结果存入校验和字段中。 在接收数据时&#xff0c;…

IDEA中maven如何将jar包导入本地的maven库

第一步&#xff1a;将IKAnalyzer.jar包存放在一个文件夹中&#xff0c;比如mylib文件夹第二步&#xff1a;建立一个IKAnalyzer.jar包相关的pom.xml文件&#xff0c;需要在pom.xml文件中定义其maven坐标及其相应的依赖代码即可&#xff0c;同样将pom文件存放在上述jar文件同一文…

你以后会不会有小三?

1 千万别碰到小孩就去逗他&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 像极了早上刚睡醒炸毛的你▼3 乞丐和社畜的区别▼4 当你学校装了能上网的平板后&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼5 看图写字&#xff08;素材来源网络&#xff0…

MySQL--3--mysqldump备份策略

参考地址&#xff1a;http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/database-administration.html#backup-strategy-example 5.9 备份策略 在my.inf中启动二进制日志&#xff0c;用--log-bin[file_name]选项启动时&#xff0c;mysqld写入包含所有更新数据的SQL命令的…

java判断星座if语句_Java根据出生日期计算(判断)星座

下面我们来了解一下十二星座对应的日期划分范围。白羊&#xff1a;0321~0420 天秤&#xff1a;0924~1023 金牛&#xff1a;0421~0521 天蝎&#xff1a;1024~1122 双子&#xff1a;0522~0621 射手&#xff1a;1123~1221 巨蟹&#xff1a;0622~0722 摩羯&#xff1a;1222~0120 狮…

CSharp 如何OCR离线识别文本

WPF开发者QQ群&#xff1a; 340500857 | 微信群 -> 进入公众号主页 加入组织由于微信群人数太多入群请添加小编微信号&#xff08;yanjinhuawechat&#xff09;或&#xff08;W_Feng_aiQ&#xff09;邀请入群&#xff08;需备注WPF开发者&#xff09;本项目是基于开源项目P…

第一个h5页面

不废话&#xff0c;先爆照&#xff0c;不好勿喷 我用的软件是WebStorm开发&#xff0c;然后也知道了h5我们可以用谷歌浏览器点击右键&#xff0c;然后点击审查&#xff0c;就可以按照手机屏幕来看到页面 下面是项目的图片 这个是我的index.html文件 <!doctype html> <…

HDU-2023

求平均成绩 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 54671 Accepted Submission(s): 13094 Problem Description假设一个班有n(n<50)个学生&#xff0c;每人考m(m<5)门课&#xff0c;求每个学生的…

Ubuntu系统备份和恢复

为什么80%的码农都做不了架构师&#xff1f;>>> 安装好Ubuntu之后&#xff0c;别忘了安装 for linux 防火墙和杀毒软件。在备份系统前&#xff0c;请保证系统是无错和干净的&#xff1a;本人操作系统是ubuntu14.04&#xff0c;不知道是系统出了问题还是装的软件有问…

回顾2012;展望2013

同样的话题&#xff0c;但是却在不同的时间&#xff0c;不同的地点&#xff0c;感触却也良多。回顾2012&#xff1b;展望2013虽说是老话题。但对于我来说是一年向下一年的一个跨度。今天是2012年12月19日凌晨05&#xff1b;16分转载于:https://blog.51cto.com/tengfeidongman/1…

热血致敬!曾影响几代科学巨匠的传奇经典,至今仍无人能超越!

▲ 点击查看有人说&#xff0c;世界上有两本神书&#xff0c;一本是霍金的《时间简史》&#xff0c;是可以不看&#xff0c;但书架必须得有。还有一本&#xff0c;就是必须有也必须看的书&#xff0c;这就是《从一到无穷大》。2018年&#xff0c;清华大学校长&#xff0c;将这本…

链表之单链表约瑟夫问题(一)

package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.RemoveMidNode.Node; /*** 环形单链表的约瑟夫问题* 比如5个人,报数第3个就删除,从第一个人开始报数* 1、2、3、4、5* 1、2、4、5* 2、4、5* 2、4* 4* 最后4留下来了* 输入:一个单向环形链表的头节点h…

.NET 6 中 gRPC 的新功能

gRPC是一个现代的、跨平台的、高性能的 RPC 框架。gRPC for .NET 构建在 ASP.NET Core 之上&#xff0c;是我们推荐的在 .NET 中构建 RPC 服务的方法。.NET 6 进一步提高了 gRPC 已经非常出色的性能&#xff0c;并添加了一系列新功能&#xff0c;使 gRPC 在现代云原生应用程序中…

视频编码H.264的应用

近日&#xff0c;数字音视频编解码技术标准&#xff08;AVS&#xff09;工作组在12月21日结束的第47次会议上公布并于明年4月份会正式推出最新的AVS2视频编码标准&#xff0c;新的编码效率比上一代标准翻了一番&#xff0c;并且在无失真音频编码上取得了突破性的进展。AVS编码标…

java捕捉音频,如何捕获在Java中的音频数据

I want to access the audio data that my microphone is recording with Java. How would I do that?My goal is to save the audio data that is recorded and simultaneously play it to the user.解决方案If you dont need any of the additional functionality in JMF, I…

saltstack的安装(转载连接)

see the link转载于:https://blog.51cto.com/358778493/1767256