当前位置: 首页 > news >正文

MYSQL数据类型详解

        MySQL支持多种数据类型,这些数据类型可以分为三大类:数值、日期和时间以及字符串(字符)类型。这些数据类型可以帮助我们根据需要选择合适的类型来存储数据。选择合适的数据类型对于确保数据的完整性和性能至关重要。
        以下是MySQL中的29种主要数据类型:

目录

一、BIGINT

二、BINARY

三、BIT

四、BLOB

五、BOOLEAN

六、CHAR

七、DATE

八、DATETIME


一、BIGINT

BIGINT 是 MySQL 中一种常用的数据类型,它用于存储大整数值。

语法:

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

使用:

  • 当存储的信息超过int上限的整数时使用。
  • 存储非常大的数字,如金融领域,存储倾向金额和统计总数量等信息。
  • 注:需要注意其“存储范围”和“显示宽度”。

示例:

CREATE TABLE test(file_name VARCHAR(255) NOT NULL,size BIGINT UNSIGNED NOT NULL,amount BIGINT NOT NULL,PRIMARY KEY (file_name)
);INSERT INTO test (file_name, size) VALUES('file1.txt', 102401238401, 99990000000),('file2.txt', 3847283123, 99990005555),('file3.txt', 98213233844, 99990006666);

二、BINARY

BINARY 是 MySQL 中一种常用的数据类型,它用于存储二进制数据。

语法:

BINARY(M)

使用:

  • 存储二进制数据。如加密密钥、图像、视频文件和音频文件等。
  • 注:需要注意其存储的字节数和二进制数据的来源。

示例:

CREATE TABLE users (user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(255) NOT NULL,password BINARY(64) NOT NULL,image BINARY(1024) NOT NULL,PRIMARY KEY (user_id)
);INSERT INTO users (username, password, image) VALUES('zhangsan', UNHEX(SHA2('abcdefg', 256)), LOAD_FILE('/home/test/image1.jpg')),('lisi', UNHEX(SHA2('secret', 256)), LOAD_FILE('/home/test/image2.jpg'));

三、BIT

BIT 是 MySQL 中一种常用的数据类型,它用于存储位数据。

语法:

BIT(M)

使用:

  • 存储布尔值、标志位 和 位掩码等。如表示用户状态、表示删除状态等。
  • 注:需要注意其存储的位数和位数据的含义。

示例:

CREATE TABLE users (user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,username VARCHAR(255) NOT NULL,status BIT(1) NOT NULL,PRIMARY KEY (user_id)
);INSERT INTO users (username, status) VALUES('zhangsan', b'1'),('lisi', b'0');

四、BLOB

BLOB 是 MySQL 中用于存储大量二进制数据的数据类型。它可以存储最大值为 65,535 字节的数据,也可以存储超过 4GB 的数据。

语法:

column_name BLOB(size)

使用:

  • 存储任何(大量)二进制数据,如图像、音频、视频、文档等。它们通常是较大的文件,因此需要特殊的数据类型来存储它们。
  • 注:硬盘存储空间和文件大小上限。

示例:

CREATE TABLE user (id INT PRIMARY KEY,avatar BLOB
);
INSERT INTO user (id, avatar) VALUES
(1, 0xA***********************************************);可以通过HEX()函数将二进制数转换为二六进制字符串进行存储。

五、BOOLEAN

MySQL BOOLEAN 数据类型用于存储布尔值,即 TRUE 或 FALSE。在 MySQL 中,BOOLEAN 实际上是 TINYINT(1) 的别名。

语法:

column_name BOOLEAN

使用:

  • 存储逻辑值,例如是否被删除、是否完成等。
  • 注:需要注意 MySQL 将 TRUE 转换为 1,将 FALSE 转换为 0。

示例:

CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),is_employed BOOLEAN
);
INSERT INTO employees VALUES
(1, 'zhangsan', TRUE),
(2, 'lisi', FALSE);

六、CHAR

CHAR 是 MySQL 中的一种数据类型,用于存储定长的字符串数据。

语法:

CHAR(M)

使用:

  • 存储长度固定的字符串,例如邮政编码、电话号码等。
  • 注:查询速度快,但可能会浪费存储空间。
    • 与 VARCHAR 数据类型相比,CHAR 存储的是定长字符串,因此在查询时速度更快。但是,如果存储的字符串长度不够时,会自动在字符串后面补空格,因此会浪费一定的存储空间。

示例:

