03-MySQL字段的数据类型
前言
MySQL 中的字段,主要有四种数据类型:
整型(整数)
小数
字符串类型
时间日期类型
下面来详细讲一讲。
整数类型
整数类型的分类
MySQL中,整型有五种:
迷你整型:tinyint,使用1个字节存储整数,最多存储256个整数(-128~127)。
短整型:smallint,使用2个字节存储整数。
中整型:mediumint,使用3个字节存储整数。
标准整型:int,使用4个字节存储整数。
大整型:bigint,使用8个字节存储。
强调:
(1)如果你不知道用哪一种,或者懒得计算,那就用标准整型 int吧,这个用的最多。
(2)整型在 MySQL 中默认是有符号的,即有正负;无符号需要使用 unsigned 修饰整型,代表正整数。
举例:
在指定的表中新增 age 字段,要求 age 是正整数:
alter table table_qiangu1 add age int unsigned;
设计思路
如果需要新建整型的字段,设计思路如下:
(1)确定需要存储的数据是整数。
(2)预估整数的范围,选择合适的整数类型。
(3)确定这个整数是否需要包含负数。
整数类型的取值范围
todo。参考链接:https://blog.csdn.net/slyjit/article/details/54290486
整数类型的显示宽度、零填充
我们在很多设计表中,可能会看到比如
int(11)这种数据类型,这里面的11代表的就是显示宽度。
所谓的显示宽度,其实就是显示的时候,看到的最少数字个数。
比如 int(2) ,表示不管你的数值是多少,最少可以看到两个数字。假如你存的数值是9,没有满两位,就会在前面补零,显示为09;假如你的数值是120,超过了显示宽度,则直接显示原始值,不会做零填充。
显示宽度的注意事项:
显示宽度只适用于 MySQL 的整数类型。
显示宽度只是指明 MySQL 整数类型最少显示的数字个数(可以通过desc查看表字段显示)。
显示宽度只是在显示的时候改变数值的样式,不会对原本的值进行更改。
显示宽度和数值类型的取值范围无关。例如int(10) 他的取值范围依然是(-2 147 483 648,2 147 483 647)。
零填充的注意事项:
要想让显示宽度自动进行零填充,必须要配合
ZEROFILL这个关键字一起使用。零填充只能针对正整数,也就是说,
ZEROFILL要求整型为无符号型。
举例:
1、新建一张表,然后在这张表中新增 num1 字段,要求 num1 显示3位,不够3位的自动进行零填充:
# 新建一张表
CREATE TABLE table_qiangu1 (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY
);
# 显示宽度有效(正确写法)
alter table table_qiangu1 add num1 int(3) zerofill;
# 对比:普通写法,显示宽度无效
alter table table_qiangu1 add num2 int(3);
# 对比:普通写法
alter table table_qiangu1 add num3 int;
上述命令中,如果把 zerofill 这个关键字去掉,是达不到显示宽度的效果的。执行完上述命令后,我们执行 desc table_qiangu1 命令,对比一下 num1、num2、num3 的字段结构就知道了:

上方截图可以看到,只有 num1 才有显示宽度,它可以进行零填充,num2、num3不行。我们往表中插入整数 6,然后看看显示结果,就一目了然:

