MySQL中提供了多种对字符数据的存储类型,不同的版本可能有所差异。以5.0版本为例,MySQL包括了CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT等多种字符串类型。

  CHAR和VARCHAR类型很类似,用来保存MySQL中较短的字符串。二者的区别在于:CHAR列的长度固定位创键表时声明的长度,长度可以从0~255的任何值;而VARCHAR的列中的值为可变长度字符串,长度可以指定为0~255(MySQL 5.0.3版本以前)或65535(MySQL5.0.3版本以后)的值。在检索的时候,CHAR列删除了尾部的空格,而CARCHAR则保留了这些空格。

  BINARY和VARBINARY类似于CHAR和VARCHAR,不同的是他们包含二进制字符串而不包含非二进制字符串。

  ENUM中文名字枚举类型,它的值得范围需要在创键表时通过枚举方式显示指定,对1~255个成员的枚举需要1个字节存储;对于255~65535个成员,需要2个字节的存储。最多允许有65525个成员。ENUM类型是忽略大小写的,ENUM类型只允许从值集合中选取单个值,而不能一次取多个值。

  SET类型和ENUM类型非常类似,也是一个字符串对象,里面包含了0~64个成员。根据成员不同,存储上也有所不同。 SET和ENUM除了存储之外,最主要的区别在于SET类型一次可以选取多个成员,而ENUM则只能选一个。SET类型可以从允许的值集合中选择任意一个或多个元素进行组合,所以对输入的值只要是在允许的组合范围内,都可以正确地注入SET类型的列中。对于超出允许范围的值将不允许注入到设置的SET类型列中,而对于重复成员的集合则只取一次。

  MySQL支持各种数据类型,在面对具体应用时,可以根据相应的特点来选择合适的数据类型,使我们在满足应用的基础上,用较小的存储代价换来较高的数据库性能。

  ·

  

MySQL的数据类型(二)的更多相关文章

  1. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

  2. MySQL数据库笔记二:数据类型及数据库操作

    三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...

  3. 高性能MySQL学习总结二----常见数据类型选择及优化

    一.数据类型的选择 MySQL的数据类型有很多种,选择正确的数据类型对于获得高性能特别地重要,如何选择合适的数据类型呢?主要遵从以下三个原则: 1.更小的通常情况下性能更好 一般情况下,应该尽量使用可 ...

  4. MySQL复习(二)MySQL基本数据类型

    MySQL基本数据类型 常用的字段类型大致可以分为数值类型.字符串类型.日期时间类型三大类 1. 数值类型 数值类型可以分为整型.浮点型.定点型三小类. 1.1 整型 (tiny:极小的, small ...

  5. MySQL 系列(二) 你不知道的数据库操作

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...

  6. MySQL数据库3 - MySQL常用数据类型

    一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的       ---> 数 ...

  7. MySQL日期数据类型、时间类型使用总结

    MySQL日期数据类型.时间类型使用总结 MySQL日期数据类型.MySQL时间类型使用总结,需要的朋友可以参考下.   MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型    ...

  8. MySQL数据库数据类型之集合类型SET测试总结

    MySQL数据库提供针对字符串存储的一种特殊数据类型:集合类型SET,这种数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧,前面介绍了首先介绍了四种数据类型的特性总结,其后又分别 ...

  9. mysql之数据类型

    一.概述:  所谓建表,就是声明列的过程: 数据是以文件的形式放在硬盘中(也有放在内存里的) 列:不同的列类型占的空间不一样 选列的原则:够用又不浪费: 二.mysql的数据类型: 整形:Tinyin ...

  10. mysql 常见数据类型

    ---恢复内容开始--- MySQL常见的数据类型 一.数据类型是什么? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 有一些数据是要存储为 ...

随机推荐

  1. android JNI学习之一

    执行System.loadLibrary()函数时,VM会反向调用*.so里的JNI_OnLoad()函数.用途有二:1. VM询问此*.so使用的JNI版本编号.2. VM要求*.so做一些初期设定 ...

  2. 00字体图标iconfont的制作与使用--阿里矢量图库

    一.iconfont的使用范围 在工作当中,经常会用到嵌在元素里的小图标 在这种情况下,如果使用<img>标签或者用作背景图片,也能实现这种效果.但是如果这么做的话,就必须把图片一个个切下 ...

  3. PHP基础--两个数组相加

    在PHP中,当两个数组相加时,会把第二个数组的取值添加到第一个数组上,同时覆盖掉下标相同的值: <?php $a = array("a" => "apple& ...

  4. Eclipse SWT

    Reference: http://www.eclipse.org/swt/ http://www.functionx.com/win32/Lesson01.htm http://www.win32d ...

  5. 多线程(一)~基础介绍,简单demo实现

          前言:     现在CPU都是多核的,可以同时处理多个进程,比如我笔记本的CPU是i3-370,它就是双核四线程的.那么这个核和线程都是什么呢?     核是针对硬件而言的,即核心,代表的 ...

  6. Android学习——ViewPager的使用(一)

    这一节介绍使用ViewPager,加载ViewPager主要有三部分,数据源.适配器和ViewPager与适配器关联.其中数据源分为View对象和Fragment对象,这一节先来介绍View对象. 数 ...

  7. siebel学习笔记-应用/数据访问控制

    应用/数据访问控制Siebel提供的两种主要的访问控制方式在View级别和Data(record)级别: 1.View级别的访问控制:一个企业通常按照功能进行工作的区分,分配给一个用户的功能决定了他能 ...

  8. meat标签使用

    meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <head> <meta http-equiv="conten ...

  9. 给Sublime text 3增加选中当前单词快捷键

    1.录制一份macro caret on a word –> ctrl+left –> ctrl+shift+right 2.将录制好的macro保存为select_current_wor ...

  10. 怎样下载YouTube播放列表视频

    YouTube上面的视频种类丰富多彩,要是你想利用上面的资源来学习的话,足够你钻研很长时间了.如果你想在YouTube上面学习一门教程,比如Python,通常这些内容一个视频肯定装不下,会分为好多个视 ...