博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的MYSQL学习心得(二) 数据类型宽度
阅读量:5874 次
发布时间:2019-06-19

本文共 678 字,大约阅读时间需要 2 分钟。

我的MYSQL学习心得(二) 数据类型宽度

 

显示宽度

 

MYSQL中的整数型数据类型都可以指定显示宽度,而SQLSERVER不行

 

 

创建一个表

CREATE TABLE tb_emp( id BIGINT(1))

id字段的数据类型为BIGINT(1),注意到后面的数字1,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。

例如,假设声明一个INT类型的字段 YEAR INT(4) 

该声明指明,在year字段中的数据一般只显示4位数字的宽度。

 

在SQLSERVER里是会报错的

CREATE TABLE abc(id INT(11))
消息 2716,级别 16,状态 1,第 1 行第 1 个列、参数或变量: 不能对数据类型 int 指定列宽。

 


 

显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MYSQL最大可能显示的数字个数,数值的位数小于指定的宽度时会有空格填充

如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能显示出来。

例如,向year字段插入一个数值19999,当使用select查询的时候,MYSQL显示的将是完整带有5位数字的19999,而不是4位数字的值

 

 

如果不指定显示宽度,则MYSQL为每一种类型指定默认的宽度值

 

tips:显示宽度只用于显示,并不能限制取值范围和占用空间,例如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型

所允许的最大值。

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

你可能感兴趣的文章
深入理解PHP Opcode缓存原理
查看>>
微服务部署:蓝绿部署、滚动部署、灰度发布
查看>>
探究操作系统的内存分配(malloc)对齐策略
查看>>
水仙花算法
查看>>
Java基础-IO流(13)
查看>>
递归法----整数划分问题
查看>>
CentOS 7 安装VirtualBox
查看>>
【转载】使用缓存的9个误区(上)
查看>>
6、宏定义与预处理、函数与函数库
查看>>
单例模式 代码以及祥解
查看>>
版本管理软件
查看>>
7、递归的二分查找
查看>>
发布过程5分钟内load飙升问题排查
查看>>
C程序编译链接问题
查看>>
hive(3)HiveQL数据定义
查看>>
PAT_A1003#Emergency
查看>>
Linux安全加固--系统相关
查看>>
UVA 12898 - And Or 与和或 (思路题)
查看>>
priority_queue 优先队列
查看>>
[SOJ] 无路可逃?
查看>>