参考链接:MySql数据库 数值类型的显示宽度
小数
MySQL 中的小数分为两大类:
浮点型的数据分为两种:
单精度:float,使用4个字节存储,精度范围为6-7位有效数字。
双精度:double,使用8个字节存储,精度范围为14-15位有效数字。
注意:
浮点数超过精度范围会自动进行四舍五入。
精度可以指定整数和小数部分。比如
03-MySQL字段的数据类型的更多相关文章
- 配置文件 数据库存储引擎 严格模式 MySQL字段基本数据类型
目录 字符编码与配置文件 \s查看MySQL相关信息 修改配置文件my-default.ini 解决5.6版本字符编码问题 配置文件什么时候加载? 偷懒操作:输入mysql直接登录root账户 数据库 ...
- MySql 查询表中字段的数据类型
[1]MySQL中查询某表中字段的数据类型 (1)DESC 表名: (2)DESCRIBE 表名: (3)SHOW COLUMNS FROM 表名: 应用示例: DESC cfg_acct_free_ ...
- 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型
如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...
- 03 MySQL之数据类型和运算符
01-数据类型 MySQL支持多种数据类型,主要有 数值类型.日期/时间类型和字符串类型. 1.1 整数类型 1.2 浮点数类型和定点数类型 单精度浮点类型(FLOAT)和双精度浮点类型 (DOUBL ...
- MySQL(二) 数据库数据类型详解
序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...
- MySQL数据库之数据类型BOOL/BOOLEAN与TINYINT测试总结
From: http://database.51cto.com/art/201203/323863.htm 网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关 ...
- MySQL 的数值数据类型
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段 ...
- mysql支持的数据类型及其测试
原文:mysql支持的数据类型及其测试 1.基础知识 1.1如何来查看mysql的帮助手册 ?int Help float; 1.2创建表的规则 CREATE TABLE [IF NOT EXISTS ...
- MySQL系列:数据类型、运算符及函数(5)
1. 数据类型 MySQL支持多种数据类型,主要有数值类型.日期/时间类型和字符串类型. (1)数值类型:包括整数类型:TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT, ...
- 存储引擎和表的操作(mysql中的数据类型、完整性约束)
一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...
随机推荐
- Linux服务器安装好Jenkins,IP+端口无法访问的问题排查
1.是否已安装jdk,命令:java -version 2.查看Jenkins进程是否还在,命令 ps -ef|grep jenkins 3.查看8080(Jenkins默认)端口号是否开放,命令:f ...
- Matrix-writeup
matrix 信息收集 只开放了80端口 换了一个大一点的字典扫到了一个PHP页面 此页面会将输入的内容显示在页面上,抓包之后可以看到他写入到了一个txt文件中 那就可以把一句话写入到一个文件里再去连 ...
- Redis 打怪升级进阶成神之路(2023 最新版)!
前面我们学习:MySQL 打怪升级进阶成神之路(2023 最新版)!,然后我们就开始了 NoSQL 卷王之路.从第一篇文章开始,我们逐步详细介绍了 Redis 基础理论与安装配置.9 种数据类型和应用 ...
- 聊聊ChatGLM-6B的源码分析
基于ChatGLM-6B第一版,要注意还有ChatGLM2-6B以及ChatGLM3-6B 转载请备注出处:https://www.cnblogs.com/zhiyong-ITNote/ Prefix ...
- mx master 的国产平替 keychron m6 使用体验
背景 之前在 Mac 系统用mx master3遇到的问题 这篇文章中提到过三点问题,前两点在更换了驱动软件,升级了 macOS 系统之后都解决了,但第三点自动休眠的问题一直无法解决,于是一直想找一个 ...
- 编写一个小而强大的 Windows 动态屏保壁纸
写在前面 两年前我做了第一个开源软件 DreamScene2 动态桌面,如今受到了很多人的喜欢,这增加了我继续做好开源软件的信心.之前的这个软件一直有人希望我加入一个设置屏保壁纸的功能,因为 Drea ...
- 云小课 | 华为云KYON之私网NAT网关
摘要:本文介绍KYON独创的私网NAT网关服务,支持云上重叠组网,支持云上重叠组网,助您的业务敏捷上云. 本文分享自华为云社区<云小课 | 华为云KYON之私网NAT网关>,原文作者:云小 ...
- 如何使用TCP/IP开发网络程序
摘要:进行TCP协议网络程序的编写,关键在于ServerSocket套接字的熟练使用,TCP通信中所有的信息传输都是依托ServerSocket类的输入输出流进行的. 本文分享自华为云社区<Ja ...
- 第三方测评:GaussDB(for Redis)稳定性与扩容表现
摘要:本文将通过采用Redis Labs推出的多线程压测工具memtier_benchmark对比测试下GaussDB(for Redis) 和原生Redis的特性差异 本文分享自华为云社区<墨 ...
- Solon 问答: 怎么切换环境配置?
#应用配置文件活动选择(可用于切换不同的环境配置) solon.env: dev #例: # app.yml #应用主配置(必然会加载) # app-dev.yml #应用dev环境配置 # app- ...