MySQL操作之数据类型

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL操作之数据类型




MySQL提供了5种数据类型:整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型和二进制类型。

1、整数类型(INT)

有5种数据类型:tinyINT、samllINT、mediumINT、INT、bigINT。

特点:

  • 占用字节数最小的:TINYINT。
  • 占用字节数最小的:BIGINT。

2、浮点数类型和定点数类型(Float/Double)

存储小数都是使用浮点数和定点数来表示的

浮点数类型:单精度浮点数(Float)和双精度浮点数(Double)。

定点数类型:decimal

浮点数:

定点数:

Decimal类型的取值范围与Double类型相同。有效取值范围由M和D的值决定。使用(M, D)来表示。其中M代表精度(数据长度),即总位数,默认值为10;D代表标度,即小数的位数,默认值为0。

  • DECIMAL(6,2):数据3.1415插入数据后为3.14。

3、日期与时间类型(DATE)

方便在数据库中存日期和时间。提供了表示时间和日期的数据类型。

包括:Year、Date、Time、DateTime、和Timestamp。

3.1、Year类型

用于表示年份。

  • 使用4位字符串或数字表示。例如:输入’2014’或2014,结果为2014。
  • 使用2位字符串表示。例如:输入’14’,结果为2014。
  • 使用2位数字表示。例如:输入’14’,结果为2014。

3.2、Date类型(YYYY-MM-DD)

用于表示日期值,不包含时间部分。

  • YYYY-MM-DDYYYYMMDD字符串格式表示。例如:输入’2014-01-21’或2014-01-21,结果为2014-01-21。
  • YY-MM-DDYYMMDD字符串格式表示。例如:输入’14-01-21’或14-01-21,结果为2014-01-21。
  • YY-MM-DDYYMMDD数字格式表示。例如:输入14-01-21或14-01-21,结果为2014-01-21。
  • 使用CURRENT_DATE或者NOW( )表示当前系统时间。

3.3、Time类型(HH-MM-SS)

用户表示时间值。

  • D HH:MM:SS字符串格式表示,启动D表示日,可以取0~34之间的值。插入数据时,小时的值等于(Dx24+HH)。例如:输入2 11:30:50,结果为59:30:50
  • HHMMSS字符串格式或HHMMSS数字格式来表示。例如:输入’345454’或345454,结果为345454。
  • 使用CURRENT_DATE或者NOW( )表示当前系统时间。

3.4、DateTime类型(HH-MM-SS)

用户表示日期和时间,显示形式为YYYY-MM-DD HH:MM:SS

  • YYYY-MM-DD HH:MM:SS或者YYYYMMDDHHMMSS字符串形式表示日期和时间。例如:输入’2013-01-23 09:12:21’或20130123091221,结果为2013-01-23 09:12:21。
  • YY-MM-DD HH:MM:SS或者YYMMDDHHMMSS字符串形式表示日期和时间。例如:输入’13-01-23 09:12:21’或130123091221,结果为2013-01-23 09:12:21。
  • 以YYMMDDHHMMSS或YYYYMMDDHHMMSS数字形式表示日期和时间。例如:输入20130123091221或130123091221,结果为2013-01-23 09:12:21。
  • 使用NOW( )表示当前系统时间。

3.5、TimeStamp类型

显示形式与DateTime相同,但取值范围比DateTime小。

  • 使用CURRENT_TimeStamp来输入系统当前时间和日期。
  • 输入NULL时,系统会输入系统当前日期和时间。
  • 无任何输入时,系统会输入系统当前日期和时间。

4、字符串和二进制类型(CHAR)

4.1、Char和Varchar

Char和Varchar类型都是用来表示字符串数据,不同的是Varchar可以存储可变长度的字符串。

定义方式:

CHAR(M)
VARCHAR(M)

其中M表示字符串的最大长度。

从图中可以看出:

  • CAHR(4)类型:无论插入值长度是多少,所占用的存储空间都是4个字节。
  • VARCHAR(4)类型:所对应的数据所占用的字节数为实际长度+1.

4.2、Binary和VarBinary类型

Binary和VarBinary类型类似于Char和Varchar,不同的是,它们所表示的是二进制。

定义方式:

BINARY(M)
VARBINARY(M)

其中:M表示二进制数据的最大字节长度。

  • Binary类型的长度是固定的,长度不满足最大长度时,将在后面以\0补齐,最终达到指定长度。

4.3、Text类型

Text类型表示大文本数据。类型分为4类

数据类型 存储范围
TinyText 0~255字节
Text 0~65 535字节
MediumText 0~16 777 215字节
LongText 0~4294 967 295字节

4.4、Blob类型

Blob是一种特殊的二级制类型,用于表示数据量很大的二级制数据。分4中类型。

数据类型 存储范围
TinyBlob 0~255字节
Blob 0~65 535字节
MediumBlob 0~16 777 215字节
LongBlob 0~4294 967 295字节

Blob类型和Text类型很相似。但是Blob是根据二级制编码进行比较和排序的。Text类型是根据文本模式进行比较和排序的。

4.5、Enum类型

Enum枚举类型。定义格式:

ENUM('值1','值2','值3'...)
  • ('值1','值2','值3'...)称为枚举列表。
  • Enum类型的数据只能从枚举列表中取,并且只能取一个。
  • 枚举列表中每个值都有一个顺序编号,MySQL存入的是顺序编号,而不是列表中的值。

4.6、Set类型

Set类型表示字符串对象,它的值可以有0个或者多个,Set类型数据的定义格式与Enum类似。定义格式:

SET('值1','值2','值3',...)

与Enum类型相同。列表中每个值都有一个顺序编号,MySQL存入的是顺序编号,而不是列表中的值。

4.7、Bit类型

Bit类型用于表示二级制数据。定义:

BIT(M)
  • M表示每个值的位数,范围是1~64。
  • 数据长度小于M,在数据左边补0。
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
SQL 运维 关系型数据库
MySQL 中 GRANT 操作会引起复制中断吗?
GRANT 操作并不是一个原子性操作,不管执行成功与否,都会触发一个隐式重载授权表的行为。 在生产环境中需要规范用户创建及授权的操作,不推荐使用 DML 语句去直接变更 mysql.user 表,可能会引发其他的问题,若使用了 DML 语句进行变更, 需要手工执行 flush privileges。
100 4
|
7月前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
94 0
|
4月前
|
关系型数据库 MySQL 数据库
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
60 5
|
4月前
|
存储 关系型数据库 MySQL
MySQL支持多种数据类型
MySQL支持多种数据类型
173 3
|
4月前
|
存储 关系型数据库 MySQL
什么是mysql的数据类型?
什么是mysql的数据类型?
65 2
|
4月前
|
存储 关系型数据库 MySQL
MySQL数据类型
MySQL数据类型
70 2
|
6月前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
49 2
|
6月前
|
存储 关系型数据库 MySQL
MySQL 中的 BLOB 数据类型深入解析
【8月更文挑战第31天】
734 0
|
6月前
|
存储 关系型数据库 MySQL
|
6月前
|
存储 XML 关系型数据库
深入理解MySQL中的BLOB和TEXT数据类型
【8月更文挑战第31天】
914 0