1,数值类型

  1.1数值类型的种类

  标准 SQL 中的数值类型,包括严格数值类型(INTEGER、SMALLINT、DECIMAL、NUMERIC),以及近似数值数据类型(FLOAT、REAL、DOUBLE PRECISION)。

  MySQL在此基础上又扩展了TINYINT、MEDIUMINT 和 BIGINT 这 3 种长度不同的整型,并增加了 BIT 类型,用来存放位数据。

  对于小数的表示,MySQL 分为两种方式:浮点数和定点数。浮点数包括 float(单精度)和 double(双精度),而定点数则只有 decimal 一种表示。定点数在 MySQL 内部以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。

  浮点数和定点数都可以用类型名称后加“(M,D)”的方式来进行表示,“(M,D)”表示该值一共显示 M 位数字(整数位+小数位),其中 D 位位于小数点后面,M 和 D 又称为精度和标度。例如,定义为 float(7,4)的一个列可以显示为-999.9999。MySQL 保存值时进行四舍五入,因此如果在float(7,4)列内插入 999.00009,近似结果是 999.0001。

    1.2数值类型的显示宽度

  对于5种整数类型(tinyint、smallint、mediumint、int、bigint),MySQL 还支持在类型名称后面的小括号内指定显示宽度(并不是该类型占用字节数)。

  例如 int(5)表示当数值宽度小于 5 位的时候在数字前面填满宽度,如果不显示指定宽度则默认为 int(11)。一般配合 zerofill 使用,顾名思义,zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。以下几个例子分别描述了填充前后的区别。

(1)创建表 t1,有 id1 和 id2 两个字段,指定其数值宽度分别为 int 和 int(5)。
        

(2)在 id1 和 id2 中都插入数值 1,可以发现格式没有异常。
        

(3)分别修改 id1 和 id2 的字段类型,加入 zerofill 参数:
        

  设置了宽度限制后,如果插入大于宽度限制的值,会不会截断或者插不进去报错?答案是肯定的:不会对插入的数据有任何影响,还是按照类型的实际精度进行保存,这是,宽度格式实际已经没有意义 。

    1.3数值类型的属性

(1)UNSIGNED(无符号) ,如果需要在字段里面保存非负数或者需要较大的上限值时,可以用此选项,它的取值范围是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符号范围是-128~+127,而无符号范围是 0~255。如果一个列指定为 zerofill,则 MySQL 自动为该列添加 UNSIGNED 属性。

(2)AUTO_INCREMENT ,在需要产生唯一标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT 值一般从 1 开始,每行增加 1。 一个表中最多只能有一个 AUTO_INCREMENT列 。对于任何想要使用 AUTO_INCREMENT 的列,应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。 例如,可按下列任何一种方式定义 AUTO_INCREMENT 列:

    

2,日期时间类型

MySQL 5.0 中所支持的日期和时间类型

  • 如果要用来表示年月日,通常用 DATE 来表示。
  • 如果要用来表示年月日时分秒,通常用 DATETIME 表示 。
  • 如果只用来表示时分秒,通常用 TIME 来表示 。
  • 如果需要经常插入或者更新日期为当前系统时间,则通常使用 TIMESTAMP 来表示。TIMESTAMP 值返回后显示为“YYYY-MM-DD HH:MM:SS”格式的字符串,显示宽度固定为 19 个字符。如果想要获得数字值,应在 TIMESTAMP 列添加+0。
  • 如果只是表示年份,可以用 YEAR 来表示,它比 DATE 占用更少的空间。YEAR 有 2 位或4 位格式的年。默认是 4 位格式。

3,字符串类型   

    

  CHAR 和 VARCHAR 很类似,都用来保存 MySQL 中较短的字符串。二者的主要区别在于存储方式的不同:CHAR 列的长度固定为创建表时声明的长度,长度可以为从 0~255 的任何值(即指定长度是4的话,存的字符串长度必须是4);而 VARCHAR 列中的值为可变长字符串,长度可以指定为 0~255 (5.0.3 以前)或者 65535 (5.0.3以后)之间的值(即指定长度是4的话,存的字符串长度最大是4,1、2、3、4都可以)。



 

 

