当前位置: 首页 > 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;这两者似乎都可以可靠地跟踪能力的改进。在…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

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

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