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

    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字符类型学习笔记

    注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上,用法是在建表或者修改字段时候加上charset [字符集名称] 二、字符集排序规则 2.1、排序规则定义 排序规则(Collation char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N),N的范围为0 ~255 CHAR(N)是来保存固定长度的字符串,也是根据设置的值N,假如N设置为10,不管你传什么范围内的字符串,都是固定长度为10的,因为数据库为存储列的右边进行填充(Right padded),而在读取时候数据库又会自动将填充的字符删除 3.2、VARCHAR类型 对于varchar类型是存储可变长字符串的,意思就是varchar(10)的列,我写字符串“abcd“,该列存储的4个字符,而char(10)的列才会存储10字符 四、BINARY 这些才有字符集的概念 BINARY(N)和VARBINARY(N)中的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)中的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR

    85110发布于 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字段类型字符

    常见字符类型char概述:char是固定长度的字符类型,这意味着无论实际存储的字符串长度是多少,每条记录都占用相同的存储空间例如,char(10),不论插入“abc"还是”abcdefghij“,每条记录都占用 10字符的空间填充机制:对于实际长度不足定义长度的字符,char 类型会在右侧用空格符填充空格处理:检索时,MySQL会自动去除尾部填充的空格特点:char 取值范围 0-255char 类型在比较时会忽略尾部空格对于长度基本相同的字符串 :utf8mb4已成为现代应用的标准大文本考虑:超过VARCHAR限制时使用TEXT类型索引优化:对长VARCHAR列考虑使用前缀索引text概述: TEXT 是 MySQL 中用于存储大文本数据的可变长度字符类型字符串形式存储,确保精确但占用更多空间未指定精度时,FLOAT默认约7位,DOUBLE默认约15位对于货币金额,推荐使用DECIMAL(19,4)MySQL 日期时间类型作用说明类型作用描述格式范围存储大小 2位或4位年份(4位推荐)TIMESTAMP列在记录更新时会自动更新(需配置)时间函数(NOW(), CURDATE()等)适用于这些类型MySQL 常见字符集作用说明字符集作用描述支持字符范围存储需求兼容性

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

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

    总结 ---- 前言 使用MySQL数据库存储数据时,不同的数据类型决定了MySQL存储数据方式的不同。 MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型字符类型。 下面以保存A字符为例 注意:MySQL中的直接常量是指在MySQL中直接编写的字面常量,常用在insert语句中编写插入的数据,包括:十进制数、二进制数、十六进制数、字符串。 BLOB查询时区分大小写 JSON数据类型 MySQL从5.7.8版本开始提供了JSON数据类型。JSON是一种轻量级的数据交换格式,有JavaScript语言发展而来,其本质是一个字符串。 JSON数组: [“abc”,10,null,true,false] JSON对象: {“k1”:‘value’,“k2”:10} ---- 总结 以上就是今天的学习内容啦~ 如果有兴趣的话可以订阅专栏

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

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

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

    1.2K30发布于 2021-07-30
  • 来自专栏全栈程序员必看

    mysqlmysql中的整数和字符类型

    1)varchar是用于存储变长的字符串,只占用必要的存储空间,例如有一个varchar(50)的列,而实际只存储了10字符,那这个列实际就只占了10字符 2)列的最大长度小于255则只占用一个额外的字节用于纪录字符串长度 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系列之字符类型学习笔记

    222条记录: 注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上,用法是在建表或者修改字段时候加上charset [字符集名称] 二、字符集排序规则 2.1、排序规则定义 char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N),N的范围为0 ~255 CHAR(N)是来保存固定长度的字符串,也是根据设置的值N,假如N设置为10,不管你传什么范围内的字符串,都是固定长度为10的,因为数据库为存储列的右边进行填充(Right padded),而在读取时候数据库又会自动将填充的字符删除 对于varchar类型是存储可变长字符串的,意思就是varchar(10)的列,我写字符串“abcd“,该列存储的4个字符,而char(10)的列才会存储10字符 四、BINARY和VARBINARY 这些才有字符集的概念 BINARY(N)和VARBINARY(N)中的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)中的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR

    73520编辑于 2022-05-07
  • 来自专栏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. ) M+1个字节 举例: 创建表: CREATE TABLE test_binary1( f1 BINARY, f2 BINARY(3), # f3 VARBINARY, f4 VARBINARY(10 MySQL中的BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB 4种类型,它们可容纳值的最大长度不同。可以存储一个二进制的大对象,比如图片、音频和视频等。 需要注意的是,在实际工作中,往往不会在MySQL数据库中使用BLOB类型存储大对象数据,通常会将图片、音频和视频文件存储到服务器的磁盘上,并将图片、音频和视频的访问路径存储到MySQL中。

    3.5K40编辑于 2022-03-13
  • 来自专栏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的服务器上,在数据库中,在表的使用上,在字段的设置上. ), b double(10,2), c decimal(10,2) ); #五舍六如 4.字符类型 类型 描述 char 定长(255) varchar 可变长度(65535) tinytext

    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) 。 VARCHARCHAR(10) 始终占用 10 个字节(不足补空格)。VARCHAR(10) 只存储实际字符,最多 10 个字节,并额外占用 1-2 字节用于存储长度信息。 总结MySQL 提供了多种数据类型,每种类型都有其适用场景。合理选择数据类型可以提升存储效率、优化查询性能,并避免精度损失。希望这篇文章能帮助你在数据库设计时做出更好的选择!

    50610编辑于 2025-07-04
  • 【高性能MySQL】Schema与数据类型优化-字符类型(二)

    BLOB和TEXT类型 BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和字符串方式存储。 他们分别属于两组不同的数据类型家族:字符类型是TINYTEXT,SMALLTEXT,TEXT,MEDIUMTEXT,LONGTEXT。 BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型字符集和排序规则。 最好的解决办法就是尽量避免使用BLOB和TEXT类型。如果实在无法避免,就在所有用到BLOB字段的地方都使用SUBSTRING(column,length)将列值转换为字符串。 但是要确保截取的字符串足够短,不会使临时表的大小超过max_heap_table_size或者tmp_table_size,超过以后MySQL会将内存临时表转换成磁盘临时表。

    26310编辑于 2025-02-01
  • 来自专栏开发与安全

    Mysql数据库学习(二):数据类型(数值类型 日期和时间类型 字符类型

    数据类型 数值类型 日期和时间类型 字符类型 一、数值类型 整数 tinyint[M] [unsigned] [zerofill]    // [ ] 表示可选,这里的M表示显示宽度,并不是取值范围 decimal存储方式,参考:http://dev.mysql.com/doc/refman/5.1/zh/precision-math.html numeric是decimal的别名 create 这说明它们没有字符集,并且排序和比较基于列值字节的数值。 字符串存储需求 VARCHAR、BLOB和TEXT类是变长类型。 每个类型的存储需求取决于列值的实际长度(用前面的表中的L表示),而不是该类型的最大可能的大小。例如,VARCHAR(10)列可以容纳最大长度为10字符串。 对于CHAR、VARCHAR和TEXT类型,前面的表中的值L和M应解释为字符数目,并且列定义中的这些类型的长度表示字符数目。例如,要想保存一个TINYTEXT值需要L字符+ 1个字节。

    2.8K00发布于 2017-12-28
  • 来自专栏微光点亮星辰

    Oracle 与 MySQL 的差异分析(10):字符

    Oracle 与 MySQL 的差异分析(10):字符集 1 数据库支持的字符集 1.1Oracle Oracle创建数据库时指定字符集,一般不能修改,整个数据库都是一个字符集。 虽然还支持指定国家字符集,用于nvarchar2类型,不过很少用到。常用的字符集:AL32UTF8和ZHS16GBK,其中AL32UTF8与UTF8几乎是等价的。 1.2 MySQL MySQL字符集比较灵活,可以指定数据库、表和列的字符集,并且很容易修改数据库的字符集,不过修改字符集时已有的数据不会更新。 ),length(name), lengthb(name) from t_test; 结果: 好 Typ=1 Len=3:e5,a5,bd 1 3 2.2 MySQL MySQL的客户端字符集参数有三个: character_set_client:客户端来源数据使用的字符集 character_set_connection:连接层字符集 character_set_results

    2K31发布于 2020-04-10
  • 来自专栏编程

    【重学 MySQL】五十三、MySQL数据类型概述和字符集设置

    【重学 MySQL】五十三、MySQL数据类型概述和字符集设置 MySQL数据类型概述 MySQL是一个流行的关系型数据库管理系统,它支持多种数据类型,以满足不同数据处理和存储的需求 自动递增,适用于整数类型 UNSIGNED 无符号 CHARACTER SET name 指定一个字符MySQL字符集设置 MySQL中的字符集是一种用于表示文本字符编码方式的标准,它规定了每个字符对应的二进制数据 MySQL提供的常用字符集包括UTF-8、GBK、GB2312等。在不同的字符集下,同一种字符所占用的存储空间和表示方式也是不同的。 MySQL字符集的设置可以细化到服务器、数据库、表和列四个级别。 对于需要精确计算的场景,如金融、会计等领域,建议使用DECIMAL类型以确保数据的准确性。 在进行数据导入和导出时,应注意字符集的兼容性,确保数据文件的字符集与MySQL字符集一致。 通过合理设置和使用MySQL的数据类型字符集,可以优化数据库性能、确保数据完整性和准确性,并满足不同的数据处理和存储需求。

    62810编辑于 2024-10-28
  • 来自专栏编程

    【重学 MySQL】五十九、二进制字符类型与 JSON 类型

    【重学 MySQL】五十九、二进制字符类型与 JSON 类型MySQL数据库中,二进制字符类型与JSON类型各自具有独特的特点和用途。 二进制字符类型 二进制字符类型MySQL中主要用于存储二进制数据。 但在实际工作中,往往不会在MySQL数据库中使用BLOB类型直接存储这些大对象数据,而是将文件存储到服务器的磁盘上,并将文件的访问路径存储到MySQL中。 JSON数据类型的支持 MySQL从5.7.8版本开始支持JSON数据类型。在此之前,只能通过字符类型(CHAR、VARCHAR或TEXT)来保存JSON文档。 综上所述,二进制字符类型与JSON类型MySQL中各自扮演着重要的角色。二进制字符类型主要用于存储二进制数据,而JSON类型则提供了一种高效、灵活的方式来存储和查询复杂数据结构。

    53110编辑于 2024-10-28
领券