字符串型: set , enum , blob , text , varchar , char。

1. char (字符)

格式:char(M)  固定长度

M 表示严格限定的长度。

char(5)

varchar(5)

''

5字节

1字节

需要一个字节,保存字符串的总长度

'abc'

5

4

'abcde'

5

6

'abcdef'

超出限制,插入不成功

插入不成功

效率相对高

空间控制好

2. varchar(变长字符串)

格式:varchar(M)   可变长度

M 表示允许的最大长度。

预留了一个字节,保存字符串的长度。

当读取了该长度的字符串时,便不再继续读取了。

eg. 当存固定长度的字符串(如 身份证号,手机号码),使用char ,速度快,不会造成空间的浪费;

tip: M 表示的是字节数,而不是字节数。

但总的长度是按照字节数计算的。

真实的varchar长度:总长度65535,

varchar的特点:当类型数据超过255个字符时,采用2个字节表示长度。

因此65535 - 2 = 65533 。

另外,整条记录需要一个额外的字节,用于保存当前哪个字段是null值。

除非所有字段都不是null,这个字节才可以省略。

1 create tables_1(2 a varchar(65533) not null //所有字节都不是null,不需要保存null值

3 )character setlatin1;4

5 create tables_2(6 a varchar(65532) //65535中,2个字节保存长度,1个字节保存当前哪个字段是null值7 )character set latin1;

而当table中有其他的列时,

tinyint本身占1字节,varchar需要2字节保存自身的长度。若二者都是not null,那可以省去保存null的字段,

varchar可以占用65535 - 1 - 2 = 65532,如下图第一张所示:

若a、b中任何一个不写not null,则保存null的字段就必须存在,占用1个字节,此时varchar最大只能是65532 - 1 = 65531。

mysql 可变字符串_MySQL:字符串类型相关推荐

  1. mysql函数第一次返回字符串_Mysql字符串处理函数详细介绍、总结

    一.简明总结 ASCII(char) 返回字符的ASCII码值 BIT_LENGTH(str) 返回字符串的比特长度 CONCAT(s1,s2-,sn)   将s1,sn连接成字符串 CONCAT_W ...

  2. mysql 从后往前截取指定个数字符串_Mysql字符串截取函数SUBSTRING的用法说明

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...

  3. mysql substring用法_Mysql字符串截取函数SUBSTRING的用法说明

    函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...

  4. mysql字段说明_mysql 字段类型说明

    MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述.概 ...

  5. mysql count转字符串_MySQL字符串函数

    把字符串转成小写 mysql> select sex,LCASE(job) from string_test where job='DUCK';+------+------------+ | s ...

  6. mysql做四则运算_MySQL字符串进行四则运算以及比较

    在mysql当中,字符串类型间进行加减乘除运算的时候,会截取字符串以数字开头的那一部分数字进行运算,如果字符串前面没有数字,那么就只能截取的数值为0,那么进行加减的时候结果都是0,进行乘除的时候结果都 ...

  7. mysql concat 变量_MySQL 字符串连接CONCAT()函数

    MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...

  8. c mysql 包含字符串_Mysql字符串字段判断是否包含某个字符串的2种方法

    假设有个表: 复制代码 代码如下:CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VAR ...

  9. c 配置mysql字符串_mysql字符串属性实例学习

    在mysql数据库中: 二进制字符串的比较是通过逐个字节的比较字节数值来进行的. 二进制字符串不和字符集相关联. 非二进制字符串是一个Collation列,他存放包含特定字符集和Collation的文 ...

最新文章

  1. VMware虚拟机文件夹中各文件作用详解
  2. Spring5 - Bean的初始化和销毁的4种方式
  3. Python基础——正则2(0503)
  4. ## 数据结构之单向链表的基本操作详细总结 爆肝总结超详细万字长文C语言版
  5. 最新封装版EVE模拟器部署和使用说明(图文版)
  6. 中移动投身开放大潮重整数据业务
  7. 高德地图react版本开源库react-amap与react-amap-next分析
  8. HDU-4826(DP动态)
  9. 牛客网刷题java之变态跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
  10. Windows Server 2012 R2 Datacenter ms17-010漏洞出现此更新不适用于你的计算机
  11. 学习用Photoshop来设计简单的网页
  12. 因果推断, 因果效应概述
  13. php使用ElasticSearch
  14. 常用的连续时间信号及其时域特性
  15. 二进制、八进制、十进制和十六进制的转换
  16. ABAP Docking Control Container开发实例
  17. Tomcat、Servlet
  18. H桥电路原理及直流电机驱动编程
  19. 浅谈网站关键词选取的规则和注意事项
  20. IOS的.m和.mm文件总结

热门文章

  1. ASO优化之竞品研究与分析
  2. 网约车监管信息交互平台启动试运行
  3. SViva数字化口腔医疗解决方案
  4. 从一个学生的角度谈X280使用体验
  5. CF - 379A. New Year Candles - 模拟
  6. 将kvm磁盘io设置为virtio模式
  7. 用python画四瓣树叶_如何用Python画树?
  8. Python实现: 常用排序算法 二叉树的遍历算法
  9. 新年将至,100行Html+css实现烟花特效陪你跨年(附春节对联)
  10. 当你荒废时间的时候别人会有多少在拼命--没有不劳而获的成功