CREATE TABLE employee (id INT PRIMARY KEY,name CHAR(20),phone CHAR(11)
);INSERT INTO employee (id, name, phone)
VALUES (1, 'zhangsan', '1995252****'),(1, 'lisi', '1995252****);

七、DATE

在 MySQL 中, DATE 是一种日期数据类型,用于存储年、月、日值。它的值范围从 ‘1000-01-01’ 到 ‘9999-12-31’。使用 DATE 数据类型可以轻松地进行日期计算和格式化。

语法:

DATE

使用:

  • 用于存储日期值,比如出生日期、交易日期等。

示例:

CREATE TABLE user(id INT PRIMARY KEY,name VARCHAR(50),birthdate DATE
);INSERT INTO user(id, name, birthdate)
VALUES(1, 'zhangsan', '1900-12-10'),(2, 'lisi', '2012-12-10');

八、DATETIME

MySQL 中的 DATETIME 数据类型是一种日期和时间格式,它可以存储从 1000-01-01 00:00:00 到 9999-12-31 23:59:59 之间的日期和时间。它的存储大小是 8 个字节。

语法:

DATETIME[(<fsp>)]

使用:

  • 存储具有日期和时间信息的数据。它可以用于存储时间戳、事件时间等信息。

示例:

CREATE TABLE user(id INT PRIMARY KEY AUTO_INCREMENT,name INT,create_time DATETIME
);INSERT INTO orders (name, create_time )
VALUES ('zhangsan', '2022-01-01 10:30:00');

        

不卷了,待20231211 更新

相关文章:

MYSQL数据类型详解

MySQL支持多种数据类型&#xff0c;这些数据类型可以分为三大类&#xff1a;数值、日期和时间以及字符串&#xff08;字符&#xff09;类型。这些数据类型可以帮助我们根据需要选择合适的类型来存储数据。选择合适的数据类型对于确保数据的完整性和性能至关重要。 以下…...

解决vue3 动态引入报错问题

之前这样写的&#xff0c;能使用&#xff0c;但是有警告 警告&#xff0c;查了下&#xff0c;是动态引入的问题&#xff0c;看到说要用glob 然后再我的基础上&#xff0c;稍微 改了下&#xff0c;就可以了&#xff1a; 最后打印了下&#xff0c;modules[../../components/flowc…...

Mysql dumpling 导入导出sql文件

一&#xff1a;导出命令 mysqldump -u root -p saishi > saishi.sql mysqldump -u root -p saishi > saishi.sql root是用户名 saishi是数据库名 saishi.sql导出文件名 二&#xff1a;选择导入的数据库 cd到安装mysql的文件下&#xff08;找不到可以用&#xff1a;wh…...

【数字经济】你必须知道的SABOE数字化转型

【文末送书】今天推荐一本企业管理类前沿书籍《企业架构驱动数字化转型&#xff1a;以架构为中心的端到端转型方法论》 目录 01传统企业数字化转型面临诸多挑战02SABOE数字化转型五环法为企业转型破除迷雾03文末送书 01传统企业数字化转型面临诸多挑战 即将过去的2023年&#…...

【Python网络爬虫入门教程2】成为“Spider Man”的第二课:观察目标网站、代码编写

Python 网络爬虫入门&#xff1a;Spider man的第二课 写在最前面观察目标网站代码编写 第二课总结 写在最前面 有位粉丝希望学习网络爬虫的实战技巧&#xff0c;想尝试搭建自己的爬虫环境&#xff0c;从网上抓取数据。 前面有写一篇博客分享&#xff0c;但是内容感觉太浅显了…...

vue2和vue3中注意全局属性的区别(例如全局使用axios )

vue2中注册一个全局属性 在vue2中注册全局属性是很方便的&#xff0c; 只需要使用 vue.prototype.XXXX XXXX就可以了&#xff0c;如下面的代码 import { Dialog,Notify,Toast } from vant; Vue.prototype.$dialog Dialog Vue.prototype.$notify Notify Vue.prototype.$toa…...

数字系统设计(EDA)实验报告【出租车计价器】

一、问题描述 题目九&#xff1a;出租车计价器设计&#xff08;平台实现&#xff09;★★ 完成简易出租车计价器设计&#xff0c;选做停车等待计价功能。 1、基本功能&#xff1a; &#xff08;1&#xff09;起步8元/3km&#xff0c;此后2元/km&#xff1b; &#xff08;2…...

309. 买卖股票的最佳时机含冷冻期(leetcode) 动态规划思想

文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化边界条件4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中&#xff0c;我们将要详细介绍一下Leetcode中买卖股票的最佳时机含冷冻期相关的内容&#xff0c;本题采用动态规划的思想解决 一、…...

3D渲染和动画制作软件KeyShot Pro mac附加功能

KeyShot 11 mac是一款专业化实时3D渲染工具&#xff0c;使用它可以简化3d渲染和动画制作流程&#xff0c;并且提供最准确的材质及光线&#xff0c;渲染效果更加真实&#xff0c;KeyShot为您提供了使用 CPU 或 NVIDIA GPU 进行渲染的能力和选择&#xff0c;并能够线性扩展以获得…...

集合的几个遍历方法

1. 集合的遍历 1.0 创建集合代码 List<String> strList new ArrayList<>(); strList.add("huawei"); strList.add("xiaomi"); strList.add("tencent"); strList.add("google"); strList.add("baidu");1.1 fo…...

【使用apache snakeyaml 管理yml文件】

使用apache snakeyaml 管理yml文件 1. 一个Yaml工厂2.Yaml工具类3. 测试类4. 完成 &#xff01; OK 1. 一个Yaml工厂 public class YamlFactory {public static YamlUtil get(){return new YamlUtil();} }2.Yaml工具类 Slf4j public class YamlUtil {private Yaml yaml;publi…...

uniapp - 简单版本自定义tab栏切换

tab切换是APP开发最常见的功能之一&#xff0c;uniapp中提供了多种形式的tab组件供我们使用。对于简单的页面而言&#xff0c;使用tabbar组件非常方便快捷&#xff0c;可以快速实现底部导航栏的效果。对于比较复杂的页面&#xff0c;我们可以使用tab组件自由定义样式和内容 目录…...

工作中常用的RabbitMQ实践

目录 1.前置知识 准备工作 2.导入依赖 3.生产者 4.消费者 5.验证 验证Direct 验证Fanout 验证Topic 1.前置知识 rabbitmq有五种工作模式&#xff1b;按照有无交换机分为两大类 无交换机的&#xff1a;简单队列(一对一,单生产单消费)、工作队列(工作队列有轮训分发和公…...

程序员常用英文单词

英语对于程序员来说多么重要应该无需过多解释了&#xff0c;把近期在网上收集到的分享到这里供大家学习交流。 PS&#xff1a;感谢原作者的收集&#xff0c;谢谢。 A abstract 抽象的 abstract base class (ABC) 抽象基类abstract class 抽象类 abstraction 抽象、抽象物、抽象…...

QStringListModel 是 Qt 框架中用于在模型-视图(Model-View)架构中展示字符串列表的类

QStringListModel 是 Qt 框架中用于在模型-视图&#xff08;Model-View&#xff09;架构中展示字符串列表的类。 QStringListModel 继承自 QAbstractListModel&#xff0c;是一个基于字符串列表的数据模型。它提供了一种方便的方式来将字符串列表作为数据源&#xff0c;供各种…...

vue使用echarts显示中国地图

项目引入echarts以后&#xff0c;在页面创建canvas标签 引入一个公共js文件&#xff08;下面这段代码就是china.js文件&#xff09; (function (root, factory) {if (typeof define function && define.amd) {// AMD. Register as an anonymous module.define([ex…...

ATM的转账

【 1 】明确我们要实现的功能 # 用户功能菜单 # 1.注册 # 2.登陆 # 3.取款 # 4.转账 # 5.充值余额 # 6.查看流水 # 7.查看银行信息(查看自己…...

在Windows 10或11中,复制和粘贴不起作用,不一定是键盘的问题

以下建议将帮助你解决复制和粘贴无法正常工作的问题。 以下提示主要适用于Windows 10和Windows 11,但也可能解决旧版本Windows上的复制和粘贴问题。 为什么我的复制粘贴不起作用 复制和粘贴不起作用的问题可能以以下方式之一出现。 其他正在运行的应用程序或进程可能会使用…...

git 使用记录

远程仓库为空初始化 初始化本地仓库 git init 在本地仓库书写代码&#xff08;这里可以编辑一个文本文件做测试&#xff0c;如hello.txt&#xff09; 5&#xff09;执行&#xff1a;git add 要让git管理的文件&#xff08;git add hello.txt&#xff09;>执行完此操作将我…...

支持大模型训练的计算机系统

摘要&#xff1a; 训练数据决定了基础大模型可用的理论信息&#xff0c;模型架构和训练目标决定了可以提取多少信息&#xff0c;计算机系统决定了实际可实现的内容。在数据和模型大小方面&#xff0c;系统是扩展的关键瓶颈&#xff0c;这两者似乎都可以可靠地跟踪能力的改进。在…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...