MySQL操作之数据类型

序号类型地址
1MySQLMySQL操作之概念、SQL约束(一)
2MySQLMySQL操作之数据定义语言(DDL)(二)
3MySQLMySQL操作之数据操作语言(DML)(三)
4MySQLMySQL操作之数据查询语言:(DQL)(四-1)(单表操作)
5MySQLMySQL操作之数据查询语言:(DQL)(四-2)(多表查询)
6MySQLMySQL操作之数据控制语言:(DC)(五)
7MySQLMySQL操作之数据库函数
8MySQLMySQL管理之数据类型
9MySQLMySQL管理之索引
10MySQLMySQL管理之事务管理
11MySQLMySQL管理之存储过程
12MySQLMySQL管理之视图
13MySQLMySQL管理之数据备份与还原
14MySQLLinux(centos 7.5)服务器安装MySQL
15MyBatisMyBatis从入门到多表关联
16MyBatisMyBatis常用方法
17MyBatisMybatis逆向工程的使用(附文件地址)
18MyBatisspring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)
19MyBatis-PlusMybatis-Plus使用案例(包括初始化以及常用插件)
20MyBatis-Plusmybatis-plus代码生成器
21MyBatis-Plus自定义SQL
22MyBatis-PlusMybatis-Plus(连接Hive)
23MyBatis-PlusMyBatis-plus配置自定义SQL(执行用户传入SQL)
24MyBatis-PlusMybatis-Plus(Service CRUD 接口)


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类

数据类型存储范围
TinyText0~255字节
Text0~65 535字节
MediumText0~16 777 215字节
LongText0~4294 967 295字节

4.4、Blob类型

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

数据类型存储范围
TinyBlob0~255字节
Blob0~65 535字节
MediumBlob0~16 777 215字节
LongBlob0~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。
posted @ 2022-08-03 23:56  ah_lydms  阅读(90)  评论(0编辑  收藏  举报