MySQL 数据类型 详解

MySQL 数据类型详解

MySQL 是一种关系型数据库管理系统,数据存储需要定义列的数据类型。MySQL 提供了多种数据类型,每种类型都有其特定用途及所占用的存储空间。本文将对 MySQL 的数据类型进行详细阐述。

数值类型

MySQL 中常用的数值类型包括整型和浮点型。

整型

MySQL 提供了几种不同大小的整数类型,可以根据需要选取合适的类型。下面是 MySQL 中整型数据类型及其范围:

数据类型 存储空间 范围 (有符号) 范围 (无符号)
TINYINT 1 字节 -128 到 127 0 到 255
SMALLINT 2 字节 -32,768 到 32,767 0 到 65,535
MEDIUMINT 3 字节 -8,388,608 到 8,388,607 0 到 16,777,215
INT 4 字节 -2,147,483,648 到 2,147,483,647 0 到 4,294,967,295
BIGINT 8 字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0 到 18,446,744,073,709,551,615

示例:

CREATE TABLE student (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  age TINYINT UNSIGNED NOT NULL,
  score BIGINT
);

浮点型

MySQL 中的浮点型包括 FLOAT 和 DOUBLE,用于存储带有小数的数字。浮点型可以指定精度(即小数点后的位数),默认精度为 0。

数据类型 存储空间 范围 精度
FLOAT 4 字节 -3.402823466E+38 到 -1.175494351E-38,0 和 1.175494351E-38 到 3.402823466E+38 精度与存储空间有关
DOUBLE 8 字节 -1.7976931348623157E+308 到 -2.2250738585072014E-308,0 和 2.2250738585072014E-308 到 1.7976931348623157E+308 精度与存储空间有关

示例:

CREATE TABLE product (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  price DECIMAL(10,2)
);

字符类型

MySQL 中的字符类型包括固定长度的 CHAR 和可变长度的 VARCHAR。

数据类型 存储空间 特性
CHAR 0-255 字节 定长,存储空间固定
VARCHAR 0-65,535 字节 变长,存储空间可变,适合存储较短的字符串

示例:

CREATE TABLE user (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email CHAR(30) NOT NULL
);

日期和时间类型

MySQL 中的日期和时间类型包括 DATE、TIME、DATETIME、TIMESTAMP 和 YEAR。

数据类型 存储空间 特性
DATE 3 字节 存储日期,格式为 YYYY-MM-DD
TIME 3 字节 存储时间,格式为 HH:MM:SS
DATETIME 8 字节 存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS
TIMESTAMP 4 字节 存储时间戳,从 1970 年 1 月 1 日 00:00:00 到当前时间的秒数
YEAR 1 字节 存储年份,格式为 YYYY

示例:

CREATE TABLE event (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(100) NOT NULL,
  date DATE NOT NULL,
  time TIME
);

其他类型

MySQL 中的其他数据类型包括 BLOB、TEXT 等。

数据类型 存储空间 特性
BLOB 0-65,535 字节 二进制大对象,用于存储大量的二进制数据
TEXT 0-65,535 字节 用于存储长文本数据,适合存储较长的字符串

示例:

CREATE TABLE blog (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(100) NOT NULL,
  content TEXT NOT NULL
);

以上为 MySQL 的常用数据类型以及其特性和用法。根据具体的需求,可以合理选取合适的数据类型来存储数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL 数据类型 详解 - Python技术站

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

相关文章

  • 解决python读取几千万行的大表内存问题

    解决Python读取几千万行的大表内存问题,一般有以下几种方法: 1. 逐行读取 可以使用pandas库中的read_csv()函数来逐行读取大表,以避免一次性将数据全部载入内存。将chunksize参数设置为适当的值,如10000行,则可以逐块读取数据。读取数据的代码示例如下: import pandas as pd data_reader = pd.re…

    database 2023年5月22日
    00
  • Linux基础知识99问(二)

    针对“Linux基础知识99问(二)”这篇文章,本次将对其进行完整的攻略。 第一步:了解文章结构与目录 在阅读本文之前,我们首先需要了解这篇文章的结构与目录。该文结构清晰,包含以下章节: 操作系统和进程 Linux系统启动过程 Shell常用命令 文件和目录权限 文件的查看、编辑、复制和移动 软件安装与卸载 网络管理与优化 每个章节都是由多个常见问题组成,这…

    database 2023年5月22日
    00
  • Oracle监听器服务不能启动的解决方法

    Oracle监听器服务不能启动的解决方法 问题背景 在使用Oracle数据库时,有时候会遇到监听器服务不能启动的情况,这会导致无法连接数据库的问题。出现这种情况的原因有很多,下面我们将会一步一步解决这个问题。 问题解决 1. 检查监听器配置文件 首先需要检查监听器配置文件是否正确。Oracle监听器配置文件通常是 $ORACLE_HOME/network/a…

    database 2023年5月22日
    00
  • mysql sql常用语句大全

    MySQL SQL常用语句大全 本文将介绍MySQL数据库中的常用SQL语句,包括创建表、插入数据、更新数据、删除数据、查询数据等。下面分别进行介绍。 创建表 创建表是数据库设计的一部分,它决定了数据库中数据如何存储。创建表的基本语法如下: CREATE TABLE table_name ( column1 datatype constraints, col…

    database 2023年5月21日
    00
  • php日期转时间戳,指定日期转换成时间戳

    要将日期转换为时间戳,可以使用PHP中的strtotime()函数。 该函数将日期时间字符串转换为指定格式的Unix时间戳。以下是使用该函数将日期转换为时间戳的步骤: 步骤一:使用strtotime()函数将指定日期时间字符串转换为Unix时间戳。 步骤二:在获取到时间戳后,存储该值,以备以后使用。 下面我们分别来演示一下两个案例。 案例一:将当前日期时间转…

    database 2023年5月22日
    00
  • Derby 和 MongoDB 的区别

    Derby和MongoDB是两个不同类型的数据库,具有不同的特性和用途。接下来,我将详细讲解两者的区别。 Derby 什么是Derby Derby是一个基于Java平台的嵌入式关系型数据库管理系统。它是以纯Java代码实现的,并且可以嵌入到应用程序中。Derby是Apache软件基金会的一个开源项目。 Derby的特点 嵌入式数据库:Derby是一个面向嵌入…

    database 2023年3月27日
    00
  • ssh(ssh-keygen)配置免输入密码登录远程主机的方法

    为了配置免输入密码登录远程主机,需要执行以下几个步骤: 在本地机器上生成ssh key 在本地机器上执行以下命令: ssh-keygen -t rsa ssh-keygen是一个用于生成ssh key的命令。上述命令将生成一个默认名称为id_rsa的私钥(~/.ssh/id_rsa)和一个相应的公钥(~/.ssh/id_rsa.pub)。在生成ssh key…

    database 2023年5月22日
    00
  • 命令行启动mssqlserver服务的方法示例

    下面是详细讲解“命令行启动mssqlserver服务的方法示例”的完整攻略: 命令行启动mssqlserver服务的方法示例 简介 MSSQL Server是一款广泛使用的关系型数据库管理系统,MSSQL Server的服务启动方式有多种,其中通过命令行启动服务是一种常见的方式。 步骤 打开命令行终端 通常可以通过在Windows系统中按下“Win+R”快捷…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部