MySQL数据类型

2024年08月04日 MySQL数据类型 极客笔记

MySQL数据类型

MySQL是一种关系型数据库管理系统,常用于存储和管理大量的数据。在MySQL中,数据存储在表中,每个表包含多个列,每个列都有一个数据类型用于定义该列存储的数据类型。

不同的数据类型适用于不同的数据需求,可以有效地减少数据存储空间的占用,并提高查询和检索的效率。在本文中,我们将详细介绍MySQL常见的数据类型及其用法。

数据类型分类

在MySQL中,数据类型可以分为以下几类:

  • 数值类型
  • 日期和时间类型
  • 字符串类型
  • 二进制类型

下面我们将分别介绍每种类型及其常见的数据类型。

数值类型

数值类型用于存储数字数据,包括整数和小数。

整数类型

MySQL提供了多种整数类型,包括:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。根据存储需求可以选择不同的整数类型,以下是各个整数类型的取值范围和存储空间:

  • TINYINT:取值范围为-128~127,存储空间为1字节
  • SMALLINT:取值范围为-32768~32767,存储空间为2字节
  • MEDIUMINT:取值范围为-8388608~8388607,存储空间为3字节
  • INT:取值范围为-2147483648~2147483647,存储空间为4字节
  • BIGINT:取值范围为-9223372036854775808~9223372036854775807,存储空间为8字节

示例:

CREATE TABLE users (
    id INT,
    age TINYINT,
    salary BIGINT
);

小数类型

MySQL提供了多种小数类型,包括:DECIMAL、FLOAT、DOUBLE。根据精度和存储需求可以选择不同的小数类型,以下是各个小数类型的取值范围和存储空间:

  • DECIMAL:精确小数,存储空间根据精度而定
  • FLOAT:单精度浮点数,取值范围为-3.4E+38~3.4E+38,存储空间为4字节
  • DOUBLE:双精度浮点数,取值范围为-1.7E+308~1.7E+308,存储空间为8字节

示例:

CREATE TABLE products (
    id INT,
    price DECIMAL(10, 2),
    weight DOUBLE
);

日期和时间类型

日期和时间类型用于存储日期和时间数据。

MySQL提供了多种日期和时间类型,包括:DATE、TIME、DATETIME、TIMESTAMP、YEAR。以下是各个日期和时间类型的取值范围和存储空间:

  • DATE:日期,取值范围为1000-01-01~9999-12-31,存储空间为3字节
  • TIME:时间,取值范围为-838:59:59~838:59:59,存储空间为3字节
  • DATETIME:日期时间,取值范围为1000-01-01 00:00:00~9999-12-31 23:59:59,存储空间为8字节
  • TIMESTAMP:时间戳,取值范围为1970-01-01 00:00:01~2038-01-19 03:14:07,存储空间为4字节
  • YEAR:年份,取值范围为1901~2155,存储空间为1字节

示例:

CREATE TABLE orders (
    id INT,
    order_date DATE,
    order_time TIME,
    create_time DATETIME,
    update_time TIMESTAMP
);

字符串类型

字符串类型用于存储文本数据,包括固定长度和可变长度的字符串。

MySQL提供了多种字符串类型,包括:CHAR、VARCHAR、TEXT。以下是各个字符串类型的取值范围和存储空间:

  • CHAR:固定长度字符串,最大长度为255个字符,存储空间根据长度而定
  • VARCHAR:可变长度字符串,最大长度为65535个字符,存储空间根据长度而定
  • TEXT:长文本字符串,最大长度为65535个字符,存储空间根据长度而定

示例:

CREATE TABLE posts (
    id INT,
    title VARCHAR(255),
    content TEXT
);

二进制类型

二进制类型用于存储二进制数据,包括字节、位和比特。

MySQL提供了多种二进制类型,包括:BINARY、VARBINARY、BLOB。以下是各个二进制类型的取值范围和存储空间:

  • BINARY:固定长度二进制数据,最大长度为255个字节,存储空间根据长度而定
  • VARBINARY:可变长度二进制数据,最大长度为65535个字节,存储空间根据长度而定
  • BLOB:二进制大对象,最大长度为65535个字节,存储空间根据长度而定

示例:

CREATE TABLE images (
    id INT,
    image BLOB
);

总结

在MySQL中,数据类型是非常重要的,它决定了数据的存储格式、占用空间和查询效率。根据不同的数据需求,选择合适的数据类型能够提高数据库性能和可靠性。

本文链接:http://so.lmcjl.com/news/9937/

展开阅读全文