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日

相关文章

  • Redis安装教程图解

    Redis安装教程图解 简介 Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合。Redis提供了快速、可靠的数据读写能力,并且可以通过持久化和复制机制来保证数据的可靠性和扩展性。 在本教程中,我将为您提供Redis的安装教程,以便您能够快速安装和配置Redis…

    database 2023年5月22日
    00
  • Golang Redigo连接Redis 简单使用

    func newPool(host string, db int) *redis.Pool { return &redis.Pool { MaxIdle: 50, MaxActive: 100, Dial: func() (redis.Conn, error) { options := redis.DialDatabase(db) c, err :=…

    Redis 2023年4月13日
    00
  • sqlserver中通过osql/ocmd批处理批量执行sql文件的方法

    SQL Server是一款非常强大的关系型数据库管理系统,它可以通过osql/ocmd等工具来执行批量的SQL文件。下面是通过osql/ocmd批处理批量执行sql文件的方法详解: 1. osql工具 1.1 osql简介 osql是一个命令行工具,可以用来连接SQL Server数据库,并执行SQL语句或者批处理文件。使用osql工具需要安装SQL Ser…

    database 2023年5月21日
    00
  • Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器

    下面我将为你介绍如何使用expdp进行每周数据备份并上传至备份服务器的完整攻略。 准备工作 先创建一个备份文件夹 确保数据库处于归档模式状态 确保你有足够的可用磁盘空间 数据库备份 进入sqlplus命令行,并使用管理员身份登录到Oracle 11g数据库中。 sql sqlplus / as sysdba 设置ORACLE_SID环境变量,以及指定备份文件…

    database 2023年5月22日
    00
  • 一个多表查询的SQL语句

    下面是详细讲解“一个多表查询的SQL语句”的完整攻略。 完整攻略 Step 1:确定数据表的关系 在进行多表查询之前,我们需要先确定所涉及的数据表之间的关系,即它们之间的连接方式。 常见的数据表连接方式有以下三种: 内连接(INNER JOIN):返回匹配两个表中指定列并且存在于两个表中的行。 外连接(OUTER JOIN):返回匹配两个表中指定列的所有行,…

    database 2023年5月21日
    00
  • Linux内核设备驱动之内存管理笔记整理

    我来详细解析一下“Linux内核设备驱动之内存管理笔记整理”的攻略。 概述 本文旨在介绍 Linux 内核设备驱动中的内存管理部分,包括内存的分配、释放、映射等方面,并对常用的内存管理 API 做简单的示例介绍。 内存分配 在 Linux 内核中,内存的分配可以通过kmalloc 和 vmalloc 两个函数实现。 kmalloc kmalloc 函数可以用…

    database 2023年5月22日
    00
  • MySQL嵌套查询实现子查询的方法

    MySQL中的嵌套查询可以实现子查询的功能。子查询是指嵌套在其他查询的查询中的查询语句,它可以在一个查询中使用另一个查询的返回值。这种查询需要使用MySQL的特定语法和一些规则。 以下是如何在MySQL中使用嵌套查询实现子查询的方法: 1. 基本语法 嵌套查询的基本语法如下: SELECT column_name(s) FROM table_name WHE…

    database 2023年5月22日
    00
  • 如何在Python中更新Redis数据库中的数据?

    以下是在Python中更新Redis数据库中的数据的完整使用攻略。 使用Redis数据库的前提条件 在使用Python连接Redis数据库之前,需要确保已经安装Redis数据库,并已经启动Redis,同时需要安装Python的Redis动redis-py。 步骤1:导入模块 在Python中使用redis模块连接Redis数据库。以下是导入redis块的基本…

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