mysql 可变字符串_MySQL:字符串类型
字符串型: 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:字符串类型相关推荐
- mysql函数第一次返回字符串_Mysql字符串处理函数详细介绍、总结
一.简明总结 ASCII(char) 返回字符的ASCII码值 BIT_LENGTH(str) 返回字符串的比特长度 CONCAT(s1,s2-,sn) 将s1,sn连接成字符串 CONCAT_W ...
- mysql 从后往前截取指定个数字符串_Mysql字符串截取函数SUBSTRING的用法说明
函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...
- mysql substring用法_Mysql字符串截取函数SUBSTRING的用法说明
函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...
- mysql字段说明_mysql 字段类型说明
MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述.概 ...
- mysql count转字符串_MySQL字符串函数
把字符串转成小写 mysql> select sex,LCASE(job) from string_test where job='DUCK';+------+------------+ | s ...
- mysql做四则运算_MySQL字符串进行四则运算以及比较
在mysql当中,字符串类型间进行加减乘除运算的时候,会截取字符串以数字开头的那一部分数字进行运算,如果字符串前面没有数字,那么就只能截取的数值为0,那么进行加减的时候结果都是0,进行乘除的时候结果都 ...
- mysql concat 变量_MySQL 字符串连接CONCAT()函数
MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...
- c mysql 包含字符串_Mysql字符串字段判断是否包含某个字符串的2种方法
假设有个表: 复制代码 代码如下:CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),user_name VAR ...
- c 配置mysql字符串_mysql字符串属性实例学习
在mysql数据库中: 二进制字符串的比较是通过逐个字节的比较字节数值来进行的. 二进制字符串不和字符集相关联. 非二进制字符串是一个Collation列,他存放包含特定字符集和Collation的文 ...
最新文章
- VMware虚拟机文件夹中各文件作用详解
- Spring5 - Bean的初始化和销毁的4种方式
- Python基础——正则2(0503)
- ## 数据结构之单向链表的基本操作详细总结 爆肝总结超详细万字长文C语言版
- 最新封装版EVE模拟器部署和使用说明(图文版)
- 中移动投身开放大潮重整数据业务
- 高德地图react版本开源库react-amap与react-amap-next分析
- HDU-4826(DP动态)
- 牛客网刷题java之变态跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- Windows Server 2012 R2 Datacenter ms17-010漏洞出现此更新不适用于你的计算机
- 学习用Photoshop来设计简单的网页
- 因果推断, 因果效应概述
- php使用ElasticSearch
- 常用的连续时间信号及其时域特性
- 二进制、八进制、十进制和十六进制的转换
- ABAP Docking Control Container开发实例
- Tomcat、Servlet
- H桥电路原理及直流电机驱动编程
- 浅谈网站关键词选取的规则和注意事项
- IOS的.m和.mm文件总结