MySQL的数据类型

注意  

选择合适的数据类型,能节省储存空间,提升计算性能。
(1)在符合应用要求(取值范围、精度)的前提下,尽量使用“短”数据类型
(2)数据类型越简单越好。
(3)在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储日期和时间。
(4)尽量采用精确小数类型(例如decimal),而不采用浮点数类型。
(5)尽量避免NULL字段,建议将字段指定为NOT NULL约束。

  • 数值类型

    整数类型

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节

(-9223372036854775808,9223372036854775 807)

(0,18 446 744 073
709 551 615)

极大整数值

    小数类型

类型 大小 范围(有符号) 范围(无符号) 用途
FLOAT 4 字节

-3.402 823 466 E+38
~-1.175 494 351 E-38

0和1.175 494 351 E-38
~3.402 823 466 E+38

单精度
浮点数

DOUBLE 8 字节

-1.797 693 134 862 315 7 E+308
~-2.225 073 858 507 201 4 E-308)

0和2.225 073 858 507 201 4 E-
308~1.797 693 134 862 315 7
E+308

双精度
浮点数

DECIMAL

DECIMAL
(length,
precision)

length决定小数的最大位数
precision用于设置小数位数

length决定小数的最大位数
precision用于设置小数位数

 小数值

                          备注:decimal(length, precision)用于表示精度确定(小数点后数字的位数确定)的小数类型,length决定该小数的最大位数,precision用于设置精度(小数点后数字的位数)。
                             例如:decimal (5,2)表示小数取值范围:-999.99~999.99 decimal (5,0)表示: -99999~99999的整数。

字符串类型

类型 大小 用途
CHAR(n) 0-255字节 定长字符串
VARCHAR(n) 0-65535 字节 变长字符串
TINYTEXT 0-255字节 短文本字符串
TEXT 0-65 535字节 长文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

日期/时间类型

类型

大小(字节)

范围 格式 用途
DATE 3

‘1000-01-01’~’9999-12-31’

YYYY-MM-DD 日期值
TIME 3

'-838:59:59‘~'838:59:59'

HH:MM:SS

时间值或持续时间

YEAR 1 ‘1901’~’2155’ YYYY 年份值
DATETIME 8

‘1000-01-01 00:00:00’
~’9999-12-31 23:59:59’

YYYY-MM-DD HH:MM:SS

混合日期和时间值

TIMESTAMP 4

‘1970-01-01 00:00:00’~’2038’

YYYY-MM-DD HH:MM:SS

混合日期和时间值,
时间戳

复合类型

类型 最大值 说 明 示例
Enum (“value1”, “value2”, …) 65535

该类型的列只可以容纳所列值之一或为NULL

Gender enum('男','女)

Set (“value1”, “value2”, …) 64

该类型的列可以容纳一组值或为NULL

Interest set('唱歌','游泳','网球’)

二进制类型

类型 大小 用途
Binary(n) 0-255字节 较短的二进制
VARBinary(n) 0-65535 字节 较长的二进制
Bit(n) 0-64字节 短二进制
TINYBLOB 0-255字节 较短的二进制
TINYBLOB 0-255字节 较短的二进制
BLOB 0-65 535字节 图片、声音等文件
MEDIUMBLOB 0-16 777 215字节 图片、声音、视频等文件
LONGBLOB 0-4 294 967 295字节 图片、声音、视频等文件

MySQL的数据类型 及注意事项的更多相关文章

  1. mysql 创建表时注意事项

    mysql  创建表时注意事项 mysql 想必大家都不会陌生吧  是我学习中第一个接触的的数据库 已学习就很快上手的   这是一个关系型数据库  不懂什么是关系型数据库 啊哈哈哈  现在知道啦  因 ...

  2. MySQL数据库使用时注意事项

    MySQL数据库使用时注意事项 建表的角度上 1.合理安排表关系 2.尽量把固定长度的字段放在前面 3.尽量使用char 代替varchar 4.分表:水平分和垂直分 在使用sql语句的时候 1.尽量 ...

  3. mysql索引设计的注意事项

    mysql索引设计的注意事项 目录 一.索引的重要性 二.执行计划上的重要关注点 (1).全表扫描,检索行数 (2).key,using index(覆盖索引) (3).通过key_len确定究竟使用 ...

  4. 【MySQL】数据类型之数字相关

    " 目录 #. 数值类型 1. 数值范围验证 /. 有符号 /. 无符号 2. int类型显示长度验证 #. 浮点型 1. 验证 /. 建表 /. 精度 #. 日期类型 1. 验证 /. y ...

  5. mysql索引设计的注意事项(大量示例,收藏再看)

    mysql索引设计的注意事项(大量示例,收藏再看) 目录 一.索引的重要性 二.执行计划上的重要关注点 (1).全表扫描,检索行数 (2).key,using index(覆盖索引) (3).通过ke ...

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

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

  7. Mysql常用数据类型

    Mysql常用数据类型 数字: 字符串: 时间:

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

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

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

    MySQL:MySQL日期数据类型.MySQL时间类型使用总结 MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ --- ...

随机推荐

  1. 头条面试居然跟我扯了半小时的Semaphore

    一个长头发.穿着清爽的小姐姐,拿着一个崭新的Mac笔记本向我走来,看着来势汹汹,我心想着肯定是技术大佬吧!但是我也是一个才华横溢的人,稳住我们能赢. 面试官:看你简历上有写熟悉并发编程,Semapho ...

  2. web静态页面资源访问路径问题

    我使用的是idea,今天搭建一个项目时遇见了css和js路径错误,导致浏览器获取不到资源路径 这是我最开始写的路径 <link href="/main/loginMain.css&qu ...

  3. Vue点击改变属性(改变文字颜色)

    <template> <div class="tab-control"> <div v-for="(item , index) in tit ...

  4. Nice Jquery Validator 内置属性

    required - 必填 适用于 input.textarea.select 输入框.(checkbox 与 radio 请使用 checked 规则)字段必填,则值不能为空.字段非必填,则值为空的 ...

  5. @bzoj - 2658@ [Zjoi2012]小蓝的好友(mrx)

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 终于到达了这次选拔赛的最后一题,想必你已经厌倦了小蓝和小白的故事 ...

  6. Docker巨轮的航行之路-基础知识篇

    一.什么是Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中 ...

  7. Shell总结02-shell变量、赋值与替换

    变量 shell并不区分变量的类型,或者说变量都是弱类型的,本质上都是字符串,但是如果变量值中只含有数字,shell还是支持对其进行算术运算 赋值 常见的赋值操作符有=(在其前后没有空白符)和let ...

  8. JS之预解释原理

    预解释的原理 预解释的不同机制 var的预解释机制 function 的预解释机制 预解释机制 面试题练习 预解释的的不同机制 预解释也叫预声明,是提前解释声明的意思:预解释是针对变量和函数来说的:但 ...

  9. 如何利用Excel设计一个唱票统计系统?

    具体操作如下: 首先需要一个如下的数据结构. 唱票数G列区域,不能手动输入候选人票数,这样很不方便,所以我们需要一个窗体控件,用点击鼠标的方法来实现唱票.在“开发工具-插入-数值调节钮”下图3处,然后 ...

  10. Flume-0.9.4和Hbase-0.96整合

    这几天由于项目的需要,需要将Flume收集到的日志插入到Hbase中,有人说,这不很简单么?Flume里面自带了Hbase sink,可以直接调用啊,还用说么?是的,我在本博客的<Flume-1 ...