MySQL字符串类型

MySQL 中的字符串类型有 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET 等。

下表中列出了 MySQL 中的字符串数据类型,括号中的M表示可以为其指定长度。
在这里插入图片描述

VARCHAR 和 TEXT 类型是变长类型,其存储需求取决于列值的实际长度(在前面的表格中用 L 表示),而不是取决于类型的最大可能尺寸。

例如,一个 VARCHAR(10) 列能保存一个最大长度为 10 个字符的字符串,实际的存储需要字符串的长度 L 加上一个字节以记录字符串的长度。对于字符 “abcd”,L 是 4,而存储要求 5 个字节。

CHAR 和 VARCHAR 类型

CHAR(M) 为固定长度字符串,在定义时指定字符串列长。当保存时,在右侧填充空格以达到指定的长度。M 表示列的长度,范围是 0~255 个字符。

例如,CHAR(4) 定义了一个固定长度的字符串列,包含的字符个数最大为 4。当检索到 CHAR 值时,尾部的空格将被删除。

VARCHAR(M) 是长度可变的字符串,M 表示最大列的长度,M 的范围是 0~65535。VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1。

例如,VARCHAR(50) 定义了一个最大长度为 50 的字符串,如果插入的字符串只有 10 个字符,则实际存储的字符串为 10 个字符和一个字符串结束字符。VARCHAR 在值保存和检索时尾部的空格仍保留。

将不同的字符串保存到 CHAR(4) 和 VARCHAR(4) 列,说明 CHAR 和 VARCHAR 之间的差别,如下表所示。

在这里插入图片描述

对比结果可以看到,CHAR(4) 定义了固定长度为 4 的列,无论存入的数据长度为多少,所占用的空间均为 4 个字节。VARCHAR(4) 定义的列所占的字节数为实际长度加 1。

TEXT 类型

TEXT 列保存非二进制字符串,如文章内容、评论等。当保存或查询 TEXT 列的值时,不删除尾部空格。

TEXT 类型分为 4 种:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。不同的 TEXT 类型的存储空间和数据长度不同。

	TINYTEXT 表示长度为 255(28-1)字符的 TEXT 列。TEXT 表示长度为 65535(216-1)字符的 TEXT 列。MEDIUMTEXT 表示长度为 16777215(224-1)字符的 TEXT 列。LONGTEXT 表示长度为 4294967295 或 4GB(232-1)字符的 TEXT 列。

ENUM 类型

ENUM 是一个字符串对象,值为表创建时列规定中枚举的一列值。其语法格式如下:

<字段名> ENUM( '值1', '值1',, '值n' )

字段名指将要定义的字段,值 n 指枚举列表中第 n 个值。

ENUM 类型的字段在取值时,能在指定的枚举列表中获取,而且一次只能取一个。如果创建的成员中有空格,尾部的空格将自动被删除。

ENUM 值在内部用整数表示,每个枚举值均有一个索引值;列表值所允许的成员值从 1 开始编号,MySQL 存储的就是这个索引编号,枚举最多可以有 65535 个元素。

定义 ENUM 类型的列(‘first’,‘second’,‘third’),该列可以取的值和每个值的索引如下表所示。

在这里插入图片描述
ENUM 值依照列索引顺序排列,并且空字符串排在非空字符串前,NULL 值排在其他所有枚举值前。

提示:ENUM 列总有一个默认值。如果将 ENUM 列声明为 NULL,NULL 值则为该列的一个有效值,并且默认值为 NULL。如果 ENUM 列被声明为 NOT NULL,其默认值为允许的值列表的第 1 个元素。

SET 类型

SET 是一个字符串的对象,可以有零或多个值,SET 列最多可以有 64 个成员,值为表创建时规定的一列值。指定包括多个 SET 成员的 SET 列值时,各成员之间用逗号,隔开,语法格式如下:

SET( '值1', '值2',, '值n' )

与 ENUM 类型相同,SET 值在内部用整数表示,列表中每个值都有一个索引编号。当创建表时,SET 成员值的尾部空格将自动删除。

但与 ENUM 类型不同的是,ENUM 类型的字段只能从定义的列值中选择一个值插入,而 SET 类型的列可从定义的列值中选择多个字符的联合。
提示:如果插入 SET 字段中的列值有重复,则 MySQL 自动删除重复的值;插入 SET 字段的值的顺序并不重要,MySQL 会在存入数据库时,按照定义的顺序显示;如果插入了不正确的值,默认情况下,MySQL 将忽视这些值,给出警告。

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

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

