精华内容
下载资源
问答
  • 本文主要探讨数据库可变字符串类型长度设计问题,最好的策略是只分配真正需要的空间,慷慨是不明智的。

    转载请注明原创出处,谢谢!

    HappyFeet的博客

    varchar 类型用于存储可变长字符串,是最常见的字符串数据类型。它比定长类型更节省空间,因为它仅使用必要的空间(例如:越短的字符串使用越少的空间)。

    本文基于 MySQL 数据库进行探讨。

    MySQL 版本为:Server version: 5.7.16 MySQL Community Server (GPL)。


    1、varchar 的长度分配问题

    一直对数据库的可变长字符串的长度分配问题存在疑问:不知道应该分配多长。

    今天我们就来看看 varchar 的长度是依据什么来判断的?

    • 有的人说:“属性有多长,就分配多长”。 ---- 即只分配真正需要的空间

    • 也有人说:“属性的长度应为 4 的倍数,因为这样可以做到内存对齐”。 ---- 即分配为 4 的倍数的长度,可以内存对齐

    • 另一些极端的人觉得:“既然对于 varchar 来说,越短的字符串使用越少的空间,那么这个长度定大一些也不会有什么问题,都分配 4000 的长度,这样可以避免出现超过长度的数据存不进去的问题”,即不管属性长度如何,都分配一个很大的长度,例如:4000.

    那到底哪一种说法是对的呢?

    我们来看个例子,假设我们要建一张表来存 CSDN 个人资料中的三条属性:昵称、地区和简介。下面有三个版本的建表语句,分别针对不同的说法所创建的。

    -- 版本 1:只分配真正需要的空间
    create table user_info (
    	user_id 		long primary key,
    	nickname 		varchar(20),
    	region   		varchar(100),
    	introduction 	varchar(500)
    );
    
    -- 版本 2:在版本 1 的基础上调整为 4 的倍数
    create table user_info (
    	user_id 		long primary key,
    	nickname 		varchar(32),
    	region   		varchar(128),
    	introduction 	varchar(512)
    );
    
    -- 版本 3:长度都取 4000
    create table user_info (
    	user_id 		long primary key,
    	nickname 		varchar(4000),
    	region   		varchar(4000),
    	introduction 	varchar(4000)
    );
    

    经过查阅众多资料之后,得出结论:版本 1 是最好的,即只分配真正需要的空间

    2、结论分析

    下面就来说一下为什么:

    (1)varchar 需要 1 或 2 个额外字节记录字符串的长度

    如果列的最大长度小于或等于 255 字节,则只使用 1 个字节表示,否则使用 2 个字节。假设采用 latin1 字符集,一个 varchar(10) 的列需要 11 个字节的存储空间。varchar(1000) 的列则需要 1002 个字节,因为需要 2 个字节存储长度信息。

    (2)内存对齐 确实有一定的性能提升,但是通过将字段长度定义为 4 的倍数做不到内存对齐

    对于 varchar 类型来说,字符串是变长的,它的实际存储长度为:1 或 2 个额外字节 + 字符串实际长度。举几个例子:

    a、往 varchar(8) 中存入 "abcdefgh",实际存储长度应该为 1 + 8 = 9 个字节,第一个字节记录这个字符串的长度;

    b、往 varchar(8) 中存入 "abc",实际存储长度为 1 + 3 = 4 个字节。

    c、往 varchar(1000) 中存入 "abc",实际存储长度为 2 + 3 = 5 个字节。

    说到内存对齐就简单提一下 MySQL 存储引擎 InnoDB 的数据页结构:page 是 MySQL 管理存储空间的基本单位,它由一条或多条 row 组成,row 就对应于 table 的一条记录,数据读取也是基于 page 来的,而不是一行一行的读。更多详情见:InnoDB数据页结构

    (3)MySQL 在解决某些类型的查询时需要创建隐式临时表(又分为内存临时表和磁盘临时表)

    对于临时表中的字段,MySQL 都会分配一个足够长的定长空间来存放。这个定长空间必须足够长以容纳其中最长的字符串,例如,如果是 varchar 列则需要分配其完整长度,如果使用 UTF-8 字符集,那么 MySQL 将会为每个字符预留三个字节。

    假设我们在查询 user_info 的时候触发了隐式临时表的创建,对于 nickname 这一列,如果我们使用版本 1的建表语句,MySQL 按照完整长度,每条记录仅需要分配 20 的内存,而如果是版本 3的话,每条记录却需要分配 4000 的长度!!!很明显,这是一个非常糟糕的设计。

    MySQL 在以下几种情况会创建临时表(不过这不是本文的重点!)

    • UNION 查询;

    • 用到 TEMPTABLE 算法或者是 UNION 查询中的视图;

    • ORDER BY 和 GROUP BY 的子句不一样时;

    • 表连接中,ORDER BY 的列不是驱动表中的;

    • DISTINCT 查询并且加上 ORDER BY 时;

    • SQL 中用到 SQL_SMALL_RESULT 选项时;

    • FROM 中的子查询;

    • 子查询或者 semi-join 时创建的表;

    (4)预分配内存空间的问题

    注意,这一点存疑!这个说法我目前还没有找到具体的源码或文档说明,不过如果有预分配内存的话,那应该是说得通的,待找到依据再对这一点进行更新

    这个和第三点有点类似,只是第三点讲的是在数据库内部引擎中,而这里讲的是客户端从数据库引擎获取数据。简单来说就是,对于一个 varchar(1000),客户端的 executor 在没拿到存储引擎存储的数据之前,并不会知道我这一行拿出来的数据到底有多长,可能长度只有 1,可能长度是 800,那怎么办呢,那就只能先把最大空间分配好了,避免放不下的问题发生,这样实际上对于真实数据较短的 varchar 确实会造成空间的浪费。举例:如果我有 1000 个 varchar(1000),但是每个只存一个字符,那么真实数据量其实只有 1K,但是我却需要 1M 的内存去适应它。

    (5)字段长度能够起到一定的约束作用

    比如一个字段长度最大不超过 10 个字节,那我们就可以将其设置为 varchar(10),如果超过了 10 个字节,就说明这是个脏数据,这对实际数据能起到一定的约束。

    (6)数据库对于索引的字段长度有限制,在长的数据列上建索引可能会报错,例如

    mysql> create table long_length_table(
        -> long_column1 varchar(2000),
        -> long_column2 varchar(2000),
        -> long_column3 varchar(2000),
        -> long_column4 varchar(2000),
        -> long_column5 varchar(2000)
        -> );
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> create table short_length_table(
        -> short_column1 varchar(10),
        -> short_column2 varchar(10),
        -> short_column3 varchar(10),
        -> short_column4 varchar(10),
        -> short_column5 varchar(10)
        -> );
    Query OK, 0 rows affected (0.03 sec)
    
    mysql> create index short_length_table_idx on short_length_table(short_column1, short_column2, short_column3, short_column4);
    Query OK, 0 rows affected (0.02 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> create index long_length_table_idx on long_length_table(long_column1, long_column2, long_column3, long_column4);
    ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes
    

    3、总结

    在 varchar(30) 和 varchar(1000) 存入 “ab”,使用的存储空间区别不大,无非就是一个使用 1 个字节记录字符串的长度,另一个使用 2 个字节记录。但是对于在某些 case 下,varchar(1000) 的性能会比 varchar(30) 差很多,内存消耗也会成倍增加。

    另外,将长度调整为 4 的倍数(内存对齐)会提高性能这种说法也是不对的。

    所以得出的结论是: 只分配真正需要的空间

    PS:以后终于可以理直气壮的跟别人讲:varchar 的长度不宜过长,满足长度要求即可;也不必强行将长度设置成 4 的倍数,这对性能提升是没有效果的。_

    参考资料:

    (1)《高性能 MySQL》第三版.

    (2)MySQL - varchar length and performance

    (3)What are the current best practices concerning varchar sizing in SQL Server?

    (4)Best practices for SQL varchar column length

    (5)Would using varchar(5000) be bad compared to varchar(255)?

    (6)What are the optimum varchar sizes for MySQL?

    (7)MySQL: Disk Space Exhaustion for Implicit Temporary Tables

    (8)File Space Management

    (9)InnoDB数据页结构

    展开全文
  • 字符串 varchar varchar(255) 所占资源空间是你存储内容的长度 定长字符串 char char(8)不管你存储内容的长度是多少,它所占空间就是8,如果存储内容长度大于8,则会被截取 所以:varchar相较于char,更能节省...

    变长字符串 varchar   varchar(255) 所占资源空间是你存储内容的长度

    定长字符串 char     char(8)不管你存储内容的长度是多少,它所占空间就是8,如果存储内容长度大于8,则会被截取

    所以:varchar相较于char,更能节省资源空间

    但是 ,还有一种,数据库对定长字段操作有优化,数据量量大时做特定操作时,会比变长字符串快很多。

    
    

    转载于:https://www.cnblogs.com/yfafa/p/9111661.html

    展开全文
  • 字符串类型用于存储字符和字符串数据,主要包含三种具体的类型:定长字符串字符串以及字符串大对象。各种数据库对于字符串类型的支持如下: 数据类型 Oracle MySQL SQL Server PostgreSQL 定长字符串 ...

    MySQL 常见的数据类型有字符串类型、数字类型、时间类型、二进制类型。具体的分类如下图:
    在这里插入图片描述

    1. 字符串类型

    字符串类型用于存储字符和字符串数据,主要包含三种具体的类型:定长字符串、变长字符串以及字符串大对象。各种数据库对于字符串类型的支持如下:

    数据类型OracleMySQLSQL ServerPostgreSQL
    定长字符串CHAR(n)CHAR(n)CHAR(n)CHAR(n)
    变长字符串VARCHAR2(n)VARCHAR(n)VARCHAR(n)VARCHAR(n)
    字符串大对象CLOBTEXTVARCHAR( MAX )TEXT

    SQL 中,输入字符串类型的常量和数据时,需要使用单引号引用。

    1.1 定长字符串

    CHAR(n) 表示长度固定的字符串,其中 n 表示字符串的长度。常见的定义方式包括:

    • CHAR,长度为 1 的字符串,只能存储 1 个字符;
    • CHAR(5),长度为 5 的字符串。

    对于定长字符串,如果输入的字符串长度不够,将会使用空格进行填充。通常来说,只有存储固定长度的数据时,才会考虑使用定长字符串类型。例如 18 位身份证,6 位邮政编码等。

    1.2 变长字符串

    VARCHAR(n) 表示长度不固定的字符串,其中 n 表示允许存储的最大长度。对于变长字符串,如果输入的字符串长度不够定义的最大长度,则存储实际的内容。

    CHAR VARYINGCHARACTER VARYINGVARCHAR 的同义词,可以通用。 Oracle 中使用 VARCHAR2 表示变长字符串类型。


    变长字符串类型一般用于存储长度不固定的内容。

    1.3 字符串大对象

    CLOB 表示字符串大对象,通常用于存储普通字符串类型无法支持的更长的字符串数据。例如整篇文章、备注、评论等。

    • Oracle 使用 CLOB 类型存储大型字符串;
    • MySQL 提供了 TINYTEXTTEXTMEDIUMTEXT 以及 LONGTEXT 分别用于存储不同长度的文本数据;
    • SQL Server 使用 VARCHAR( MAX ) 存储大文本数据;
    • PostgreSQL 提供了 TEXT 类型存储任意长度的字符串;

    CHARACTER LARGE OBJECTCHAR LARGE OBJECTCLOB 的同义词,可以通用。

    2. 数字类型

    数字类型主要分为两类:精确数字和近似数字。各种数据库对于数字类型的支持如下:

    数据类型OracleMySQLSQL ServerPostgreSQL
    精确数字SMALLINT
    INTEGER

    NUMERIC(p, s)
    SMALLINT
    INTEGER
    BIGINT
    NUMERIC(p, s)
    SMALLINT
    INTEGER
    BIGINT
    NUMERIC(p, s)
    SMALLINT
    INTEGER
    BIGINT
    NUMERIC(p, s)
    近似数字BINARY_FLOAT
    BINARY_DOUBLE
    FLOAT
    DOUBLE PRECISION
    REAL
    DOUBLE PRECISION
    REAL
    DOUBLE PRECISION

    2.1 精确数字

    精确数字类型用于存储整数或者包含固定小数位的数字。其中, SMALLINTINTEGERBIGINT 都可以表示整数。

    对于 MySQLSQL Server 以及 PostgreSQL

    • SMALLINT 支持 -32768 ~ 32767;
    • INTEGER 支持 -2147483648 ~ 2147483647;
    • BIGINT 支持 -263 ~ 263-1。

    Oracle 中的 SMALLINTINTEGER 都是 NUMBER(38,0) 的同义词; Oracle 不支持 BIGINT 关键字。

    INTINTEGER 的同义词,可以通用。 MySQL 中还提供了 TINYINT ,支持 -128 ~ 127; MEDIUMINT 支持 -8388608 ~ 8388607。另外,MySQL 中的所有整型分为有符号类型(例如 INTEGERINTEGER SIGNED )和无符号类型(例如 INTEGER UNSIGNED ),无符号整型支持的正整数范围扩大了一倍。

    NUMERIC(p, s)DECIMAL(p, s) 可以看作相同的类型,用于存储包含小数的精确数字。

    其中,精度 p 表示总的有效位数,刻度 s 表示小数点后允许的位数。例如,123.04 的精度为 5,刻度为 2。 ps 是可选的, s 为 0 表示整数。 SQL 标准要求 p ≥ s ≥ 0 并且 p > 0

    DECDECIMAL 的同义词,可以通用。 Oracle 中的 NUMERICDECIMAL 都是 NUMBER 的同义词。

    整数类型通常用于存储数字 id、产品数量、课程得分等数字; NUMERIC 用于存储产品价格、销售金额等包含小数并且准确度要求高的数据。

    2.2 近似数字

    近似数字也称为浮点型数字,一般使用较少,主要用于科学计算领域。

    REAL 表示单精度浮点数,通常精确到小数点后 6 位;DOUBLE PRECISION 表示双精度浮点数,通常精确到小数点后 15 位。浮点数运算更快,但是可能丢失精度;浮点数的比较运算可能会导致非预期的结果。

    • Oracle 使用 BINARY_FLOATBINARY_DOUBLE 表示浮点数。
    • MySQL 使用 FLOAT 表示单精度浮点数,同时区分有符号和无符号的浮点数。

    3. 日期时间类型

    • DATE 存储年、月、日;
    • TIME 存储时、分、秒,以及秒的小数部分;
    • TIMESTAMP 同时包含年、月、日、时、分、秒,以及秒的小数部分。

    各数据库的差异:

    • Oracle 中的 DATE 类型包含了额外的时、分、秒,不支持 TIME 类型。
    • SQL Server 使用 DATETIME2DATETIMEOFFSET 表示时间戳。
    • MySQL 还支持 DATETIME 表示时间戳。

    4. 二进制类型

    二进制类型用于存储二进制数据,例如文档、图片,视频等。二进制类型具体包含以下三种:

    • BINARY(n) ,固定长度的二进制数据, n 表示二进制字符数量;
    • VARBINARY(n) ,可变长度的二进制数据, n 表示支持的最大二进制字符数量;
    • BLOB ,二进制大对象。

    各数据库差异:

    • Oracle 支持 BLOB 二进制类型;
    • MySQL 支持 BINARYVARBINARY 以及 TINYBLOBBLOBMEDIUMBLOBLONGBLOB 二进制类型;
    • SQL Server 支持 BINARYVARBINARY 以及 VARBINARY ( MAX ) 二进制类型;
    • PostgreSQL 支持 BYTEA 二进制类型。

    5. 如何选择数据类型

    一般来说,先确定基本的类型:

    • 文本数据,只能使用字符串类型;
    • 数值数据,尤其是需要进行数学运算的数据,选择数字类型;
    • 日期和时间信息,最好使用原生的日期时间类型;
    • 文档、图片、音频和视频等,使用二进制类型;或者可以考虑存储在文件服务器上,然后在数据库中存储文件的路径。

    接下来需要进一步确定具体的数据类型。在满足数据存储和扩展的前提下,尽量使用更小的数据类型,可以节省一些存储,通常性能也会更好。

    对于字符数据,一般使用 VARCHAR 类型;如果数据长度能够确保一致,可以使用 CHAR ;指定最大长度时,满足存储需求的前提下尽量使用更小的值。

    不要使用字符串存储日期时间数据,它们无法支持数据的运算。例如获得两个日期之间的间隔,需要依赖应用程序进行转换和处理。

    参考:

    https://gitbook.cn/gitchat/column/undefined/topic/5db92c23a9c3a53bc3800f0d

    展开全文
  • Mysql可变长度列VARCHAR、BLOB和TEXT问题

    千次阅读 2019-03-10 13:21:46
    在对这些可变长度类型的列进行大量的增删后可能会出现碎片,建议定期 OPTIMIZE TABLE 表名; 以优化性能。但以上命令只对MyISAM, BDB和InnoDB存储引擎的表生效。 以下方式也可以优化innodb存储引擎的表中的碎片: ...

    在对这些可变长度类型的列进行大量的增删后可能会出现碎片,建议定期执行:

    OPTIMIZE TABLE 表名;
    

    以优化性能。但以上命令只对MyISAM, BDB和InnoDB存储引擎的表生效。

    以下方式也可以优化innodb存储引擎的表中的碎片:

    alter table 表名 engine=innodb;
    

    数据库会把数据重新写入文件,相当于整理了碎片。

    展开全文
  • 本篇文章MySQL版本: +-----------+ ... 分为文本字符串类型和二进制字符串类型; 不仅可以存储字符串,还可以存储其他类型; 字符串可以区分或不区分大小写的串比较; 支持进行模式匹配查找; CHA...
  • MySQL 生成指定长度的随机字符串

    千次阅读 2018-11-13 09:04:00
    1、生成指定长度英文字符串的函数 DELIMITER $$ create function rand_string (n int)  returns varchar(255) begin  declare chars_str varchar(100) default '...
  • MySQL中的字符串类型分为CHAR、...可变长度字符串 BINARY 固定长度的二进制数据 TEXT 大文本数据 VARBINARY 可变长度的二进制数据 ENUM 枚举类型 BLOB 二进制大对象(Binary Large Object) 接下来,针对这些字符
  • MySQL字符串类型

    2020-03-13 16:09:08
    下表中列出了 MySQL 中的字符串数据类型,括号中的M表示可以为其指定长度。 VARCHAR 和 TEXT 类型是长类型,其存储需求取决于列值的实际长度(在前面的表格中用 L 表示),而不是取决于类型的最大可能尺寸。 例如...
  • 一、字符串类型 类型 范围 说明   Char(N) [ binary] N=1~255 个字节 binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar(N) [binary] N=1~...
  • VARCHAR类型用于存储可变字符串,是最常见的字符串数据类型。它比定长类型更节省空间,因为它仅使用必要的空间(例如,越短的字符串使用越少的空间)。有一种情况例外,如果MySQL表使用ROW_FORMAT=FIXED创建的话,...
  • 标签(空格分隔): MYSQL基本说明MYSQL支持如下的字符串数据类型:CHAR,VARCHAR,LONG VARCHAR,LONG TEXT,他们都是用来存储文本字符串的。一个字符列拥有一个最大长度。这个长度表示最多由多少个字符可以存储在相关...
  • varchar和char是两种最主要的字符串类型。... varchar用于存储可变字符串。它比定长类型更节省空间。有一种例外,如果是用了row_format=fixed创建,那么每一行都会使用定长存储。 varchar需...
  • MySQL数据类型 -- 字符

    千次阅读 2018-09-23 19:43:36
    MySQL关系型数据库中,MySQL支持的数据类型非常丰富。...MySQL支持的字符类型可以进一步细分,即可以分为定()长字符型,大值字符型,枚举集合类型等。如下图所示: 二、字符型空间需求 三、字符型演示 mysql...
  • MySQL字符串和二进制

    千次阅读 2017-05-28 15:36:30
    VARCHAR——用于表示可变长度字符串 BINARY——用于表示固定长度的二进制数据 VARBINARY——用于表示可变长度的二进制数据 BOLB——用于表示二进制大数据 TEXT——用于表示大文本数据 ENUM——表示枚举类型,...
  • MySQL数据库之字符串类型

    千次阅读 2018-09-05 21:42:04
    字符串类型: char,varchar,tinyblob,tinytext,blob,text, mediumblob mediumtext longblob longtext  char:定长字符串类型,范围0~255个字节  char(10):插入数据时,最多插入10个字节,如果插入的字节数不足  ...
  • MySQL 字符串数据类型

    2018-01-25 14:49:47
    MySQL 字符串数据类型 CHAR & VARCHAR 区别: - CHAR 是一种长度固定的类型;VARCHAR 是一种长度可变的类型 - 从 CHAR 列检索出来的值,其尾部空格会被移除。对于 CHAR(M)列,如果其值的长度小于 M 个字符,...
  • MySql中使用substring(字段名,起始位置,字符串长度)函数时需要注意, 起始位置必须从1开始,如果0开始不能获取到数据。 如果是oracle中起始位置从0或1开始都,函数:substr(字段名,起始位置,字符串长度) .....
  • MySQL数据类型--字符串类型

    万次阅读 2016-03-22 12:05:17
    字符串类型是在数据库中存储字符串的数据类型,字符...char类型和varchar类型都是在创建表时指定了最大长度,其基本形式如下:字符串类型(M)。其中,字符串类型参数指定了数据类型是char类型还是varchar类型,M参数指定
  • varchar字段长度最好是2的n次方-1

    千次阅读 2020-01-10 18:55:45
    而varchar类型存储长字段的字符类型,当存储的字符串长度小于255字节时,其需要1字节的空间,当大于255字节时,需要2字节的空间。 使用2 ^ n长度是更好的磁盘或内存块对齐。对齐块更快。今天“块”的大小更大,...
  • Mysql 字符串函数汇总

    千次阅读 2017-05-13 12:12:11
    或许你已经发现字符串在程序世界中的重要性, 下边我们就来看看Mysql字符串的类型和函数吧 Mysql 字符串类型 字符串类型 字节 描述及存储需求 char(M) M M为0~255之间的整数 varchar(M) ...
  • 1.在开始之前先简单介绍下字符和字节的区别: - 字符 人们使用的记号,抽象意义上的一个符号。一个汉字和英文就是一个字符,如'1', '中', 'a', '$', '¥',…… - 字节 计算机中存储数据的单元,一个8位的二进制...
  • MySQL 面试题

    万次阅读 多人点赞 2019-09-02 16:03:33
    MySQL 面试题 MySQL 涉及的内容非常非常非常多,所以面试题也容易写的杂乱。当年,我们记着几个一定要掌握的重心: 重点的题目添加了【重点】前缀。 索引。 锁。 事务和隔离级别。 因为 MySQL 还会有部分内容和...
  • 那么在MySQL中到底怎么用呢? 一.日期和时间类型 日期与时间类型是为了方便在数据库中存储日期和时间而设计的,数据库有多种表示日期和时间的数据类型。其中,YEAR类型表示年,DATE类型表示日期,TIME类型表示...
  • MySQL数据类型之字符串(string)

    万次阅读 2019-02-16 14:19:50
    字符类型(CHAR Types) CREATE TABLE t1 (c1 CHAR(10)); 该语句创建了一张t1表,表中只有一个字段c1,类型为char,char(10)括号中的10表示字段c1最多能够存储10个字符。char最多可以存储255个字符,最小可以存储...
  • M参数指定了该字符串的最大长度为M。例如,CHAR(4)就是数据类型为CHAR类型,其最大长度为4。 CHAR类型的长度是固定的,在创建表时就指定了。其长度可以是0~255的任意值。例如,CHAR(100)就是指定CHAR类型的长度为100...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    Java获取反射的三种方法 网络编程 常用API String相关 字符型常量和字符串常量的区别 什么是字符串常量池? String 是最基本的数据类型吗 String有哪些特性 String为什么是不可变的吗? String真的是不可变的吗? ...
  • mysql面试题

    千次阅读 2019-09-23 12:28:36
    最全MySQL面试题和答案 Mysql 的存储引擎,myisam和innodb的区别。 答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。 2.innodb是支持事务的存储引擎,合于...
  • MYSQL中char和varchar都是字符串类型,但是他们的存储和检索的方式不一样。char 是定长的字符串,varchar是不定长的字符串。char类型长度是(0-255)之间,在当某个字段被定义成char类,并指定长度,其长度就不在...
  • MySQl字符串类型

    2015-12-22 14:39:24
    MySql中的varchar类型 ...MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,482
精华内容 21,392
关键字:

mysql可变长度字符串

mysql 订阅