首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏乐沙弥的世界

    MySQL数据类型 -- 字符

    https://blog.csdn.net/robinson_0612/article/details/82824320 在MySQL关系型数据库中,MySQL支持的数据类型非常丰富。 它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍字符类型,并演示其用法。 一、字符MySQL支持的字符类型可以进一步细分,即可以分为定(变)长字符型,大值字符型,枚举集合类型等。如下图所示: ? 二、字符型空间需求 ? 三、字符型演示 mysql> show variables like 'version'; +---------------+------------+ | Variable_name | Value -- 通过字符串函数可知,第二列定长类型ab后的空格被截断 mysql> SELECT CONCAT('(', v, ')'), -> CONCAT('(', c, ')') FROM vc

    1.1K20发布于 2018-09-28
  • 来自专栏Nicky's blog

    MySQL字符类型学习笔记

    五、BLOB和TEXT 5.1、text类型 5.2、blob类型 5.3、排序问题 5.4、索引问题 六、ENUM和SET类型 6.1、集合类型简介 6.2、集合类型例子 一、字符集和字符编码 1.1 注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上,用法是在建表或者修改字段时候加上charset [字符集名称] 二、字符集排序规则 2.1、排序规则定义 排序规则(Collation char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N),N的范围为0 对比: 不同的是BINARY和VARBINARY存储的都是二进制类型字符串,CHAR和VARCHAR存储的才是字符类型字符串 BINARY和VARBINARY没有字符集的概念,CHAR和VARCHAR 这些才有字符集的概念 BINARY(N)和VARBINARY(N)中的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)中的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR

    85010发布于 2019-10-28
  • 来自专栏兮动人的博客

    mysql】文本字符类型

    文本字符类型 在实际的项目中,经常遇到一种数据,就是字符串数据。 MySQL中,文本字符串总体上分为CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET等类型。 [在这里插入图片描述] 1. 当MySQL检索CHAR类型的数据时,CHAR类型的字段会去除尾部的空格。 定义CHAR类型字段时,声明的字段长度即为CHAR类型字段所占的存储空间的字节数。 MySQL4.0版本以下,varchar(20):指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) ;MySQL5.0版本以上,varchar(20):指的是20字符。 TEXT类型MySQL中,TEXT用来保存文本类型字符串,总共包含4种类型,分别为TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 类型

    2.6K20编辑于 2022-03-12
  • 来自专栏数据库

    MySQL字段类型字符

    10个字符的空间填充机制:对于实际长度不足定义长度的字符,char 类型会在右侧用空格符填充空格处理:检索时,MySQL会自动去除尾部填充的空格特点:char 取值范围 0-255char 类型在比较时会忽略尾部空格对于长度基本相同的字符串 概述: TEXT 是 MySQL 中用于存储大文本数据的可变长度字符类型,适合存储超过 VARCHAR 容量限制的长文本内容。 2位或4位年份(4位推荐)TIMESTAMP列在记录更新时会自动更新(需配置)时间函数(NOW(), CURDATE()等)适用于这些类型MySQL 常见字符集作用说明字符集作用描述支持字符范围存储需求兼容性 多语言网站utf8mb4新项目开发utf8mb4重要说明utf8mb4替代utf8MySQL的utf8是阉割版(只支持3字节),实际应使用utf8mb4排序规则:每种字符集都有对应的排序规则(如utf8mb4 /my.ini)[mysqld]character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci#重启MySQL 服务生效#影响所有新建数据库的默认字符

    1K20编辑于 2025-05-06
  • 来自专栏颜颜yan_的学习笔记

    MySQL笔记】数字类型、时间和日期类型字符类型

    MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型字符类型。 例如,TINYINT类型的整数占用1字节,1字节是8位,所以TINYINT类型无符号数的最大值为2^8-1(即255),有符号数的最大值就是2 ^7-1(即127)。 下面以保存A字符为例 注意:MySQL中的直接常量是指在MySQL中直接编写的字面常量,常用在insert语句中编写插入的数据,包括:十进制数、二进制数、十六进制数、字符串。 数据类型 存储范围 TINYTEXT 0~ 2^8-1字节 TEXT 0~2^16-1字节 MEDIUMTEXT 0~2^24-1字节 LONGTEXT 0~2^32-1字节 TEXT类型所能保存的最大字符数量取决于字符串实际占用的字节数 BLOB查询时区分大小写 JSON数据类型 MySQL从5.7.8版本开始提供了JSON数据类型。JSON是一种轻量级的数据交换格式,有JavaScript语言发展而来,其本质是一个字符串。

    5.2K20编辑于 2022-12-01
  • 来自专栏Java学习网

    MySQL字符类型概述学习--MySql语法

    MySQL可以将一个字符串列更改为不同于CREATE TABLE或ALTER TABLE语句中所给出的类型MySQL 5.1字符串数据类型包括部分在MySQL 4.1之前的版本中没有的特性: · 许多字符串数据类型的列定义可以包括指定字符集的CHARACTER SET属性,也可能包括校对规则 bin ); 该表定义创建了一个名为c1的列,具有一个utf8字符集和该字符集的默认 校对规则,和一个名为c2的列以及latin1字符集和该字符集的二元 校对规则。 它分配ucs2字符集。 MySQL允许创建类型CHAR(0)的列。这主要用于必须有一个列但实际上不使用值的旧版本的应用程序相兼容。 则MySQL将列创建为最小的但足以容纳M字符长的值的TEXT类型。 · MEDIUMBLOB 最大长度为16,777,215(224–1)字节的BLOB列。

    1.2K30发布于 2021-07-30
  • 来自专栏编程我也会

    mysql8数据类型详解

    设计mysql表结构的时候,有很多数据类型供我们选择,下面来介绍下mysql8中常用的数据类型mysql可以为整数类型指定宽度,例如INT(11),对大多数应用来说这是没有意义的:它不会限制合法范围,只是规定了mysql的一些交互工具(例如mysql命令行客户端)用来显示字符的个数。 字符类型 CHAR CHAR类型是定长的,会根据定义的长度分配空间。当存储CHAR值时,mysql会删除所有的末尾空格。 mysql不能将BLOB和TEXT列全部长度的字符串进行索引,也不能使用这些索引消除排序。 日期和时间类型 image.png DATETIME使用8个字节的存储空间,和时区无关。 JSON类型 mysql8支持直接存储json格式字符串,对应的是json数据类型。 json数据列会自动验证json的数据格式,如果格式不正确会报错。 最优化存储格式。

    2.4K20编辑于 2022-05-16
  • 来自专栏全栈程序员必看

    mysqlmysql中的整数和字符类型

    一.为表中的字段选择合适的数据类型的原则 当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或者二进制类型,最后是字符类型,对于相同级别的数据类型,应该优先选择占用空间小的数据类型 理由 2)面试题:varchar(5)和varchar(200)来存储’mysql字符串性能相同吗? 答案是有区别的,虽然它们都不超过255,只需要5个字符加一个字节来存储就够了,但是mysql为了更有效的优化查询,在内存中对字符串使用的是固定的宽度,所以如果把列的宽度设置得太长,就会消耗内存,影响性能 3.varchar的适用场景 1)字符串列的最大长度比平均长度大很多的情况 2)字符串列很少被更新 3)使用了多字节字符集存储字符串,例如utf-8 3.char类型的存储特点 1)char类型是定长的 ,例如MD5值,身份证,手机号等 2)char类型适合存储短字符串,例如性别,因为varchar还要多出一个字节来存储字符串长度 3)char类型适合存储经常更新的字符串列

    2.5K30发布于 2021-04-07
  • 来自专栏雪碧君终将成长

    MySQL字符类型和数字类型索引的效率

    From: mysql分别用数字INT和中文varchar做索引查询效率上差多少 性能相当 mysql中区别性能的是采用哪种索引方式,而不是索引的数据类型。 在数据运算、对比方面,整数得益于原生支持,因此会比字符串稍快一丁点。 若采用索引,所谓整数、字符串的性能差距更是微乎其微。 在实际开发中,许多开发者经常使用char(1)、char(4)这样的字符串表示类型枚举,这种做法在我看来属于最佳方案,因为这种做法在存储空间、运算性能、可读性、可维护性、可扩展性方面,远胜于int、enum 这种数据类型。 但是如果你在创建索引的时候定义其类型为 Hash,MySql 并不会报错,而且你通过 SHOW CREATE TABLE 查看该索引也是 Hash,只不过该索引实际上还是 B-Tree。

    4.9K20编辑于 2023-02-15
  • 来自专栏Nicky's blog

    MySQL系列之字符类型学习笔记

    类型 6.1、集合类型简介 6.2、集合类型例子 一、字符集和字符编码 1.1、字符字符集:字符集就是字符的集合,例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个 information_schema.collations; 查询一下字符编码,如下是5.7.22版本的,有222条记录: 注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上 char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N),N的范围为0 这些才有字符集的概念 BINARY(N)和VARBINARY(N)中的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)中的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR varchar类型的列 5.1、text类型 TEXT 是用来存储字符大数据类型的,TEXT类型和blob类型一样,可以细分为: tinytext(2^8) text(2^16) mediumtext(

    73520编辑于 2022-05-07
  • 来自专栏Hadoop数据仓库

    MySQL 8 批量修改字符集脚本

    从低版本迁移到MySQL 8后,可能由于字符集问题出现 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900 _ai_ci,IMPLICIT) 错误,此时要修改对象的字符集。 ('utf8mb4_general_ci','utf8_general_ci'); 调用: /home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql 批量修改表字符集 change_table_characset.sql select concat('alter table ',table_schema,'.' ='BASE TABLE' and lower(table_collation) in ('utf8mb4_general_ci','utf8_general_ci'); 调用: /home/mysql

    2.6K20编辑于 2023-01-14
  • 来自专栏算法之名

    Mybatis操作mysql 8的Json字段类型

    Json字段是从mysql 5.7起加进来的全新的字段类型,现在我们看看在什么情况下使用该字段类型,以及用mybatis如何操作该字段类型 一般来说,在不知道字段的具体数量的时候,使用该字段是非常合适的 @Setter private Long id; //属性id @Getter @Setter private FormType formType; //前端使用的表单类型 1 : 0); return result; } } 其中formType为枚举类型 public enum FormType implements Localisable { 配件商 private ExtBeanWrapper otherValues; //其他属性集合 } 其中对应于属性列表的字段为otherValues,这个值正是我们要存入数据库的Json字段类型映射 要使用mybatis的数据对Json字段类型的转换,可以先引用一个网上写好的转换器,当然也可以自己写 pom <dependency> <groupId>com.github.jeffreyning

    4.8K20发布于 2019-08-20
  • 来自专栏earthchen的专栏

    mysql对数值类型字符串进行排序

    mysql对数值类型字符串进行排序 排序 有时会遇到这种需求,对数值型的字符串进行排序 在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII 就会出现比如要排序的字段值是1,2,3,11,12,排序完的结果会变成1,11,12,2,3, 很显然,这不是我们想要的,通过查阅资料,发现了一下三种方式可以使用 select * from 表名 ORDER BY `数值型字符串字段名 `*1; select * from 表名 ORDER BY `数值型字符串字段名`+0; select * from 表名 ORDER BY CAST(数值型字符串字段名 AS DECIMAL

    3.5K30发布于 2020-09-24
  • 来自专栏站长的编程笔记

    【说站】mysql中有哪些字符类型

    mysql中有哪些字符类型 说明 1、char和varchar都用来保存MySQL中的短字符串。varchar列中的值是可变长字符串。 2、binary和varbinary存储二进制字符串。 当binary值被保存时,MySQL通过在值的最后填充0x00(零字节)来实现指定的字段定义长度。 )); --向表中插入数据('a  ','a  ') mysql> insert into tbc values('a  ','a  '); --查看字段值长度 mysql> select length (bc),length(vbc) from tbc; 以上就是mysql字符类型的介绍,希望对大家有所帮助。 更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑 收藏 | 0点赞 | 0打赏

    1K30编辑于 2022-11-23
  • 来自专栏兮动人的博客

    mysql】二进制字符类型

    二进制字符类型 MySQL中的二进制字符类型主要存储一些二进制数据,比如可以存储图片、音频和视频等二进制数据。 MySQL中支持的二进制字符类型主要包括BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB类型。 1. 例如BINARY (8),表示最多能存储8个字节,如果字段值不足(M)个字节,将在右边填充'0'以补齐指定长度。 MySQL中的BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB 4种类型,它们可容纳值的最大长度不同。可以存储一个二进制的大对象,比如图片、音频和视频等。 需要注意的是,在实际工作中,往往不会在MySQL数据库中使用BLOB类型存储大对象数据,通常会将图片、音频和视频文件存储到服务器的磁盘上,并将图片、音频和视频的访问路径存储到MySQL中。

    3.5K40编辑于 2022-03-13
  • 来自专栏MySQL解决方案工程师

    MySQL8——带有字符集的UDF

    一列具有字符集“ utf8mb4”,另一列具有字符集“ latin1”。该表有一个记录。每列中存储的字符串相同。当然,根据它们各自的字符集,两个字符串的编码是不同的。 在MySQL 8.0.19中,我们添加了组件服务'mysql_udf_metadata',以检测输入参数的字符集,并选择UDF输出的所需字符集。让我们使用新的组件服务来实现一下。 现在,UDF希望使用latin1字符集中的两个参数,并返回utf8mb4字符集的连接字符串。这是先前UDF的修改版本。 ? ? ? 让我们在与之前相同的表上再次执行UDF。 请注意,我们以utf8mb4编码传递了第一个参数,并以latin1传递了第二个参数。UDF能够处理两个参数的字符集。它将连接的字符串作为格式正确的“ utf8mb4”编码的字符串返回。 ? 在前面显示的convert()方法中,现有的“ mysql_string_converter”组件服务将字符串从字符集(latin1)转换为另一个字符集(utf8mb4)。 此方法是可选项。

    1.9K20发布于 2020-09-28
  • 来自专栏房东的猫

    MySQL字符集utf8mb4

    MySQL在5.5.3版本之后,引进了新的字符编码utf8mb4,本篇文章主要介绍如何将已经是utf8的database切换到utf8mb4字符编码 utf8mb4 utf8mb4最明显的好处是解决了苹果挖的坑 ,可以给整个主机做快照 升级 utf8mb4是MySQL5.5.3版本之后支持的字符集,所以,如果你需要使用这个字符集,前提条件是你的MySQL版本必须 >= 5.5.3 修改 在MySQL中,可以为一个 COLLATE utf8mb4_unicode_ci; 注:VARCHAR(191) 根据字段实例的类型填写 检查字段的最大长度和索引列 字段长度 由于从utf8升级到了utf8mb4,一个字符所占用的空间也由 例如,你在utf8下设置某一字段的类型为TINYTEXT, 这中字段类型最大可以容纳255字节,三个字节一个字符的情况下可以容纳85个字符,四个字节一个字符的情况下只能容纳63个字符,如果原表中的这个字段的值有一个或多个超过了 63个字符,那么转换成utf8mb4字符编码时将转换失败,你必须先将TINYTEXT更改为TEXT等更高容量的类型之后才能继续转换字符编码 索引 在InnoDB引擎中,最大的索引长度为767字节,三个字节一个字符的情况下

    1.9K31发布于 2021-07-23
  • 来自专栏Jack96

    MySQL2_字符集及数据类型

    文章目录 MySQL_字符集及数据类型 1.字符集 2.校对集 3.MySQL的数据类型--值的类型 (1)整型 (2)unsigned(无符号) (3)显示宽度(zerofill) (4)浮点型 (5 )定点数 4.字符类型 5.枚举(enum) 6.集合(set) 7.时间类型 1.datetime 2.time 3.timestamp 4.year 8.布尔型 9.列的属性 10.SQL注释 MySQL _字符集及数据类型 1.字符字符集在什么时候可以发挥作用? 1.保存数据的时候需要使用字符集 2.数据传输的时候也需要使用字符集 在存续的时候使用字符集 在MySQL的服务器上,在数据库中,在表的使用上,在字段的设置上. #65535/4 -1 create table test2( text varchar(16382) )charset=utf8mb4; 在传输的时候使用字符集 #查看当前mysql系统支持的字符

    65620编辑于 2023-03-07
  • 【高性能MySQL】Schema与数据类型优化-字符类型(一)

    VARCHAR和CHAR类型VARCHAR类型用于存储可变长字符串。它比定长类型更节省空间。 有一种情况例外,如果MySQL表使用ROW_FORMAT=FIXED创建的话,每一行都会使用定长存储,这会很浪费空间。 VARCHAR需要使用1或2个额外字节记录字符串长度,如果列的最大长度小于或者等于255字节,则只使用1个字节表示,否则使用2个字节表示。例如一个VARCHAR(10)需要使用11个字节的存储空间。 字符串列的最大长度比平均长度大很多。列的更新很少,所以碎片不是问题了。使用UTF-8这样复杂的字符集,每个字符都使用不同的字节数进行存储。 CHAR类型是定长的,当存储CHAR值,MySQL会删除所有的末尾空格。CHAR值会根据需要采用空格填充的方式方便比较。它适合存储很短的字符串。

    28710编辑于 2025-01-31
  • MySQL 数据类型详解:字符串、数字、日期

    MySQL 中,选择合适的[数据类型]对于数据库的存储效率和查询性能至关重要。 MySQL 提供了**字符串(String)、数字(Numeric)和日期(Date & Time)**三大类数据类型,每种类型又有不同的子类型,以适应不同的业务需求。1. 字符串(String)数据类型[字符类型]用于存储文本数据,主要分为定长(CHAR)和变长(VARCHAR) ,以及大文本(TEXT 和 BLOB) 。 日期与时间(Date & Time)MySQL 提供多个日期时间类型:数据类型存储大小取值范围适用场景DATE3 字节1000-01-01 ~ 9999-12-31生日、订单日期DATETIME8 字节 总结MySQL 提供了多种数据类型,每种类型都有其适用场景。合理选择数据类型可以提升存储效率、优化查询性能,并避免精度损失。希望这篇文章能帮助你在数据库设计时做出更好的选择!

    50610编辑于 2025-07-04
领券