转载于:https://www.cnblogs.com/xdyixia/p/9066489.html

MySQL数据类型及后面小括号的意义相关推荐

  1. mysql 类型后面加括号_MySQL数据类型及后面小括号的意义

    1,数值类型 1.1数值类型的种类 标准 SQL 中的数值类型,包括严格数值类型(INTEGER.SMALLINT.DECIMAL.NUMERIC),以及近似数值数据类型(FLOAT.REAL.DOU ...

  2. 小括号教学设计导入_人教版一年级数学下教案 《小括号》教案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  3. python小括号表示什么数据类型_Python3中小括号()、中括号[]、花括号{}的区别详解...

    介绍 在Python语言中最常见的括号有三种,分别是:小括号().中括号[].花括号{}:其作用也不相同,分别用来代表不同的Python基本内置数据类型. 小括号() Python中的小括号(): 代 ...

  4. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?

    MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) ...

  5. oracle mysql 数据类型对比_Oracle、SQL Server、MySQL数据类型对比

    1,标准SQL数据类型 BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中.不需数据转换(例如,转换到文本数据).数据输入二进制字段的方式决定了它的输出方式. BIT 1 个字 ...

  6. mysql 数据类型 image_MySQL 数据类型

    1.MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 2.数值类型(12) 2.1. ...

  7. MySQL 数据类型

    目录 MySQL 数据类型 常见信息种类 信息种类 字符类型 定长char 变长 varchar 数值类型 整数型 浮点型 日期时间类型 示例:日期事件类型 时间函数 关于事件类型的注意事项 枚举类型 ...

  8. MySQL数据类型以及基本使用详解

    MySQL数据类型以及基本使用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL服务器的主要组件 我们知道MySQL的主要组件主要是由服务端(mysqld)和客户端 ...

  9. MySQL 数据类型(转)

    MySQL 数据类型 在 MySQL 中,有三种主要的类型:文本.数字和日期/时间类型. Text 类型: 数据类型 描述 备注 CHAR(size) 保存固定长度的字符串(可包含字母.数字以及特殊字 ...

最新文章

  1. 微信小程序 加载中 动画效果
  2. java 打印当月日历_Java打印日历表
  3. java中接口什么时候用_我什么时候应该在java中使用接口?
  4. python 按钮事件_从django vi中的按钮获取click事件
  5. mysql创建分区是否存在_mysql中如何判断是否支持分区
  6. CSS 修饰图片的5种方法
  7. spring 属性占位符_Spring属性占位符配置器–一些不太明显的选项
  8. 编译ffmpeg出现 librtmp not found using pkg-config
  9. 收集整理近700套微信朋友圈h5小游戏源码合集大放送
  10. 李宏毅机器学习2022-hw2
  11. python写入文件取消自动换行
  12. java工程师怎么找兼职,快来看鸭~
  13. inlinehook 看这一篇
  14. React 基础学习
  15. 存储过程中 IN,OUT,INOUT类型参数的区别
  16. sqlserver 查看服务器名称以及sql语句跨服务器查询设置
  17. UDT协议解析及C/C++代码实现
  18. 自媒体人想要写好实时热点文章,一定要掌握好这三点
  19. 病毒分析之撒旦(Satan)勒索病毒分析解密(AES256 ECB算法)
  20. 17.2 字体的背景知识

热门文章

  1. java default value_java-如何为@RequestParam的defaultValue提供表达式
  2. matlab里a1不能做变量,在matlab中将含有变量“w”的表达式存入矩阵元素,无法生成矩阵。哪里出问题了?...
  3. 原生JS、jQuery 遍历方法总结
  4. mybatis映射多对多查询实现
  5. libvirt-virsh命令
  6. WinDbg 蓝屏dump分析教程
  7. [MySQL] InnoDB三大特性之 - 插入缓冲
  8. 试验一下纯手写blog
  9. HOW TO: Troubleshoot development errors in MOSS 2007
  10. 如何解决远程windows服务器安装matlab出现License Manager Error-103问题