最全mysql数据类型梳理汇总

最全MySQL数据类型梳理汇总

MySQL是目前最流行的关系型数据库之一,MySQL支持的数据类型非常丰富,本篇攻略将从以下几个方面详细讲解MySQL的数据类型:

  • 数据类型分类
  • 整数类型
  • 小数类型
  • 日期和时间类型
  • 字符串类型
  • 二进制数据类型
  • 枚举类型和集合类型

在本篇攻略中,我们将对每一种数据类型进行详细的讲解并提供示例说明,以帮助读者更好地了解MySQL的数据类型。

数据类型分类

MySQL的数据类型可以分为以下几类:

  • 整数类型
  • 小数类型
  • 日期和时间类型
  • 字符串类型
  • 二进制数据类型
  • 枚举类型和集合类型

每一种数据类型都有其特定的存储方式、取值范围、默认值等属性,下面将对每一种数据类型进行详细讲解。

整数类型

MySQL支持的整数类型有以下几种:

  • TINYINT: 占用1字节,取值范围为-128~127或0~255。
  • SMALLINT: 占用2字节,取值范围为-32768~32767或0~65535。
  • MEDIUMINT: 占用3字节,取值范围为-8388608~8388607或0~16777215。
  • INT或INTEGER: 占用4字节,取值范围为-2147483648~2147483647或0~4294967295。
  • BIGINT: 占用8字节,取值范围为-9223372036854775808~9223372036854775807或0~18446744073709551615。

下面是一条创建表格时使用整数类型的示例SQL语句:

CREATE TABLE user (
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  age TINYINT(3) UNSIGNED DEFAULT 0,
  salary BIGINT(20) NOT NULL DEFAULT 0
);

小数类型

MySQL支持的小数类型有以下几种:

  • FLOAT: 单精度浮点数,占用4字节,取值范围为-3.402823466E+38~3.402823466E+38。
  • DOUBLE或REAL: 双精度浮点数,占用8字节,取值范围为-1.7976931348623157E+308~1.7976931348623157E+308。
  • DECIMAL或NUMERIC: 定点数,可指定精度,例如DECIMAL(5,2)表示占用5字节,小数点后有2位。

下面是一条创建表格时使用小数类型的示例SQL语句:

CREATE TABLE product (
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  price FLOAT(6, 2) DEFAULT 0.00,
  discount DECIMAL(10, 2) NOT NULL DEFAULT 1.00
);

日期和时间类型

MySQL支持的日期和时间类型有以下几种:

  • DATE: 格式为YYYY-MM-DD,范围为'1000-01-01'~'9999-12-31'。
  • TIME: 格式为HH:MM:SS,范围为'-838:59:59'~'838:59:59'。
  • DATETIME: 格式为YYYY-MM-DD HH:MM:SS,范围为'1000-01-01 00:00:00'~'9999-12-31 23:59:59'。
  • TIMESTAMP: 格式与DATETIME相同,范围为'1970-01-01 00:00:01'~'2038-01-19 03:14:07'。
  • YEAR: 格式为YYYY或YY,范围为1901~2155或70~69。

下面是一条创建表格时使用日期和时间类型的示例SQL语句:

CREATE TABLE order (
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  order_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

字符串类型

MySQL支持的字符串类型有以下几种:

  • CHAR: 定长字符串,占用固定字节数,最大长度为255个字符。
  • VARCHAR: 变长字符串,占用实际长度+1字节,最大长度为65535个字符。
  • TINYTEXT: 占用1字节,最大长度为255个字符。
  • TEXT: 占用2字节,最大长度为65535个字符。
  • MEDIUMTEXT: 占用3字节,最大长度为16777215个字符。
  • LONGTEXT: 占用4字节,最大长度为4294967295个字符。

下面是一条创建表格时使用字符串类型的示例SQL语句:

CREATE TABLE message (
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(100) DEFAULT '',
  content TEXT not null
);

二进制数据类型

MySQL支持的二进制数据类型有以下几种:

  • BINARY: 定长二进制数据,占用固定字节数,最大长度为255字节。
  • VARBINARY: 变长二进制数据,占用实际长度+1字节,最大长度为65535字节。
  • TINYBLOB: 占用1字节,最大长度为255字节。
  • BLOB: 占用2字节,最大长度为65535字节。
  • MEDIUMBLOB: 占用3字节,最大长度为16777215字节。
  • LONGBLOB: 占用4字节,最大长度为4294967295字节。

下面是一条创建表格时使用二进制数据类型的示例SQL语句:

CREATE TABLE image (
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) DEFAULT '',
  data LONGBLOB not null
);

枚举类型和集合类型

