美文网首页MySQL
MySQL 拾穗者 四 字段类型

MySQL 拾穗者 四 字段类型

作者: 一曲广陵散 | 来源:发表于2016-07-13 15:00 被阅读6次

对于程序中的string型字段,SQLServer中有char, varchar, nchar, nvarchar四种类型来对应:

1,定长和变长

如意金箍棒.png
定长就是长度固定的,当输入的数据长度没有达到指定的长度时候,将自动以英文空格在其后填充, 使得长度达到相应的长度

有var前缀的,表示实际存储空间是变长的,varchar, nvarchar变长字符数据不会使用英文空格填充,text实际存储的也是变长

2,unicode, 和非 unicode

通天塔.png
数据库中,英文字符只需要一个字节存储,汉字和其他非英文字符,需要两个字节存储,

如果英文和汉字同时存在,由于占用空间不同,容易造成混乱,导致读取出来的字符串是乱码

unicode字符集是为了解决字符集不兼容的问题产生的,所有的字符都使用两个字节表示,前缀n表示unicode

3,基于以上两点查看字段容量

char, varchar  最多8000个英文, 4000个汉字

nchar, nvarchar可以存储4000个字符,无论是英文还是汉字

4,使用

如果数据量非常大,能百分百确定长度且保存只是ANSI字符,使用char

能确定长度不一定是ANSI字符,使用nchar

对于超大数据,如文章内容,使用nText

对于其他的通用nvarchar


char, varchar, nchar, nvarchar 特点比较:

char, 存储定长数据很方便,字段上的索引效率极高,  

varchar,存储变长数据, 存储效率没有char 高, varchar类型的实际长度是它的值的实际长度+1, 使用一个字节存储长度

从空间上考虑,用**varchar**合适;从效率上考虑,用**char**合适,关键是根据实际情况找到权衡点。

text,存储的是可变长度的非unicode数据,最大长度为2**31 - 1个字符

相关文章

  • MySQL 拾穗者 四 字段类型

    对于程序中的string型字段,SQLServer中有char, varchar, nchar, nvarchar...

  • mysql数据类型

    Mysql的Json类型MySQL字段类型VARCHARvarchar(n),n表示什么MySQL5.0.3之前v...

  • MySQL 字段操作(表已建立)

    MySQL 字段操作(表已建立) 操作类型add (添加)modify (修改)drop 删除 字段类型drop ...

  • Mysql学习——MySQL数据结构修改(2)

    Mysql表结构操作添加表字段修改表字段删除表字段修改表字段类型修改表名简介:Mysql表结构操作,添加表字段,修...

  • 2018-11-01

    关于mysql数据库字段类型,以及javabean字段类型 数据库中类型 int和integer类型相同,没有区别...

  • MySQL查看表结构

    1、简单描述表结构和字段类型 mysql> desc homestead.student; 显示表结构,字段类型,...

  • mysql字段类型

    字段类型数值MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对...

  • Mysql字段类型

    Mysql数据类型 1. 数值类型: 包括整数类型TINYINT、SMALLINT、MEDIUMINT、INT、B...

  • Java JDBC中,MySQL字段类型转换jdbcType

    概述 MySQL里的数据字段类型与Java数据类型的对应标准。 1. 类型映射关系 MySQL类型类型、JDBC类...

  • mysql json

    对mysql中json类型的字段查询操作

网友评论

    本文标题:MySQL 拾穗者 四 字段类型

    本文链接:https://www.haomeiwen.com/subject/tdnsjttx.html