佛山Java培训说说MySQL中char和varchar
作者:admin01发布时间:2021-07-10分类:Java技术浏览:812
一、char与varchar的定义
在MYSQL中,char是指使用指定长度的固定长度来表示字符串的字段类型; 比如char(8),数据库会用一个固定的1字节(八位)来存储数据,小于8位的字符串后面会填充空白字符。 Varchar(M) 是一种比 char 更灵活的数据类型。 它也用于表示字符数据,但 varchar 可以存储变长字符串。 在本文中,我们将介绍 MySQL 中的 char 和 varchar。
char:定长,效率高,一般用于定长表单提交数据存储; 例如:身份证号码、手机号码、电话号码、密码等。
varchar:可变长度,低效率。
二、CHAR(M)和VARCHAR(M)的区别
CHAR和VARCHAR最大的区别就是一个是定长,一个是变长。 由于长度可变,实际存储的字符串实际加一个字节来记录字符串的长度(如果超过255,则需要两个字节)。 如果分配给 CHAR 或 VARCHAR 列的值超过该列的最大长度,则会裁剪该值以使其适合。 如果修剪后的字符不是空格,则会生成警告。 如果裁剪非空格字符,将导致错误(而不是警告)并通过使用严格 SQL 模式禁用值插入。
三 VARCHAR 与 TEXT 和 BlOB 类型的区别
VARCHAR、BLOB 和 TEXT 类型是变长类型,它们的存储要求取决于列值的实际长度(上表中由 L 表示),而不是类型的最大可能大小。 例如,VARCHAR(10) 列可以存储最大长度为 10 个字符的字符串。 实际的存储需求是字符串的长度,加上1个字节来记录字符串的长度。 对于字符串“abcd”,L 为 4,存储要求为 5 个字节。
BLOB 和 TEXT 类型需要 1、2、3 或 4 个字节来记录列值的长度,具体取决于类型的最大可能长度。 VARCHAR 需要定义大小,最大限制为 65535 字节; TEXT 不需要它。 如果将超过列类型最大长度的值分配给 BLOB 或 TEXT 列,则该值将被截断以适应它。
BLOB 是一个大型二进制对象,可以容纳可变数量的数据。 四种 BLOB 类型 TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB 的区别仅在于它们可以存储的值的最大长度。
BLOB 可以存储图片,TEXT 不能,TEXT 只能存储纯文本文件。 4种TEXT类型TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT对应4种BLOB类型,具有相同的最大长度和存储要求。 BLOB 和 TEXT 类型的唯一区别是 BLOB 值的排序和比较是以区分大小写的方式进行的,而 TEXT 值是不区分大小写的。 换句话说,TEXT 是不区分大小写的 BLOB。
四.char、varchar和text的区别
长度不同,char范围0~255,varchar最长64k,但注意这里的64k是整行的长度,考虑其他列,如果不为null,也会占用一位 ,对不同的字符集有效长度不同,比如utf8,最多21845,其他列必须去掉,但是varchar一般情况下存储就够了。 如果遇到大文本,可以考虑使用文本,最高可达4G。
效率基本上是char>varchar>text,但是如果你使用的是Innodb引擎,建议使用varchar而不是char。
Char 和 varchar 可以有默认值,而 text 不能指定默认值。
数据库还是需要选择合适的数据类型进行存储,对性能有一定的影响。 对于int类型,如果不需要访问负值,最好加上unsigned; 对于where语句中经常出现的字段,可以考虑加索引,shape特别适合加索引。
免责声明:本文文字及图片均由编者自网络转载。 版权属于原作者。 如有侵权,请及时联系我们删除。
以上是小编带来的最新资讯。 喜欢的朋友可以继续关注本站最新动态,或者咨询在线客服。
- Java技术排行
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年11月 (14)
- 2024年10月 (32)
- 2024年9月 (29)
- 2024年8月 (68)
- 2024年7月 (59)
- 2024年6月 (43)
- 2024年5月 (48)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 清远信息:2024年广清杯清远南粤家政技能大赛举行决赛|||计算机培训机构
- 汕尾信息:陈良川带队到汕尾技师学院调研|||计算机职业技能培训班
- 东莞信息:凤岗凤岗镇组织召开社保参保缴费及劳动用工政策宣讲会|||计算机软件培训学校
- 阳江信息:2024年度注册城乡规划师职业资格考试的合格标准是怎样的?|||计算机软件培训学校
- 阳江信息:职业技能提升补贴对象有哪些?|||大学生计算机培训学校
- 清远信息:清远市首家社保服务合作网点在清城区举办启动仪式|||计算机职业技能培训班
- 汕头信息:招聘658名中高端人才!2024年汕头市引进中高端人才专场招聘会举行|||北大青鸟计算机培训中心
- 东莞信息:广东省社保智能经办现场会在东莞召开|||大学生计算机培训学校
- 东莞信息:东坑镇举办2024年重点群体系列招聘活动|||计算机职业技能培训班
- 东莞信息:万江万江街道成功举办第四届粤菜师傅烹饪技能竞赛|||广州计算机编程培训