IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL8.0学习记录02 - 数据类型之数值类型 -> 正文阅读

[大数据]MySQL8.0学习记录02 - 数据类型之数值类型

整形类型

具体类型字节数据范围
TINYINT[(M)] [UNSIGNED] [ZEROFILL]1无符号:[0, 2 8 ? 1 2^{8}-1 28?1],有符号:[- 2 7 2^7 27, 2 7 ? 1 2^7-1 27?1]
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]2无符号:[0, 2 16 ? 1 2^{16}-1 216?1],有符号:[- 2 15 2^{15} 215 , 2 15 ? 1 2^{15}-1 215?1]
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]3无符号:[0, 2 24 ? 1 2^{24}-1 224?1],有符号:[- 2 23 2^{23} 223, 2 23 ? 1 2^{23}-1 223?1]
INT|INTEGER[(M)] [UNSIGNED] [ZEROFILL]4无符号:[0, 2 32 ? 1 2^{32}-1 232?1],有符号:[- 2 31 2^{31} 231, 2 31 ? 1 2^{31}-1 231?1]
BIGINT[(M)] [UNSIGNED] [ZEROFILL]8无符号:[0, 2 64 ? 1 2^{64}-1 264?1],有符号:[- 2 63 2^{63} 263, 2 63 ? 1 2^{63}-1 263?1]

整形注意事项

  1. 定义时的M,比如int(M),指示的是最大显示宽度,最大值是255
  2. ZEROFILL 零填充,比如INT(4) ZEROFILL,5的会显示为‘0005’;注意ZEROFILL已被废弃
  3. BOOL, BOOLEAN, 意思同 TINYINT(1),0表示false,非0表示true;但是反过来不成立,TRUE 仅仅等于1,FALSE 仅等于0
  4. SERIAL 是别名,表示 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.

浮点型和定点型

浮点型和定点型,定义时的M,比如double(M,D),指示的是可以存储的数字的总的位数

FLOAT

FLOAT[(M,D)]

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]表示的数据范围是:

  • -3.402823466E+38 to -1.175494351E-38
  • 0
  • 1.175494351E-38 to 3.402823466E+38

FLOAT(p)

对MySql来说意义不大,仅仅是用来指示是 4字节的FLOAT(p为0 to 24)还是8字节的DOUBLE(p为25 to 53),

DOUBLE

DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]表示的数据范围:

  • -1.7976931348623157E+308 to -2.2250738585072014E-308
  • 0
  • 2.2250738585072014E-308 to 1.7976931348623157E+308

REAL

If the REAL_AS_FLOAT SQL mode is enabled, REAL is a synonym for FLOAT rather than DOUBLE.

DECIMAL、DEC

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL],M指示可以存储的数字的总的位数,D是小数位数;

  • M的最大值是65,默认值是10
  • D的最大值是30,默认值是0;
  • DEC是DECIMAL的别名,DEC(M,D)的字节大小是M+2

NUMERIC

在MySQL中NUMERIC与DECIMAL是等价的

浮点型和定点型注意事项

  1. 定义时的M,比如double(M,D),指示的是可以存储的数字的总的位数
  2. 对于FLOAT, DOUBLE和 DECIMAL来说,UNSIGNED 属性不再推荐使用,以后可能会废弃
  3. FLOAT(M,D) 是非标准的SQL,以后可能会废弃

位类型bit

  • bit(M),M指示的是位数,范围是1~64,默认是1。字节大小根据M的值,1~8字节

其他注意

  • 如果添加了ZEROFILL 属性, MySQL 自动添加UNSIGNED属性

  • AUTO_INCREMENT 超过最大值是,从1开始,且不支持负数;AUTO_INCREMENT 对 FLOAT 和DOUBLE 的支持已废弃

  • CHECK约束与AUTO_INCREMENT 不能同时出现

  • 9223372036854775807 是有符号BIGINT,严格模式下, SELECT 9223372036854775807 + 1会报错;

    可以使用强制类型转换

    SELECT CAST(9223372036854775807 AS UNSIGNED) + 1
    

    也可以使用DECIMAL类型的字面量

    select 9223372036854775807.0 + 1
    
  • 两个整形相减,如果有一个是UNSIGNED,结果就是UNSIGNED;如果结果为负值,那会报错

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:28:13  更:2022-04-09 18:32:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:44:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码