引言

  这次Qi号分享MySQL字段属性简介。下面资料是Qi号搜集大量资料与个人理解的整理。

  MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数据满足为该数据类型预先确定的一组规则,例如大小、类型及格式。

  这里先总结数据类型。MySQL中的数据类型大的方面来分,可以分为:日期和时间、数值,以及字符串。下面就分开来进行总结。

  参考资料:

数据类型介绍

  1. 日期和时间数据类型

MySQL数据类型   含义
date 3字节,日期,格式:2014-09-18
time 3字节,时间,格式:08:42:30
datetime 8字节,日期时间,格式:2014-09-18 08:42:30
timestamp 4字节,自动存储记录修改的时间
year 1字节,年份
 
 
 
 
 
 
 
 
 
 
 
 
 
  2. 数值数据类型
 
MySQL数据类型 含义(有符号)
tinyint 1字节,范围(-128~127)
smallint  2字节,范围(-32768~32767)
mediumint  3字节,范围(-8388608~8388607)
int 4字节,范围(-2147483648~2147483647)
bigint 8字节,范围(+-9.22*10的18次方)

  上面定义的都是有符号的,当然了,也可以加上unsigned关键字,定义成无符号的类型,那么对应的取值范围就要翻翻了。

  比如:tinyint unsigned的取值范围为0~255。

  3. 浮点型

MySQL数据类型 含义
float(m, d) 4字节,单精度浮点型,m总个数,d小数位
double(m, d) 8字节,双精度浮点型,m总个数,d小数位
decimal(m, d) decimal是存储为字符串的浮点数

  

  单精度与双精度的区别:双精度比单精度表示的位数大 精确的位数多

  4. 字符串数据类型

MySQL数据类型 含义
char(n) 固定长度,最多255个字符
varchar(n) 可变长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符
常见字段类型事项

  1.char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。

  2.同时char和varchar最大的区别就在于char不管实际value长度多少,都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1{varchar在结尾会有结束符}),并且实际空间+1<=n。

  3.超过char和varchar的n设置后,字符串会被截断。

  4.char的上限为255字节,varchar的上限65535字节,text的上限为65535。

  5.char在存储的时候会截断尾部的空格,varchar和text不会。

  6.varchar会使用1-3个字节来存储长度,text不会。

最后Qi号给大家分享一道曾微软、GOOGLE、百度、腾讯等公司都用过的面试题:
 
题目:过桥算法

  

  在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,四个人一共只带了一只手电筒,而桥窄得只够让两个人同时通过。如果各自单独过桥的话,四人所需要的时间分别是1,2,5,8分钟;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,你如何设计一个方案,让用的时间最少。

MySQL字段属性介绍的更多相关文章

  1. MySQL字段之集合(set)枚举(enum)

    MySQL字段之集合(set)枚举(enum) (2008-12-23 13:51:23) 标签:it  分类:MySQL 集合 SET mysql> create table jihe(f1 ...

  2. mysql字段varchar区分大小写utf8_bin、utf8_general_ci编码区别

    mysql字段varchar区分大小写utf8_bin.utf8_general_ci编码区别 在mysql中存在着各种utf8编码格式:utf8_bin将字符串中的每一个字符用二进制数据存储,区分大 ...

  3. MySQL字段联合去重sql

    MySQL字段联合去重sql 例如数据 id,name1,name2 1 a x 2 a y 3 b x 4 a y 5 a x 联合去重name1,name2的结果为 id,name1,name2 ...

  4. mysql字段默认值不生效的问题解决(上)

    在项目中使用mybatis做为持久层框架,mysql数据库.项目上线前,DBA要求我们将每张数据库表中的字段都设置默认值和not null.之前项目中有一些insert语句是将表中所有字段都列出来,然 ...

  5. MySQL字段属性NUll的注意点

    MySQL字段属性应该尽量设置为NOT NULL 除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL.这看起来好像有点争议,请往下看. 空值("&quo ...

  6. Mysql字段类型与合理选择

    字段类型 数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许 ...

  7. (转)MySQL字段类型详解

    MySQL字段类型详解 原文:http://www.cnblogs.com/100thMountain/p/4692842.html MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间 ...

  8. 在MySQL字段中使用逗号分隔符

    大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性. 被分割的字段一定是有限而且数量较少的,我们不可能在一个 ...

  9. mysql数据库优化课程---4、mysql字段属性

    mysql数据库优化课程---4.mysql字段属性 一.总结 一句话总结: mysql字段:没有被淘汰的必然有其存在的合理性(也就是有优点),比如char类型 1.为什么char类型没有被淘汰? c ...

随机推荐

  1. 关于微信小程序登录授权

    小程序的API接口文档写的很清晰,现在理一遍思路. 前端通过wx.login()获取code ,把code发给后台,后台返回openid,再获取用户的授权信息(这里先判断是否授权,授权过的就直接进入小 ...

  2. C#测试程序运行时间的方法

    C#测试程序运行时间的三种方法如下: (1)Datetime DateTime dtBegin = System.DateTime.Now;... DateTime dtEnnd = System.D ...

  3. 显卡(GPU)的基础知识

    显卡的性能指标有: 流处理器(SP)数量 核心频率 流处理器的架构 显存容量 显存频率 显存带宽 1. 流处理器的数量 把一个GPU当成是一个画画的工厂,其中流处理器的数量就是画师的数量,其数量自然是 ...

  4. IntelliJ IDEA实时模板变量

    返回由当前方法返回的值的类型IntelliJ IDEA 实时模板中的模板变量允许用户输入.扩展模板后,变量将作为输入字段显示在编辑器中. IntelliJ IDEA 声明实时模板变量 模板中的变量以下 ...

  5. JavaScript写入文件到本地

    工作中有时需要通过 JavaScript 保存文件到本地,我们都知道 JavaScript 基于安全的考虑,是不允许直接操作本地文件的.IE 可以通过 VB 插件的方式进行,而 Chrome 和 fi ...

  6. 一张图看懂offsetX, clientX, pageX, screenX的区别

    1.具体含义见下图1 2.浏览器的兼任情况

  7. (生产)better-scroll - 下拉刷新

    Options 参数 startX: 0 开始的X轴位置 startY: 0 开始的Y轴位置 scrollY: true 滚动方向为 Y 轴 scrollX: 'true' 滚动方向为 X 轴 cli ...

  8. java:图片压缩

    java使用google开源工具实现图片压缩 :http://www.cnblogs.com/linkstar/p/7412012.html

  9. Django基础--4

    补充知识-路由系统(URL) URL传递额外的参数 在url.py里,除了默认会传一个request给处理函数,还可以传递额外的参数,把一个字典作为第三个参数传入,之后就可以在处理函数里取到对应的值: ...

  10. 关于 no device found for connection ‘ System eth0′问题

    在Vmware上面安装CentOS,开机后,使用:service network restart时,会提示一下错误: Shutting down loopback interface:         ...