6 MySQL常用的数据类型

news/2024/11/24 12:10:39/
1、整型
-- TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别使用 8, 16, 24, 32, 64 位存储空间,一般情况下越小的列越好;
2、浮点数
-- 1.FLOAT 和 DOUBLE 为浮点类型,DECIMAL 为高精度小数类型。CPU 原生支持浮点运算,但是不支持 DECIMAl 类型的计算,因此 DECIMAL 的计算比浮点类型需要更高的代价;
-- 2.FLOAT、DOUBLE 和 DECIMAL 都可以指定列宽,例如 DECIMAL(18, 9) 表示总共 18 位,取 9 位存储小数部分,剩下 9 位存储整数部分;
3、字符串
-- 1.CHAR 和 VARCHAR 两种类型,一种是定长的,一种是变长的
-- 2.VARCHAR 这种变长类型能够节省空间,因为只需要存储必要的内容。但是在执行 UPDATE 时可能会使行变得比原来长,当超出一个页所能容纳的大小时,就要执行额外的操作。MyISAM 会将行拆成不同的片段存储,而 InnoDB 则需要分裂页来使行放进页内。
-- 3.VARCHAR 会保留字符串末尾的空格,而 CHAR 会删除;
4、时间和日期

MySQL 提供了两种相似的日期时间类型: DATETIME 和 TIMESTAMP

DATETIME

--1.能够保存从 1001 年到 9999 年的日期和时间,精度为秒,使用 8 字节的存储空间;
--2.它与时区无关
--3.默认情况下,MySQL 以一种可排序的、无歧义的格式显示 DATETIME 值,例如“2008-01-16 22:37:08”,这是 ANSI 标准定义的日期和时间表示方法。

TIMESTAMP

--1.和 UNIX 时间戳相同,保存从 1970 年 1 月 1 日午夜(格林威治时间)以来的秒数,使用 4 个字节,只能表示从 1970 年 到 2038 年
--2.它和时区有关,也就是说一个时间戳在不同的时区所代表的具体时间是不同的.
--3.MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提供了 UNIX_TIMESTAMP() 函数把日期转换为 UNIX 时间戳;
--4.默认情况下,如果插入时没有指定 TIMESTAMP 列的值,会将这个值设置为当前时间
--5.应该尽量使用 TIMESTAMP,因为它比 DATETIME 空间效率更高
5、BLOB 和 TEXT
--1.BLOB和TEXT都是为存储很大的数据而设计的数据类型,分别采用二进制和字符方式存储
--2.与其他类型不同,MySQL把每个BLOB和TEXT值当做一个独立的对象去处理。当BLOB和TEXT值太大时,InnoDB会使用专门的“外部”存储区域来进行存储,此时每个值在行内需要1~4个字节存储一个指针,然后在外部存储区域存储实际的值。
--3.MySQL对BLOB和TEXT列进行排序与其他类型是不同的:它只对每个列的最前max_sort_length个字节而不是整个字符串做排序。同样的,MySQL也不能将BLOB或TEXT列全部长度的字符串进行索引;

http://www.ppmy.cn/news/1196922.html

相关文章

服务器有哪些用途呢

服务器可以用于许多行业,包括但不限于以下几个领域: 企业:服务器可以用于企业的数据存储、应用程序和网站托管、电子邮件和协作工具、数据库管理等。 金融:服务器可用于高频交易、投资组合优化、风险管理和分析。 零售和电子商务…

深度学习_9_图片分类数据集

散装代码: import matplotlib.pyplot as plt import torch import torchvision from torch.utils import data from torchvision import transforms from d2l import torch as d2ld2l.use_svg_display()# 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式…

Go 方法集合与选择receiver类型

Go 方法集合与选择receiver类型 文章目录 Go 方法集合与选择receiver类型一、receiver 参数类型对 Go 方法的影响二、选择 receiver 参数类型原则2.1 选择 receiver 参数类型的第一个原则2.2 选择 receiver 参数类型的第二个原则 三、方法集合(Method Set&#xff0…

Android startActivity流程

1.常规调用 startActivity(new Intent(this,MainActivity.class)); 进入Activity的startActivity方法 /*** Same as {link #startActivity(Intent, Bundle)} with no options* specified.** param intent The intent to start.** throws android.content.ActivityNotFoundExc…

【Proteus仿真】【51单片机】数控稳压可调电源设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用动态数码管、按键、PCF8591 AD/DAC、LM358放大电路模块等。 主要功能: 系统运行后,系统默认输出直流5V,数码管…

UNI-APP apk使用io流进行文件操作

一、manifest.json中增加权限 "<uses-permission android:name\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name\"android.permission.WRITE_EXTERNAL_STORAGE\"/>","<uses-permission…

AI:56-基于深度学习的微表情识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案

目录 场景还原相关代码开发者工具 - 网络请求记录 问题排查定位改bug 总结 场景还原 我在前端使用axios接收后端xlsx表格文件流并下载&#xff0c;xlsx文件能够下载成功&#xff0c;但是打开却显示文件无法打开 相关代码 请求API封装:Content–Type以及responseType经核对均…