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 更新

相关推荐

  1. MYSQL数据类型详解

    2023-12-11 06:54:04       62 阅读
  2. MySQL中的SET数据类型详解

    2023-12-11 06:54:04       54 阅读
  3. MySQL - 索引类型详解

    2023-12-11 06:54:04       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-11 06:54:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-11 06:54:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-11 06:54:04       82 阅读
  4. Python语言-面向对象

    2023-12-11 06:54:04       91 阅读

热门阅读

  1. 数组 注意事项

    2023-12-11 06:54:04       49 阅读
  2. GraphSAGE

    GraphSAGE

    2023-12-11 06:54:04      51 阅读
  3. C/C++语言的安全编码规范

    2023-12-11 06:54:04       53 阅读
  4. 计算机视觉-机器学习-人工智能顶会 会议地址

    2023-12-11 06:54:04       49 阅读
  5. 【求职】外企德科-网易游戏测试面试记录

    2023-12-11 06:54:04       55 阅读
  6. git commit语义规范

    2023-12-11 06:54:04       54 阅读
  7. Docker安装教程

    2023-12-11 06:54:04       71 阅读
  8. Spark

    2023-12-11 06:54:04       38 阅读
  9. Spark-Streaming+Kafka+mysql实战示例

    2023-12-11 06:54:04       48 阅读
  10. 《微信小程序开发从入门到实战》学习四十七

    2023-12-11 06:54:04       50 阅读