mysql的数据类型可以分为三大类,分别是数值数据类型、字符串数据类型以及日期时间数据类型。

数值数据类型                                                                                

数值类型又可以分为整型、浮点类型、Decimal。

整型

mysql的整型可以分为TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,下表给出了每个类型的存储空间大小和数值表示范围。

类型

字节

最小值

最大值

(带符号的/无符号的)

(带符号的/无符号的)

TINYINT

1

-128

127

0

255

SMALLINT

2

-32768

32767

0

65535

MEDIUMINT

3

-8388608

8388607

0

16777215

INT

4

-2147483648

2147483647

0

4294967295

BIGINT

8

-9223372036854775808

9223372036854775807

0

18446744073709551615

浮点型

浮点型可以分为单精度(FLOAT)和双精度(DOUBLE),它们可以存储小数,但是存储的是近似值,并不保证精确度。可以使用FLOAT(M,D)或DOUBLE(M,D)来指定浮点数的精度,这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。

DECIMAL

DECIMAL和浮点数一样,可以用来存储小数,但是与浮点数的存储近似值不同,DECIMAL存储的是精确值,我们一样可用DECIMAL(M, D)来指定精度,这里的(M,D)同样表示该值一共显示M位整数,其中D位位于小数点后面。

浮点型 vs Decimal

虽然浮点型和Decimal都可以表示小数,但是Decimal可以精确表示,浮点型是近似表示,以下我们对这个不同举一个例子:

可以看到decimal可以精确地表示我们的插入值,但是float却无法精确表示。

字符串型                                                                                        

mysql支持定长字符串和变长字符串两种字符串类型,定长字符串用CHAR(M)表示,M 代表宽度, 0<=M<=255之间;变长字符串用VARCHAR(M)表示,M代表宽度, 0<=M<=65535。定长字符串的速度较变长字符串的速度更快,但是如果存储的字符串长短不一的话,使用定长字符串会造成空间浪费。

日期时间数据类型                                                                            

mysql常用的日期时间数据类型有DATE、TIME、DATETIME三种类型,这三种类型的表示格式如下:

列类型 表示内容
DATE YYYY-MM-DD
TIME hh:mm:ss
DATETIME

YYYY-MM-DD hh:mm:ss

最新文章

  1. c++ template
  2. PHP Html5上传大文件
  3. 如何使用emacs编写c语言程序,并编译运行
  4. SAP中寄售处理
  5. JMeterPluginCMD命令行工具使用详解
  6. npm安装插件提示
  7. 高效的网络流dinic算法模版
  8. JAVA装饰器模式
  9. jQuery 图表
  10. 应不应该使用inline-block代替float
  11. PHP面向对象-看父类调用子类方法
  12. wx获取地理位置
  13. 持续集成之Jenkins自动部署war包到远程服务器
  14. hive内group by取第一条数据,Hive中row_number的使用
  15. android 流程跟踪
  16. 使用cmd命令进行导入
  17. js固定底部菜单
  18. ajax post 请求 ,java端使用 request.getParameter 获取不到数据问题
  19. 关于gb2312编码和utf8码的一个问题
  20. 十七、curator recipes之DistributedPriorityQueue

热门文章

  1. [CSP-S模拟测试]:随(快速幂+数学)
  2. 前端学习之路之SPA(单页应用)设计原理
  3. 有关OI的思维导图
  4. qbzt day6 上午
  5. gitlab+jenkins之环境搭建
  6. python-笔记(三)文件操作
  7. Ultra.Base
  8. node和数据库建立连接
  9. 安全运维 - Linux系统维护
  10. Hibernate入门4