MySQL中的数据类型

ops/2024/10/18 7:51:46/

1,Tinyint

在Mysql中有许多衍生的int类型,比如Tinyint就是其中一个,他的最小值是-128 最大值是127

那么为什么Mysql中要对这些数据做如此详细的处理?是为了让程序员对数据的合法插入,数据类型本身也是一种约束。

可以看到,一旦插入数据超过范围,就会报错。

说明:

在MySQL中类型分为无符号和有符号,默认是有符号;

可以通过unsigened来某个字段是无符号的;

例子:

可以看到,该类型就不可插入带符号数字。

int类型衍生中还有:smallint 最小值是-32768,最大值是32767;

mediumint,最小值是-8388608,最大值是8388607;

还有int,bigint。

2,bit类型/字节类型(位类型)

name  bit(1);  只能插入0和1,只在二进制位上开了一位,所以取值范围是0和1;

3,浮点类型

1,float

用法:float(m,d);其中m表示显示长度,d表示精度,占用空间四个字节

如果用unsigend定义,那么float的取值范围就是0-99.99,double用法也是一样的就不多说了。

2,decimal

decimal(m, d) [unsigned] : 定点数m指定长度,d表示小数点的位数

decimal(5,2) 表示的范围是 -999.99 ~ 999.99

decimal(5,2) unsigned 表示的范围 0 ~ 999.99

decimal和float很像,但是有区别: float和decimal表示的精度不一样

可以看到,decimal的精度比float的进度要高,当插入精度大的数字时可以选用decimal。

4,字符串类型

1,char

固定长度字符串

用法:char(L);L表示字符串的长度,该类型字符串的最大长度位255:

该字符为固定长度,就是在表中定义了多少空间他就给你开多少固定的空间;

从图中可以看到,2并不是开了两个字节的长度,而是可以存两个字符,可以是汉字或英文。

2,varchar

用法:varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节(注意是字节)

用法和char类似:

其中,与char不一样的是,如果给varchar开了长20的长度,但是只给里面塞一个字符,这个时候varchar的长度是1,而不是20.这就是变长字符的优势;其中,大小为65535跟字节,但是要用三个字节来存字符的长度等内容,实际长度是65532,而最长的字符数是21844字符:

5,日期和时间类型

date :日期 'yyyy-mm-dd' ,占用三字节

datetime 时间日期格式 'yyyy-mm-dd HH:ii:ss' 表示范围从 1000 到 9999 ,占用八字节

timestamp :时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致,占用 四字节

可以看到timestamp它显示的是时事的时间,每次跟新表的时候t3会跟着变

6,enum 和 set类型

语法: enum:枚举,“单选”类型;

enum('选项1','选项2','选项3',...);

set:集合,“多选”类型;

set('选项值1','选项值2','选项值3', ...);

以下是调用方法之一:

当然enum可以使用下标来指代(注意不能使用零下标):

set可以指定多个内容进行写入,具体操作如下:

enum和set只能插入在建表之前定好的量,定义其他会报错。

set还可以使用数字标下标,但是set是以位来当下标,要注意:

可以看到,set并不以数字为下标:

1-->00001;

2-->00010;

7-->00111;

31-->11111;

案例:

set也可插入零号位,但是插入时就不是null而是‘’,代表插入过的意思。

7,enum 和 set类型查找

操作:

enum:

set:

可以看到,set用where查找时,时按严格匹配来查找,那些含有羽毛球的多个集合里不会被查找出来。

我们可以用关键字 find_in_set 可以看元素集合

方法:

可以用and的方式组合多个查询条件:

希望可以对你们有帮助.


http://www.ppmy.cn/ops/124789.html

相关文章

单元测试的定义

一、单元测试的定义 单元测试是针对软件中的最小可测试单元进行的测试活动,通常是针对函数、方法或类。其目的在于验证这些单元的功能是否正确,是否符合预期的行为,以便在早期发现代码中的错误,提高软件的质量和可靠性。 二、如…

pds 开发流程(pango design suite)使用方法

author: hjjdebug date: 2024年 10月 12日 星期六 13:24:55 CST pds 开发流程(pango design suite)使用方法 基于 Pango Design Suite(PDS) 的FPGA开发流程 盘古设计开发包, 是一个集成开发环境, 就是说把很多功能就集中在了一起的意思. 我…

一款零依赖、跨平台的流媒体协议处理工具,支持 RTSP、WebRTC、RTMP 等视频流协议的处理

大家好,今天给大家分享一款功能强大的流媒体协议处理工具go2rtc,支持多种协议和操作系统,具有零依赖、零配置、低延迟等特点。 项目介绍 go2rtc可以从各种来源获取流,包括 RTSP、WebRTC、HomeKit、FFmpeg、RTMP 等,并…

2024最新版安装教程!Python安装+PyCharm安装使用教程!!(非常简单)

Python下载安装 一、进入Python官网首页,下载最新版的Python 官方网址:Download Python | Python.org 鼠标悬浮在Downloads,选择最新版本 注意:由于Python官网服务器设立在国外,所以下载速度非常慢,我这…

2024.10月12日--- SpringMVC异常处理

异常处理 SpringMVC处理异常的方式有三种&#xff0c;当然也可以使用AOP面向编程&#xff0c;自定义一个类进入切入。 第一种&#xff1a;使用SpringMVC提供的简单异常处理器SimpleMappingExceptionResolver <!--SpringMVC提供的异常处理器类型&#xff1a;SimpleMappingE…

【排序算法】选择排序的全面剖析(含详细图解)

在之前文章中我们了解到了插入排序&#x1f449;【插入排序】&#xff0c;现在我们来学习排序算法中的直接选择排序。 目录 &#x1f4af;引言 &#x1f4af;选择排序的原理 &#x1f4af;选择排序的实现步骤 ⭐简单选择排序&#xff08;以升序为例&#xff09; ⭐代码实…

线性代数 矩阵

一、矩阵基础 1、定义 一组数按照矩形排列而成的数表&#xff1b;形似行列式&#xff0c;区别点是 矩阵行列式符号()或[]| |形状方阵或非方阵方阵本质数表数属性A|A|是A诸多属性中的一种维度m *n (m 与n可以相等也可以不相等)n*n 同型矩阵 若A、B两个矩阵都是mn 矩阵&#x…

享元模式(C++)

定义&#xff1a;享元模式是一种结构型设计模式&#xff0c;它使用共享对象&#xff0c;用以尽可能减少内存使用和提高性能。享元模式通过共享已经存在的对象实例&#xff0c;而不是每次需要时都创建新对象实例&#xff0c;从而避免大量重复对象的开销。 对比&#xff1a; 与单…