相关文章

5000的台式计算机,预算5000的台式组装机配置清单_预算5000的台式组装机配置

5000的价格在游戏本里只能算是入门级别的。基本上3A游戏只能低特效运行&#xff0c;特效根本无法进行。但是台式电脑不一样。5000元基本可以流畅运行市面上所有游戏&#xff0c;中高特效&#xff0c;1080p分辨率。接下来边肖会给大家推荐预算5000的桌面组装机配置列表。1.带显示…

三菱d700变频器模拟量控制_三菱Q系列PLC,用CCLink控制变频器正反转和多段速

硬件、软件设置&#xff1a;参阅三菱PLC&#xff0c;CC-Link通信协议基础知识远程输入(RX)定义&#xff1a;Rxn0&#xff1a;正转中Rxn1&#xff1a;反转中Rxn2&#xff1a;运行中(端子RUN功能)Rxn3&#xff1a;频率到达(端子SU功能)Rxn4&#xff1a;过负荷报警(端子OL功能)Rxn…

MySQL创建数据表

创建数据表&#xff0c;指的是在已经创建的数据库中建立新表。 创建数据表的过程是规定数据列的属性的过程&#xff0c;同时也是实施数据完整性&#xff08;包括实体完整性、引用完整性和域完整性&#xff09;约束的过程。 创表语法 在 MySQL 中&#xff0c;可以使用 CREATE…

西安工程大学计算机科学学院刘宝宝,计算机科学学院召开研究生国家奖学金答辩会...

10月15日上午&#xff0c;计算机科学学院在学院426会议室召开了2020年研究生国家奖学金答辩会。学院2020年研究生国家奖学金评审委员会全体成员和4名参评学生参加了此次会议。会议由研究生辅导员程帅主持。根据《西安工程大学关于开展2020年研究生国家奖学金的通知》要求&#…

wps中图片怎么居中_wps图片怎么添加推动声

wps图片怎么添加推动声呢&#xff1f;很多用户对此还不是很清楚&#xff0c;小编这里就给大家带来有关wps图片怎么添加推动声的回答&#xff0c;希望能够对大家有所帮助。1、如图所示&#xff0c;这是幻灯片中的一张图片&#xff0c;我们为这一张图片添加上“推动”的声音&…

MySQL修改数据表

MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构&#xff0c;例如增加或删减列、创建或取消索引、更改原有列类型、重新命名列或表等。 基本语法 修改表指的是修改数据库中已经存在的数据表的结构。MySQL 使用 ALTER TABLE 语句修改表。常用的修改表的操作有修改表名、…

更换计算机桌面背景的教案,桂科版三年级下册任务一 美化桌面背景免费教学设计...

这是一份桂科版三年级下册任务一 美化桌面背景免费教学设计&#xff0c;共3页。任务一 美化桌面背景 教学设计一、教学目标&#xff1a;1、学会设置个性化桌面背景。2、学会根据自己的需要排列图标。3、学会更改任务栏的颜色。4、了解更改桌面图标标志的方法。二、教学重难点&a…

车仪表台上的装饰_一汽大众销量最差的车,旅行车蔚领为什么在国内没有市场?...

说到旅行车&#xff0c;一直是深受欧洲人民所喜爱的这么一类车种。由于国情不同&#xff0c;欧洲大陆上的国家众多&#xff0c;城市与城市之间更是被分割得很"碎"&#xff0c;再加上欧洲人民喜欢出去旅游&#xff0c;而一出门便喜欢携带自行车、冲浪板、帐篷等户外装…

MySQL删除数据表

MySQL 数据库中&#xff0c;对于不再需要的数据表&#xff0c;我们可以将其从数据库中删除。 在删除表的同时&#xff0c;表的结构和表中所有的数据都会被删除&#xff0c;因此在删除数据表之前最好先备份&#xff0c;以免造成无法挽回的损失。 基本语法 使用 DROP TABLE 语…

计算机水平毕业研究生7分落户,2018毕业生就业落户新评分标准出炉!立信能加多少分?...

