mysql中char,varchar与text类型的区别和选用

关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道。。。。。。

text 、 char、varchar  是数据在数据库中的存放策略问题,为了,合理
应用存储空间,是数据库服务器数据类型划分的方式。对于应用程序,把它们
和string对应就可以了。

于是去查阅了一些资料,顺便将这三种类型做个比较:

(1)char:  char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,MySQL会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。

(2)varchar:  关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。

(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1

总结起来,有几点:

 

  1. 经常变化的字段用varchar
  2. 知道固定长度的用char
  3. 尽量用varchar
  4. 超过255字符的只能用varchar或者text
  5. 能用varchar的地方不用text     

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

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

相关文章

循环Map方法

public static void main(String[] args) { Map<String, String> map new HashMap<String, String>(); map.put("1", "张三"); map.put("2", "李四"); map.put("3", "王五"); /*方法一 &#xff1a;…

rsync备份学习

备份内容&#xff1a;把虚拟机A&#xff08;192.168.91.243&#xff09;需要把文件备份到虚拟机B&#xff08;192.168.91.207&#xff09; 一、检查两台虚拟机是否已经安装rsync rsync -version命令检查 二、如果没有安装rsync&#xff0c;需要先安装rsync 在客户端和服务器…

四大组件的工作过程

1、四大组件的运行状态 Android的四大组件中除了BroadcastReceiver以外&#xff0c;其他三种组件都必须在AndroidManifest中注册&#xff0c;对于BroadcastReceiver来说&#xff0c;既可以在AndroidManifest中注册也可以通过代码来…

联系表单 1_copy

你的名字 &#xff08;必填&#xff09; [text* your-name] 你的邮箱 &#xff08;必填&#xff09; [email* your-email] 主题 [text your-subject] 你的留言 [textarea your-message] [submit "发送"] [your-subject] [your-name] < [your-email]> 发件人…

Windows下使用VisualSVN Server搭建SVN服务器

2019独角兽企业重金招聘Python工程师标准>>> 使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多&#xff0c;下面就看看详细的说明。 VisualSVN Server的下载地址如下&#xff0c;是免费的&#xff0c;随…

新装的linux系统,用SSH连接出现乱码怎么办?附改名虚拟机文件方法

原因&#xff1a;SSH不支持中文&#xff0c;需要系统语言设置 1、查看当前操作系统的语言 echo $LANG 2、临时更改默认语言(关闭当前会话失效) export LANGen_US.UTF-8 3、永久生效,编辑文件保存并退出 vi /etc/sysconfig/i18n LANG"en_US.UTF-8" 4、使其…

hdu 6183 线段树的空间优化

题意&#xff1a; 一个空的坐标系&#xff0c;有④种操作&#xff1a;①1 x y c表示在(x, y)点染上颜色c&#xff1b;②2 X y1 y2表示查询在(1, y1)到(X, y2)范围内有多少种不同的颜色&#xff1a; ③0表示清屏&#xff1b;④3表示程序退出&#xff08;0<x, y<1000000, 0…

js 判断数据是否为空

// var a ""; // var a " "; // var a null; // var a undefined; // var a []; // var a {}; // var a NaN;if(a undefined) { // 只能用 运算来测试某个值是否是未定义的console.log("为undefined");}if(a nul…

Aspx 页面生命周期

ASP.NET 页运行时&#xff0c;此页将经历一个生命周期&#xff0c;在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要&#xff0c;这样就能在合适的生命周期阶段编写代码&#…

Python 练习册,每天一个小程序

Python 练习册&#xff0c;每天一个小程序说明&#xff1a;Python 练习册&#xff0c;每天一个小程序。注&#xff1a;将 Python 换成其他语言&#xff0c;大多数题目也适用不会出现诸如「打印九九乘法表」、「打印水仙花」之类的题目点此链接&#xff0c;会看到每个题目的代码…

添加永久路由的方法

配置文件配置路由的方法&#xff1a; 直接编辑/etc/sysconfig/static-routes&#xff1a; vim /etc/sysconfig/static-routes 根据需要配置&#xff0c;比如&#xff1a; 192.168.90.52增加一条路由 172.0.0.0\8 指向 192.168.91.12 默认网关不变&#xff0c;增加的路由&am…

CentOS/Linux 解决 SSH 连接慢

现在连接linux服务器一般都是使用SSH远程连接的方式。最近新装了一台服务器&#xff0c;发现telnet时速度很快&#xff0c;ping时一切也正常&#xff0c;但SSH连接的时候却很慢。经过网上资料查询&#xff0c;大致是有以下几种原因&#xff1a; 1、SERVER的SSHD会去DNS查找访问…

在浏览器控制台输出内容 console.log(string);

在浏览器控制台中写如数据 1添加 <script type"text/javascript">djConfig { isDebug: true };</script> 在<script>写入需要输出的内容 <script> 如&#xff1a; 1 2 3 4 5 6 7 8 dojo.require("esri.map"); fu…

php支付宝开发

1.下载对应的接口demo&#xff0c;注意退款有无密和有密 2.根据接口代码编写&#xff0c;要注意notify_url和return_url不能带有额外参数&#xff0c;并且notify_url中途不能含有跳转&#xff0c;否则post数据会丢失 3.密钥的配置&#xff0c;根据openssl生成密钥和私钥&#x…

不同网段虚拟机,互相访问时的路由配置,附路由知识学习

事情实例&#xff1a; 虚拟主机&#xff1a;192.168.90.247需要访问192.168.91.XX网段的数据库&#xff0c;无法访问。 1、这里要考虑一下添加一个路由&#xff0c;目的地址为192.168.91.XX,掩码为255.255.255.0&#xff0c;网关为如图所示 2、这里添加一个路由为&#xff1a;…

iOS使用自定义字体(添加字体包)

转载请注明出处&#xff01;&#xff01;&#xff01; 首先是最简单也普遍的做法&#xff0c;打包内置字符库文件&#xff1a; 步骤如下&#xff1a; 1.第一步找到你想用的字体的 ttf 格式。加入到你的工程的resouce目录下。 2.在工程的plist中AddRow&#xff0c;“Fonts provi…

zookeeper 应用开发

由于zookeeper的client只有zookeeper一个对象&#xff0c;使用也比较简单&#xff0c;所以就不许要文字说明了&#xff0c;在代码中注释下就ok 了。 1、测试用的main方法 package ClientExample; public class TestMain { public static void main(String[] args) { /* * …

CentOS 下安装xdebug

在CentOS 6.x 的系统中&#xff0c;是集成xdebug 的&#xff0c; yum install php-pecl-xdebug 如果是CentOS.5 也可能通过安装安装 epel 来安装 rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm 然后 yum install php-pecl-xdebug 再在p…

TP5:框架下载与安装——1

哪里下载&#xff1f; 一、百度搜索&#xff1a;ThinkPHP5.0完全开发手册 可以在找到安装TP5的介绍&#xff0c;分别有官网下载安装、Composer安装、Git安装三种方式下载 二、下载好文件 这里我们选择了GIT方式安装&#xff0c;要注意的是&#xff0c;要同时下载应用项目和核…

python 判断字符串是否为空用什么方法?

s if s.strip():print s is null #或者 if not s.strip():print s is null