首页 > 数据库 >【MySQL】MySQL数据类型详解及代码示例

【MySQL】MySQL数据类型详解及代码示例

时间:2024-07-30 13:27:42浏览次数:14  
标签:示例 -- 数据类型 PRIMARY INT MySQL 类型

目录

数值类型

整数类型

浮点数和定点数类型

字符串类型

定长字符串(CHAR)

可变长度字符串(VARCHAR)

文本类型(TEXT)

日期和时间类型

二进制类型

特殊类型


        在数据库设计中,选择合适的数据类型对于数据库的性能和存储效率至关重要。MySQL作为最流行的关系型数据库管理系统之一,提供了丰富的数据类型供开发者选择。本文将详细介绍MySQL中常见的数据类型,并附上相应的代码示例,帮助读者更好地理解和应用这些数据类型。

数值类型

整数类型

整数类型用于存储整数值,MySQL提供了多种整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT等。这些类型根据存储的位数不同,有各自的取值范围和存储需求。

示例代码

CREATE TABLE students (  
    id INT PRIMARY KEY,  
    age TINYINT UNSIGNED  -- 假设年龄不会超过255  
);

浮点数和定点数类型

浮点数类型(FLOAT、DOUBLE)用于存储近似数值,而定点数类型(DECIMAL)用于存储精确数值。FLOAT是单精度浮点数,占用4个字节;DOUBLE是双精度浮点数,占用8个字节;DECIMAL则需要指定精度和小数位数。

示例代码

CREATE TABLE products (  
    id INT PRIMARY KEY,  
    price DECIMAL(10, 2)  -- 假设价格最多有10位数字,其中2位是小数  
);  
  
CREATE TABLE measurements (  
    id INT PRIMARY KEY,  
    temperature DOUBLE  -- 适用于需要高精度的科学计算  
);

字符串类型

定长字符串(CHAR)

CHAR类型用于存储固定长度的字符串,最大长度为255个字符。如果存储的字符串长度小于指定的长度,MySQL会在右侧填充空格以达到指定的长度。

示例代码

CREATE TABLE countries (  
    id INT PRIMARY KEY,  
    country_code CHAR(2)  -- 国家代码,如US、CN  
);

可变长度字符串(VARCHAR)

VARCHAR类型用于存储可变长度的字符串,最大长度为65535个字符(实际限制可能受字符集和行大小影响)。VARCHAR类型根据实际存储的字符串长度来分配存储空间,因此更加节省空间。

示例代码

CREATE TABLE users (  
    id INT PRIMARY KEY,  
    username VARCHAR(50)  -- 用户名,长度可变  
);

文本类型(TEXT)

TEXT类型用于存储长文本数据,MySQL提供了TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT四种类型,分别对应不同的存储长度。

示例代码

CREATE TABLE articles (  
    id INT PRIMARY KEY,  
    content TEXT  -- 文章内容,可能很长  
);

日期和时间类型

MySQL提供了多种日期和时间类型,包括DATE、TIME、DATETIME、TIMESTAMP和YEAR等。

示例代码

CREATE TABLE events (  
    id INT PRIMARY KEY,  
    event_date DATE,  -- 事件日期  
    start_time TIME,  -- 开始时间  
    registration_time DATETIME  -- 注册时间,包含日期和时间  
);

二进制类型

二进制类型用于存储二进制数据,如图片、文件等。MySQL提供了BIT、BINARY、VARBINARY和BLOB等类型。

示例代码

CREATE TABLE images (  
    id INT PRIMARY KEY,  
    image_data BLOB  -- 存储图片数据  
);

特殊类型

MySQL还支持一些特殊类型,如ENUM(枚举类型)、SET(集合类型)和JSON等。

ENUM类型示例

CREATE TABLE shirts (  
    id INT PRIMARY KEY,  
    size ENUM('S', 'M', 'L', 'XL')  -- 衬衫尺码  
);

JSON类型示例

CREATE TABLE users_info (  
    id INT PRIMARY KEY,  
    profile JSON  -- 存储用户配置文件,如{"name": "John", "age": 30}  
);

标签:示例,--,数据类型,PRIMARY,INT,MySQL,类型
From: https://blog.csdn.net/qq_33502371/article/details/140765079

相关文章

  • ubuntu 安装指定版本 mysql
    先访问 MySQL::MySQL8.4ReferenceManual::2.5.2InstallingMySQLonLinuxUsingtheMySQLAPTRepository 然后运行dpkg-i命令:     _________________________________________________________________________________________________________......
  • Python MySQL 无法连接,原因不明
    当我尝试使用python连接到我的MySQL数据库时,由于未知原因显示错误:dTraceback(mostrecentcalllast):File"/usr/local/bin/flask",line8,in<module>sys.exit(main())^^^^^^File"/usr/local/lib/python3.12/site-packages/flask/cli.py&......
  • MySQL 主从复制,常见的binlog错误及解决方法
    在主从复制架构下,MySQL通过binlog来实现主从数据的一致性。 MySQL主从复制主要有以下步骤1.master将改变记录到binarylog中2.slaveio_thread去请求主库的binlog,并将得到的binlog日志写到relaylog中3.slavesql_thread重做relaylog中的事件 除了作为MySQL主从复制......
  • 十分钟教你学会 MySQL字符串处理
    CONCAT函数在Java语言中,我们经常会对字符串进行处理,在ySQL中,我们同样也有这样的函数来处理字符串,这节课我们来学习CONCAT函数。语法我们来看一下concat函数的语法:SELECTcolumn_name1,CONCAT(column_name2,str,column_name3),column_name4FROMtable_name;我们来分析......
  • Docker中Docker网络-理解Docker0与自定义网络的使用示例
    场景CentOS7中Docker的安装与配置:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701在上面安装好Docker之后。关于对Docker中默认docker0以及自定义网络的使用进行学习。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现理解docker0docker是......
  • 简单认识MySQL存储引擎
    MySQL体系结构连接层。一些客户端和链接服务,主要完成如连接处理、授权认证及选相关的安全方案服务层。主要完成大多数的核心服务功能,比如SQL接口,缓存的查询,SQL分析和优化,部分内置函数的执行。所以跨存储引擎的功能在这一层实现,如存储过程、函数等。引擎层。真正负责DBMS中数据......
  • MySQL 基础语法教程
    MySQL是一个开源的关系型数据库管理系统,它广泛应用于各种网站和应用程序中。本文将介绍MySQL的基础语法,包括数据库和表的创建、数据操作、索引和约束等内容。1.基本概念在MySQL中,数据库用于存储数据,表是数据库中的基本单位。了解这些基本概念是使用MySQL的第一步......
  • 只讲干货!!数据库的裤腰带!!今天拿下:MySQL中的约束!!
    MySQL中的约束约束概述        数据库约束是对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性主键约束(PrimaryKey)PK        主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。        ......
  • mysql中substring_index类似split分组功能
     这条MySQL语句中使用了substring_index函数来处理training_pictures列的数据。下面是该函数的具体用法:substring_index(str,delim,count):这个函数会返回字符串str中第count个出现的分隔符delim之前的所有字符,或者之后的所有字符(取决于count的正负)。具体到你提供的查询:s......
  • mysql的主从复制和读写分离
    目录主从复制主从复制的模式1.异步模式2.全同步模式3.半同步模式主从复制的延迟主从复制的延迟的原因解决方案双一设置性能化设置主从复制如何实现安装步骤读写分离实验步骤面试题主从复制主从复制的模式1.异步模式mysql的默认模式:主库在更新完事务之后会......