原标题&#xff1a;2018毕业生就业落户新评分标准出炉&#xff01;立信能加多少分&#xff1f;全文字数&#xff1a;1682字阅读所需时间&#xff1a;4分钟近日&#xff0c;上海发布了《2018年非上海生源应届普通高校毕业生进沪就业申请本市户籍评分办法》。与应届毕生生息息相关…

textcnn文本词向量_文本分类模型之TextCNN

六年的大学生涯结束了&#xff0c;目前在搜索推荐岗位上继续进阶&#xff0c;近期正好在做类目预测多标签分类的项目&#xff0c;因此把相关的模型记录总结一下&#xff0c;便于后续查阅总结。一、理论篇&#xff1a; 在我们的场景中&#xff0c;文本数据量比较大&#xff0c;因…

MySQL主键

“主键&#xff08;PRIMARY KEY&#xff09;”的完整称呼是“主键约束”。MySQL 主键约束是一个列或者列的组合&#xff0c;其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键&#xff0c;通过它可以强制表的实体完整性。 选取设置主键约束的字段 主键约束即在表中…

电大计算机一级b考试试题,电大计算机考试本科试题

目录&#xff1a;按住Ctrl键点击相关的标题&#xff0c;可以快速的切换到相应的内容处 操作系统应用 计算机网络应用 文字编辑 电子表格 电子演示文稿电子表格 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1在考生文件夹下新建一个Excel工作簿&#xff0c;完成以下操作…

antd table排序 vue_antd of Vue 之table组件踩坑记

需求&#xff1a;页面里有个table&#xff0c;点击编辑可以编辑该table&#xff0c;保存数据并展示到页面上来第一种方法就是把编辑态的table做成子组件(且叫editeTable)&#xff0c;通过v-show判断是否进入编辑态来显示隐藏。先仿造原本父组件(且叫fatherTable)&#xff0c;做…

计算机管理也无法运行,【两种解决方法】任务管理器打不开怎么办?

任务管理器调不出来怎么办&#xff1f;任务管理器打不开是怎么回事呢&#xff1f;以下两种方法可解决任务管理器打不开问题&#xff1f;1、打开电脑&#xff0c;点击左下角”开始“&#xff0c;选择运行&#xff0c;打开运行对话框后输入"regedit“如下图&#xff1a;2、在…

MySQL唯一约束

MySQL唯一约束&#xff08;Unique Key&#xff09;要求该列唯一&#xff0c;允许为空&#xff0c;但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。 在创建表时设置唯一约束 在定义完列之后直接使用 UNIQUE 关键字指定唯一约束&#xff0c;语法规则如下&…

单纯形法表格法例题详解_最优化单纯形法例题讲解.doc

最优化单纯形法例题讲解.doc例1 用单纯形法解下列问题&#xff1a;解&#xff1a;将原问题化成标准形&#xff1a;x4与添加的松弛变量x&#xff0c;x在约束方程组中其系数正好构成一个3阶单位阵&#xff0c;它们可以作为初始基变量&#xff0c;初始基可行解为X(0, 0, , 8, 4)T列…

卫星轨道的计算是利用计算机的,轨道计算

轨道计算是一种粗略测定天体轨道的方法。在轨道计算中﹐人们事先不必对天体轨道作任何初始估计﹐而是从若干观测资料出发﹐根据力学和几何条件定出天体的初始轨道﹐以便及时跟踪天体﹐或作为轨道改进的初值。为了计算六个轨道要素(见二体问题)﹐至少必须有三次光学观测﹐因为每…

MySQL检查约束

MySQL 检查约束&#xff08;CHECK&#xff09;可以通过 CREATE TABLE 或 ALTER TABLE 语句实现&#xff0c;根据用户实际的完整性要求来定义。它可以分别对列或表实施 CHECK 约束。 选取设置检查约束的字段 检查约束使用 CHECK 关键字&#xff0c;具体的语法格式如下&#xf…

计算机虚拟现实技术论文好写吗,虚拟现实技术的论文

虚拟现实技术的论文虚拟现实技术&#xff0c;又称灵境技术&#xff0c;是90年代为科学界和工程界所关注的技术。下面时刻小编给大家搜集的关于虚拟现实技术的科技论文&#xff0c;希望大家喜欢&#xff01;摘要&#xff1a;虚拟现实技术是一种可以创建和体验虚拟世界的计算机技…