MySQL支持的枚举类型和集合类型有以下几种:

  • ENUM: 枚举类型,可存储多个值,每个值用单引号括起来,值之间用逗号分隔,最大长度为65535字节。
  • SET: 集合类型,可存储多个值,每个值用单引号括起来,值之间用逗号分隔,最大长度为64字节。

下面是一条创建表格时使用枚举类型和集合类型的示例SQL语句:

CREATE TABLE info (
  id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  sex ENUM('male', 'female') not null,
  interest SET('sports', 'reading', 'music') not null
);

总结

通过本篇攻略,我们详细讲解了MySQL的各种数据类型以及其使用方法和示例。不同的数据类型适用于不同的业务场景,希望读者能在实际开发中选择合适的数据类型,提高数据库的性能和稳定性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:最全mysql数据类型梳理汇总 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • CentOS环境下安装Redis3.0及phpredis扩展测试示例

    下面是CentOS环境下安装Redis3.0及phpredis扩展测试示例的完整攻略: 1. 安装Redis3.0 1.1 安装依赖 安装Redis之前,需要安装一些工具和依赖库。执行以下命令进行安装: yum install gcc-c++ -y yum install centos-release-scl -y yum install devtoolse…

    database 2023年5月22日
    00
  • MySQL load语句详细介绍

    下面我为您详细讲解“MySQL load语句详细介绍”的完整攻略。 介绍 MySQL Load语句是一种将数据从文本文件中导入到MySQL数据库中的方法。它非常适合用于大批量导入大量数据的情况,比如将日志文件、CSV文件、或其他简单文本文件中存储的数据导入到数据库中。 语法 MySQL Load语句的语法如下: LOAD DATA INFILE ‘file_…

    database 2023年5月22日
    00
  • MongoDB支持的java数据类型和测试例子

    MongoDB 支持的 Java 数据类型与 Java 原生支持的数据类型相似,同时,MongoDB 内有部分自己的数据类型,下面详细介绍 MongoDB 支持的 Java 数据类型以及相关示例。 MongoDB 支持的 Java 原生数据类型 MongoDB 支持 Java 的原生数据类型,包括:整型、长整型、双精度浮点型、字符型、布尔型和日期型。这些类型…

    database 2023年5月21日
    00
  • windows系统下SQL Server 2008超详细安装教程

    Windows系统下SQL Server 2008超详细安装教程 一、下载SQL Server 2008安装文件以及安装前的准备 下载SQL Server 2008安装文件(例如:en_sql_server_2008_enterprise_x86_x64_ia64_dvd_x14-89207.iso)。 解压下载的安装文件,找到并运行“setup.exe”。…

    database 2023年5月21日
    00
  • 案例讲解WEB 漏洞-文件操作之文件下载读取

    让我来为您详细讲解一下“案例讲解WEB 漏洞-文件操作之文件下载读取”的完整攻略。 什么是文件下载漏洞 文件下载漏洞是指攻击者可以在未经授权的情况下,从服务器上下载和查看敏感文件的漏洞。常见的文件下载漏洞有文件路径遍历、未经身份验证的文件下载等。 文件路径遍历漏洞 文件路径遍历漏洞常见于网站后台的文件下载功能中。攻击者可以通过构造特殊的HTTP请求,获取服务…

    database 2023年5月22日
    00
  • Linux shell操作mysql数据库深入解析

    下面是“Linux shell操作mysql数据库深入解析”的完整攻略,包括以下几个部分: 安装mysql客户端 连接到mysql服务器 查询数据库和表信息 执行SQL语句 操作表数据 退出mysql客户端 1. 安装mysql客户端 在 Linux shell 中安装 mysql 客户端,可以使用命令: sudo apt-get install mysql…

    database 2023年5月21日
    00
  • 在Linux环境下采用压缩包方式安装JDK 13的方法

    以下是在Linux环境下采用压缩包方式安装JDK 13的攻略: 步骤一:下载JDK 13压缩包 首先需要在Java官网下载适合您Linux系统的JDK 13压缩包。可以通过以下方式进行下载: 打开JDK 13官网下载页面,找到相应的压缩包下载链接,选择tar.gz格式的文件,根据自己的系统位数进行下载。 如果不方便访问Java官网,也可以使用wget命令进行…

    database 2023年5月22日
    00
  • [Redis] redis的设计与实现-对象系统

    1.redis并没有直接使用前面的数据结构实现键值对数据库,而是基于数据结构创建了一个对象系统,字符串对象/列表对象/哈希对象/集合对象/有序集合对象都用到了至少一种前面的数据结构2.针对不同的使用场景,为对象设置多种不同的数据结构实现,从而优化对象在不同场景下的使用效率3.redis的对象系统实现了基于引用计数的内存回收机制,通过引用计数实现了对象共享机制…

    Redis 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部