前言

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字段的数据类型的更多相关文章

  1. 配置文件 数据库存储引擎 严格模式 MySQL字段基本数据类型

    目录 字符编码与配置文件 \s查看MySQL相关信息 修改配置文件my-default.ini 解决5.6版本字符编码问题 配置文件什么时候加载? 偷懒操作:输入mysql直接登录root账户 数据库 ...

  2. MySql 查询表中字段的数据类型

    [1]MySQL中查询某表中字段的数据类型 (1)DESC 表名: (2)DESCRIBE 表名: (3)SHOW COLUMNS FROM 表名: 应用示例: DESC cfg_acct_free_ ...

  3. 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型

    如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...

  4. 03 MySQL之数据类型和运算符

    01-数据类型 MySQL支持多种数据类型,主要有 数值类型.日期/时间类型和字符串类型. 1.1 整数类型 1.2 浮点数类型和定点数类型 单精度浮点类型(FLOAT)和双精度浮点类型 (DOUBL ...

  5. MySQL(二) 数据库数据类型详解

    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了.但是通过 ...

  6. MySQL数据库之数据类型BOOL/BOOLEAN与TINYINT测试总结

    From: http://database.51cto.com/art/201203/323863.htm 网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关 ...

  7. MySQL 的数值数据类型

    MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段 ...

  8. mysql支持的数据类型及其测试

    原文:mysql支持的数据类型及其测试 1.基础知识 1.1如何来查看mysql的帮助手册 ?int Help float; 1.2创建表的规则 CREATE TABLE [IF NOT EXISTS ...

  9. MySQL系列:数据类型、运算符及函数(5)

    1. 数据类型 MySQL支持多种数据类型,主要有数值类型.日期/时间类型和字符串类型. (1)数值类型:包括整数类型:TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT,   ...

  10. 存储引擎和表的操作(mysql中的数据类型、完整性约束)

    一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...

随机推荐

  1. Javascript Ajax总结——FormData类型

    XMLHttpRequest1级只是把已有的XHR对象的实现细节描述出来.XMLHttpRequest2级进一步发展了XHR.FormData类型FormData类型,为序列化表单以及创建以表单格式相 ...

  2. 文件不落地上线sliver

    接着二开sliver,给他添加一个生成powershell payload上线的功能,生成并复制到剪切板. ‍ 准备 首先,先开启监听,不多说直接mtls默认的就行,sliver可以生成配置文件来实现 ...

  3. Project Based Learning 基于项目的编程学习

    Project Based Learning https://github.com/practical-tutorials/project-based-learning.git A list of p ...

  4. 微信小程序实时噪声分贝

    为了做一个能够检测实时噪声分贝的小程序,网上找了很多例子,基本没有完整的代码,手写了一个,话不多说直接上效果图 实现实时录音的功能,并且能够根据声音分贝大小转动仪表盘显示实时的分贝,运用echart实 ...

  5. Ubuntu 之 7zip使用

    1.安装 sudo apt-get install p7zip 2.压缩 7zr a xxx foldername 3.解压缩 7zr x xxx.7z 4.zip命令压缩文件夹 zip -qr xx ...

  6. Mybatis之TypeHandler使用教程

    引言 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (43)-- 算法导论5.4 7题

    七.为使特征序列长度的下界变得更精确,请说明在 n 次硬币的公平抛掷中,不出现比Ign - 2lglgn 更长的连续正面特征序列的概率小于 1/n. 文心一言: 在 n 次硬币的公平抛掷中,每个硬币正 ...

  8. 华为云云原生视窗:一文回顾Q1精彩瞬间

    摘要:一文速览2023年Q1期间华为云云原生相关动态信息. 华为云云原生动态 华为云海外首发CCI Serverless容器服务 在MWC23 巴展期间,华为云海外首发CCI Serverless容器 ...

  9. 解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说

    摘要:在2020年第二届华为云人工智能大赛•无人车挑战杯赛道中,"华中科技大学无人车一队"借助华为云一站式AI开发与管理平台ModelArts及HiLens端云协同AI开发应用平台 ...

  10. 前端面试常考题:JS垃圾回收机制

    摘要:众所周知,应用程序在运行过程中需要占用一定的内存空间,且在运行过后就必须将不再用到的内存释放掉,否则就会出现下图中内存的占用持续升高的情况,一方面会影响程序的运行速度,另一方面严重的话则会导致整 ...