`

MySQL字符串字段类型选择的一般规则

 
阅读更多

 

 

 

1.       经常变化的字段用char

2.       知道固定长度的用char

3.       尽量用varchar

4.       超过255字节的只能用varchar或者text

5.       能用varchar的地方不用text

 

 

VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节

 

 

 

 

 

注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。

在mysql 5.0.45版本,数据库编码utf8下进行测试:varchar最长定义为21785。也就是说不论字母、数字、汉字,只能放21785个。
推想:varchar字节最大65535,utf8编码一个字符3个字节65535/3=21785。

 

 

 

 

   MySQL数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来 定)。
   在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个 字节。

 所以问了兼容在4.1或以下版本可以把5.0大的varchar改为使用text。当然如果不考虑兼容性使用varchar代替text有效的减少数据库 文件的大小

 

 

 

 

Varchar 的类型不以空格填满,比如varchar(100),但它的值只是”n”,则它的值就是”n”
而char 不一样,比如char(100),它的值是”n”,而实际上它在数据库中是”n “(n后共有99个空格,就是把它填满为100个字节)。
由于 char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!

char会造成空间浪费,但是有速度优势;而varchar节省了空间,但是速度就不如char。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    mysql分割字符串

    在MySQL数据库中,有时我们需要处理存储在单一字段内的多个值,这时就涉及到字符串的分割操作。这个场景在处理如CSV格式的数据或者存储一串相关但独立的信息时尤为常见。本篇将详细介绍MySQL中的字符串分割技术及其...

    mysql 计算字符串相似度

    ### MySQL 计算字符串相似度 #### 背景与需求 在许多应用场景中,我们需要对两个字符串进行相似度比较,比如搜索引擎中的关键词匹配、文本分析中的近义词识别等。MySQL 提供了多种方法来实现字符串相似度的计算,...

    mysql字符串连接函数

    ### MySQL字符串连接函数详解 在处理数据库中的字符串操作时,MySQL提供了多种强大的工具来帮助我们进行数据处理。本文主要介绍几种常用的字符串连接函数,包括`CONCAT()`、`CONCAT_WS()`以及`GROUP_CONCAT()`函数...

    Mysql字符串字段判断是否包含某个字符串的2种方法

    在MySQL数据库中,处理字符串字段的数据操作是常见的需求。这里我们关注的是如何判断字符串字段是否包含特定的子字符串。在给定的示例中,我们有一个名为`users`的表,其中`emails`字段存储了以逗号分隔的电子邮件...

    mysql拼接字符串函数

    MySQL 拼接字符串函数 MySQL 中有三个常用的字符串拼接函数:CONCAT、CONCAT_WS 和 GROUP_CONCAT。这些函数都可以用来将多个字符串连接起来,但是它们的使用场景和效果不同。 CONCAT 函数 CONCAT 函数的语法是 `...

    mysql数据库全部字段类型

    BINARY 类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串 BIT 位字段类型,范围为从1到64,默认为1 BLOB 最大长度为65,535(216–1)字节的BLOB列 BOOL 是TINYINT(1)的同义词。zero值被视为假。非zero值视...

    MySql所有字段类型及长度范围

    MySQL提供了丰富的数据类型,涵盖了数字、字符串、日期时间等多种类别,满足了不同场景下的需求。下面将详细介绍MySQL中的主要字段类型及其长度范围。 #### 整型数据类型 - **TINYINT[(M)][UNSIGNED][ZEROFILL]**...

    MySQL字段类型列表

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,其字段类型设计得非常灵活,以适应各种数据存储需求。在MySQL中,字段类型决定了数据的存储方式、大小和格式。以下是对MySQL5中常见字段类型的详细说明: 1. **...

    从字符串中查找字符出现次数的方法和性能对比

    但如果条件是基于字段中的子串或特定字符,则需结合字符串函数如`LENGTH`、`REPLACE`等来构建更复杂的查询语句,类似于文章中给出的`int mylen = (mysql.Length - mysql.Replace("sum", "").Length) / 3;`这样的...

    mysql的字段类型及简单的操作命令

    MySQL 中有多种字符串类型,每种类型都有其特点和使用场景。 * Char:一种固定长度的字符串类型,最大长度为 255 个字符。 * Varchar:一种变长的字符串类型,最大长度为 255 个字符。 * Text:一种最大长度为 ...

    MySQL字段类型说明

    MySQL 字段类型说明 ...MySQL 字段类型可以分为数字类型、日期和时间类型以及字符串(字符)类型,每种类型都有其特点和应用场景,了解这些类型的特点和应用场景可以帮助开发者更好地设计和优化数据库结构。

    MySQL数据库:表的字段类型.pptx

    字符串(字符)类型。 数值类型 表的字段类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 ...

    MySql连接字符串

    ### MySql连接字符串详解 在开发基于MySql数据库的应用程序时,正确配置数据库连接字符串是非常重要的一步。连接字符串包含了客户端与数据库服务器建立连接所需的各种参数。本文将深入解析一个典型的MySql连接字符...

    批量替换 MySQL 指定字段中的字符串

    批量替换字符串不仅适用于文本字段,还可以应用于其他任何类型的字符或文本数据,只要它们能被字符串函数处理。但需要注意,`REPLACE()` 函数是区分大小写的,因此在处理大小写敏感的情况时要特别注意。 在实际应用...

    MySql数据库的列类型(字段类型)

    MySQL数据库的列类型,也称为字段类型,是数据库设计中的关键元素,决定了数据的存储、处理和检索方式。这些类型大致分为数值类、字符串类和日期/时间类。以下是各类别的详细说明: **数值类数据列类型:** 1. **...

    mysql基于正则实现模糊替换字符串的方法分析

    例如,我们可能有一个名为`name`的字段,其中包含`<contact>efg</contact>`这样的字符串,我们想将其替换为`abcdhijk`。在MySQL中,我们可以使用以下方法: ```sql UPDATE tableA SET name = REPLACE( name, ...

    MySql数据库的列类型(字段类型).pdf

    除了数值类型,MySQL 的字符串类数据列类型包括 CHAR、VARCHAR、TEXT 等,用于存储字符数据。CHAR 是固定长度的字符串,而 VARCHAR 是可变长度的,更节省空间。TEXT 类型则用于存储大量文本数据。 日期/时间类数据...

    Mysql的longblob字段插入数据问题解决

    在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。 想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > ...

Global site tag (gtag.js) - Google Analytics