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

    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) 对比: 不同的是BINARY和VARBINARY存储的都是二进制类型字符串,CHAR和VARCHAR存储的才是字符类型字符串 BINARY和VARBINARY没有字符集的概念,CHAR和VARCHAR 这些才有字符集的概念 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字段类型字符

    10个字符的空间填充机制:对于实际长度不足定义长度的字符,char 类型会在右侧用空格符填充空格处理:检索时,MySQL会自动去除尾部填充的空格特点:char 取值范围 0-255char 类型在比较时会忽略尾部空格对于长度基本相同的字符串 :utf8mb4已成为现代应用的标准大文本考虑:超过VARCHAR限制时使用TEXT类型索引优化:对长VARCHAR列考虑使用前缀索引text概述: TEXT 是 MySQL 中用于存储大文本数据的可变长度字符类型 3、排序规则:按数值(位掩码)排序,可能不符合预期4、建议:适合中等规模的固定选项集选项名应简洁明确避免频繁修改选项集合MySQL基本整数类型类型存储空间有符号范围无符号范围典型用途TINYINT1字节 (只存储非负数)TINYINT(1) -- 常用于表示布尔值(0/1)MySQL 浮点与精确数值类型作用说明类型作用描述特点FLOAT单精度浮点数

    • 4字节存储
    • 约7位有效数字 2位或4位年份(4位推荐)TIMESTAMP列在记录更新时会自动更新(需配置)时间函数(NOW(), CURDATE()等)适用于这些类型MySQL 常见字符集作用说明字符集作用描述支持字符范围存储需求兼容性

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

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

    MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型字符类型。 当浮点数类型使用unsigned修饰为无符号时,取值范围将不包括负数。 注意:float的精度为6位或7位,double的精度大约为15位。 下面以保存A字符为例 注意:MySQL中的直接常量是指在MySQL中直接编写的字面常量,常用在insert语句中编写插入的数据,包括:十进制数、二进制数、十六进制数、字符串。 3、使用两位数字表示为1 ~ 99,其中1~6’的值会被转换为2001 ~2069的YEAR值,70 ~ 99的值会被转换为1970 ~ 1999的YEAR的值。 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属性,也可能包括校对规则 它分配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中的整数和字符类型

    一.为表中的字段选择合适的数据类型的原则 当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或者二进制类型,最后是字符类型,对于相同级别的数据类型,应该优先选择占用空间小的数据类型 理由 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个 222条记录: 注意:MySQL字符集设置不进可以设置整一张表,也可以细到具体的每个字段上,用法是在建表或者修改字段时候加上charset [字符集名称] 二、字符集排序规则 2.1、排序规则定义 ,其语法分别是char(N)和varchar(N),注意其中N在MySQL4.1版本后都表示字符的长度,而非字节长度,在MySQL4.1之前版本才表示字节的长度 3.1、CHAR类型 对于CHAR(N) 对比: 不同的是BINARY和VARBINARY存储的都是二进制类型字符串,CHAR和VARCHAR存储的才是字符类型字符串 BINARY和VARBINARY没有字符集的概念,CHAR和VARCHAR 这些才有字符集的概念 BINARY(N)和VARBINARY(N)中的N表示的字节的长度,从前面我们知道CHAR(N)和VARCHAR(N)中的N自从MySQL4.1之后,就表示字符的长度 CHAR和VARCHAR

    73520编辑于 2022-05-07
  • 来自专栏Python

    6-2、Python 数据类型-字符

    6-2、Python 数据类型-字符字符串存储方式整型在内存中占一个字节,字符串不管中间有多少内容都要单独存储类型的转换Int将字符串转换成整型 Str将整型转换成字符串>>> num = '100' >>> type(num)<class 'str'>>>> int(num) # 转换为int类型输出,并不是改变它的实际类型100>>> type(int(num))<class 'int'>>> >>> name = 'abcdef'>>> name[0]'a'>>> name[2]'c'>>> name[5]'f'>>> name[6]Traceback (most recent call last ): File "<pyshell#43>", line 1, in <module> name[6]IndexError: string index out of range # 字符串越界 ,只要超出了范围不管从左取还是从右取>>> >>> len(name) # len 求字符串长度函数6>>> len(name)-15>>> name[len(name)-1]'f'>>> name[-

    32130编辑于 2023-11-07
  • 来自专栏python教程

    Python教程(6)——Python变量的基础类型。|整数类型|浮点数类型|字符类型|布尔类型|

    pi = 3.1415926print(round(pi, 2) # 输出3.14print(int(pi)) # 输出3图片字符类型(str)字符类型是python当中非常非常重要的一个类型 上面的两个字符串变量str1和str2都表示相同的字符串。当需要在字符串中插入引号时,可以使用不同类型的引号来表示。str3 = "She said, 'Hello!'" "# 输出I'm learning Python.str6 = 'He said, "I\'m busy."'# 输出He said, "I'm busy." 当需要在字符串中换行时,可以使用多行字符串的表示方法。可以使用三个单引号(''')或三个双引号(""")将字符串括起来。 str7和str8都是多行字符串,可以在其中进行换行操作。关于字符类型的具体内容,后面我会专门开一个章节来讲解。布尔类型(bool)布尔类型几乎每种编程语言中都有,就只有两种取值——真和假。

    86200编辑于 2023-08-15
  • 来自专栏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(零字节)来实现指定的字段定义长度。 实例 --创建表tbc,包含字段bc(binary(6))、vbc(varbinary(6)) mysql> create table tbc (bc binary(6),vbc varbinary(6 (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与VARBINARY类型 BINARY和VARBINARY类似于CHAR和VARCHAR,只是它们存储的是二进制字符串。 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.字符字符集在什么时候可以发挥作用? 32-1 5.枚举(enum) 多选一的时候使用的一种数据类型 在前端使用单选框的时候,枚举类型可以发挥作用 create table t6( name varchar(32), sex enum ('男','女','保密') default 3 ); #枚举类型的下标默认从1开始 insert into t6 set name='王宝强',sex=1; #枚举类型的优点: 1.限制值 2.节省空间

    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
  • 【高性能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表示显示宽度,并不是取值范围 a decimal(30,6)); insert into t_number6 values(123456789123456789.12345); create table t_number7(a decimal 这说明它们没有字符集,并且排序和比较基于列值字节的数值。 字符串存储需求 VARCHAR、BLOB和TEXT类是变长类型。 每个类型的存储需求取决于列值的实际长度(用前面的表中的L表示),而不是该类型的最大可能的大小。例如,VARCHAR(10)列可以容纳最大长度为10的字符串。 对于CHAR、VARCHAR和TEXT类型,前面的表中的值L和M应解释为字符数目,并且列定义中的这些类型的长度表示字符数目。例如,要想保存一个TINYTEXT值需要L字符+ 1个字节。

    2.8K00发布于 2017-12-28
  • 来自专栏CaiRui

    Mysql-6-数据类型和运算符

    1.mysql数据类型 (1)数值数据类型:包括整数类型tinyint、smallint、mediumint、int、bigint,浮点小数类型float和double,定点小数类型decimal。 5.字符类型 类型名称 说明 存储需求 char 固定长度非二进制字符串 M字节,1<=m<=255 varchar 变长非二进制字符串 L+1字节,在此L<=M且1<=m<=255 tinytext 1或2个字节 set 一个集合,字符串对象可以有零个或多个 6.二进制类型 类型名称 说明 bit 位字段类型 binary 固定长度的二进制字符集 varbinary 可变长度的二进制字符串 tinyblob (5)enum和set enum只能取单值,它的数据列表时一个枚举类型。set可以取多个值。都是以字符串形式出现的,但在mysql内部,实际是以数值索引的形式存储它们。 (6)blob和text 一般保存少量字符串的时候,可以选择char或者varchar,而在保存大文件时,通常选择使用text或者blob,差别:blob能用来保存二进制数据,如照片、音频信息等;而text

    1.3K100发布于 2018-01-17
领券