MySQL--数据类型

news2025/4/5 5:13:23

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

在MySQL数据库管理系统中,可以通过存储引擎来决定表的类型。同时,MySQL数据库管理系统也提供了数据类型决定表存储数据的类型

1、整型

整数类型是数据库中最基本的数据类型 ;有:tinyint、smallint、mediumint、int、bigint

MySQL支持类型类型的名称后面指定该类型的显示宽度,格式如下:

 数据类型(显示宽度)

数据类型参数是整数数据类型的名称,显示宽度参数是指定宽度的数值。显示宽度是指能够显示的最大数据的长度。 例如:int(4)指int类型的显示宽度为4。若不指定宽度情况下,每个整数类型都有默认的显示宽度;

在整数类型使用时,还可以搭配使用zerofill参数zerofill参数表示数字不足的显示空间由0来填补;使用时,MySQL会自动加上UNSIGNED属性(表示无符号数),其显示宽度比默认小1;

 mysql> use test;
 mysql> create table intdata1(
     a tingint zerofill,
     b smallint zerofill,
     c mediumint zerofill,
     d int zerofill,
     e bigint zerofill
     )
 mysql> desc intdata1;

总结:

  • 当整数值超过int数据类型支持的范围时,就可以采用bigint;
  • 在MySQL中,int数据类型是主要的整数数据类型
  • int(n)里的n是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度

整型的宽度仅为显示宽度,不是限制。因此建议整型无须指定宽度

 mysql> create table qf.test1(age int(10)); //在qf库下创建test1表格,设置数
 据类型
 ​
 mysql> insert into test1(age) values(1000);
 Query OK, 1 row affected (0.00 sec)
 ​
 mysql> insert into test1(age) values(2147483647);
 Query OK, 1 row affected (0.00 sec)
 ​
 mysql> insert into test1(age) values(2147483648); //超出范围,报错
 ERROR 1264 (22003): Out of range value for column 'age' at row 1
 ​
 mysql> select * from test1; //查询
 +------------+
 | age |
 +------------+
 | 100 |
 | 1000 |
 | 2147483647 |
 +------------+
 3 rows in set (0.00 sec)

2、浮点数类型

MySQL中使用浮点数类型定点数类型来表示小数。浮点数类型包括:精度浮点数(FLOAT型)双精度浮点数(DOUBLE型)定点数类型就是DECIMAL型

可看到: DECIMAL型的取值范围与DOUBLE相同。但是,DECIMAL的有效取值范围由M和D决定。而且,DECIMAL型的字节数是M+2。也就是说,定点数的存储空间是根据其精度决定的

MySQL中可以指定浮点数和定点数的宽度,其格式如下:

 数据类型(M,D)

M参数称为精度,是数据的总长度,小数点不占位置; D参数称为标度,是指小数点后的长度为D;

 float(5,2)     #一共5位,整数占3位.做了限制

这种方法虽然都适合于浮点数和定点数,但不是浮点数的标准用法。建议在定义浮点数时,如果不是实际情况需要,最好不要使用。如果使用了,可能会影响数据库的迁移。对定点数而言,DECIMAL(M,D)是定点数的标准格式,一般情况下可以选择这种数据类型。

如果不指定精度,浮点数和定点数有其默认的精度。FLOAT型和 DOUBLE型默认会保存实际精度,但这与操作系统和硬件的精度有关。DECIMAL型默认整数位为10,小数位为o,即默认为整数

 # 案例 宽度不算小数点
 mysql> create table test4(float_test float(5,2)); 
 mysql> desc test4;
 +------------+------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +------------+------------+------+-----+---------+-------+
 | float_test | float(5,2) | YES | | NULL | |
 +------------+------------+------+-----+---------+-------+
 1 row in set (0.00 sec)
 ​
 mysql> insert into test4(float_test) values(123.345534354);
 Query OK, 1 row affected (0.01 sec)
 ​
 mysql> insert into test4(float_test) values(34.39567);
 Query OK, 1 row affected (0.00 sec)
 ​
 mysql> insert into test4(float_test) values(678.99993);
 Query OK, 1 row affected (0.00 sec)
 ​
 mysql> insert into test4(float_test) values(6784.9);
 ERROR 1264 (22003): Out of range value for column 'float_test' at row 1
 ​
 mysql> select * from test4;
 +------------+
 | float_test |
 +------------+
 | 123.35 |
 | 34.40 |
 | 679.00 |
 +------------+
 4 rows in set (0.00 sec)

3、字符串类型

在数据库中存储字符串的数据类型。字符串类型包括CHAR、VARCHAR、BLOB、TEXT、ENUM和SET

3.1、char和varchar类型

CHAR类型和VARCHAR类型都是在创建表时指定了最大长度,其格式:

 字符串类型(M)        
 ​
 # char(10)指定长度为100          0~255
 # varchar(10)表示根据实际字符串长度占空间,最多10个   0~65535
  • char表示定长字符串长度是固定的;如果插入数据的长度小于char的固定长度时,则用空格填充;因为长度固定,所以存取速度要比varchar快很多,甚至能快50%,但正因为其长度固定,所以会占据多余的空间;
  • varchar表示可变长字符串长度是可变的;插入的数据是多长,就按照多长来存储;varchar在存取方面与char相反,它存取慢,因为长度不固定,但正因如此,不占据多余的空间

结合性能角度(char更快),节省磁盘空间角度(varchar更小)

 # 示例:
 mysql> create table t8(c char(5),v varchar(12));
 Query OK, 0 rows affected (0.42 sec)
 ​
 mysql> insert into t8 values('abcde','abcdef');
 Query OK, 1 row affected (0.38 sec)
 ​
 mysql> insert into t8 values('abc','abcdef'); #char可以少于规定长度。
 Query OK, 1 row affected (0.05 sec)
 ​
 mysql> insert into t8 values('abc777','abcdef7'); #char不能大于规定的长度。
 ERROR 1406 (22001): Data too long for column 'c' at row 1

总结:

  • 经常变化的字段用varchar
  • 知道固定长度的用char
  • 超过255字符的只能用varchar或者text
  • 能用varchar的地方不用text;text:文本格式

3.2、text类型

TEXT类型是一种特殊的字符串类型TEXT只能保存字符数据 ;类型包括有:TINYTEXT、TEXT、MEDIUMTEXT 和LONGTEXT;

类型允许的长度
TINYTEXT0~255字节
TEXT0~65535字节
MEDIUMTEXT0~16772150字节
LONGTEXT0~4294967295字节

3.3、enum类型

ENUM类型又称为枚举类型。在创建表时,ENUM类型的取值范围就以列表的形式指定:

 属性名 enum(‘值1’,‘值2’,...,‘值 n’)
 ​
 # mysql> create table t10(sex enum('m','w'));
 # 只能从m,w两个里面2选其1
 # (enumeration)

有限制的时候用枚举

 # 示例:
 mysql> insert into t10(sex) values('m');
 Query OK, 1 row affected (0.00 sec)
 ​
 mysql> insert into t10 values('w');
 Query OK, 1 row affected (0.00 sec)
 ​
 mysql> insert into t10 values('n');
 ERROR 1265 (01000): Data truncated for column 'sex' at row 1

4、日期类型

日期与时间类型是为了方便在数据库中存储日期和时间而设计的;类型:YEAR--表示年份、DATE--表示日期、TIME--表示时间、DATETIME和TIMESTAMP--表示日期和时间;

整数类型字节数取值范围零值
YEAR11901~21550000
DATE41000-01-01~9999-12-310000:00:00
TIME3-838:59:59~838:59:5900:00:00
DATETIME81000-01-01 00:00:00~9999-12-31 23:59:590000-00-00 00:00:00
TIMESTAMP41970010180001~20380119111407000000000000

每种日期与时间类型都有一个有效范围。如果插入的值超过了这个范围,系统会报错,并将零值插入到数据库中。不同的日期与时间类型有不同的零值

4.1、YEAR类型

YEAR类型使用1个字节来表示年份。MySQL中以YYYY的形式显示YEAR类型的值。给YEAR类型的字段赋值的表示方法如下:

(1)使用4位字符串或数字来表示

范围从1901~2155。输入格式为‘YYYY'或YYYY。例如,输入‘2008’或者2008,可直接保存为2008。如果超过了范围,就会插入0000。

 mysql> create table year(a year);
 mysql> desc year;
 mysql> insert into year values(1998),('1907');
 mysql> select * from year;
 +---------+
 |       a |
 +---------+
 |    1998 |
 |    1907 |
 +---------+
 mysql> insert into year values(1899);
 Error...    # 超出范围会报错

(2) 使用⒉位字符串表示

例如,输入‘345454’,TIME类型会转换为34:54:54;输入值为数值345454,TIME类型也会转换为34:54:54。如果输入0和‘0’,那么TIME类型会转换为0000:00:00。

 mysql> insert into time values('345454'),('121212'),('0'),(0);
 mysql> select * from time;
 +----------+
 | a        |
 +----------+
 | 34:54:54 |
 | 12:12:12 |
 | 00:00:00 |
 | 00:00:00 |
 +----------+

(3) 使用2位数字表示

1-69转换为2001-2069,70-99转换为1970-1999。注意,2位数字与2位字符串是不一样的。因为,如果插入0,转换后的YEAR值不是2000,而是0000;

 mysql> insert into time values(24),(86),(0),(00);
 mysql> select * from time;
 +---------+
 |     a   |
 +---------+
 |    2024 |
 |    1986 |
 |       0 |
 |       0 |
 +---------+

4.2、TIME类型

TIME类型使用3个字节来表示时间。MySQL中以 HH:MM:SS 的形式显示TIME类型的值。其中,HH表示时;MM表示分,取值范围为0-59;SS表示秒,取值范围是0-59。TIME类型的范围可以从''-838:59:59'-‘838:59:59’。虽然,小时的范围是0~23。但是为了表示某种特殊需要的时间间隔,将TIME类型的范围扩大了。而且,还支持了负值

(1)‘D HH:MM:SS’格式的字符串表示

D表示天数;保存时,小时的值等于(D*24+HH) ;例如,输入‘2 11:30:50’,TIME类型会转换为59:30:50。当然,输入时可以不严格按照这个格式,也可以是“HH:MM:SS”,“HH:MM”、“D HH:MM”、“D HH”或者“SS”等形式。例如,输入‘30’,TIME类型会转换为00:00:30。

 mysql> create table time(a time);
 mysql> insert into time value('2 23:50:50'),('22:22:22'),('11:11'),('2 20:20'),('30');
 mysql> select * from time;
 +----------+
 | a        |
 +----------+
 | 71:50:50 |
 | 22:22:22 |
 | 11:11:00 |
 | 68:20:00 |
 | 00:00:30 |
 +----------+

(2) 'HHMMSS’格式的字符串或HHMMSS格式的数值表示。

 mysql> insert into time values('345454'),('121212'),('0'),(0);
 mysql> select * from time;
 +----------+
 | a        |
 +----------+
 | 34:54:54 |
 | 12:12:12 |
 | 00:00:00 |
 | 00:00:00 |
 +----------+

(3) 使用CURRENT_TIME或者NOW()输入当前系统时间

 mysql> insert into time values(current_time),(now());
 mysql> select * from time;
 +----------+
 | a        |
 +----------+
 | 11:24:10 |
 | 11:24:10 |
 +----------+

一个合法的 TIME值,如果超出TIME的范围,将被裁为范围最接近的端点; TIME类型专门用来存储时间数据,而且只占3个字节。如果只需要记录时间,选择TIME类型是最合适的;

TIME类型专门用来存储时间数据,而且只占3个字节。如果只需要记录时间,选择TIME类型是最合适的

4.3、DATE类型

DATE类型使用4个字节来表示日期 ;MySQL中是以 YYYY-MM-DD 的形式显示DATE类型的值。其中,YYYY表示年;MM表示月;DD表示日。DATE 类型的范围可以从‘1000-01-01’-'9999-12-31’。给DATE类型的字段赋值的表示方法如下:

(1)‘YYYY-MM-DD’或‘YYYYMMDD’格式的字符串表示

范围是‘1000-01-01 00:00:00'-'9999-12-31'; 例如,输入‘4008-2-8’,DATE类型将转换为4008-02-08;输入入‘20220308’,DATE类型将转换为2022-03-08。

MySQL中还支持一些不严格的语法格式,任何标点都可以用来做间隔符

 mysql> create table date(a date);
 mysql> insert into date values('1949-10-01'),('1951@3@4'),('1950#2#3'),('19520101');
 mysql> select * from date;
 +------------+
 | a          |
 +------------+
 | 1949-10-01 |
 | 1951-03-04 |
 | 1950-02-03 |
 | 1952-01-01 |
 +------------+

(2) ‘YY-MM-DD’或者‘YYMMDD’格式的字符串表示

‘YY'的取值,00-69转换为2000-2069,70-99转换为1970~1999; 例如,输入‘35-01-02’,DATE类型将转换为2035-01-02;输入‘800102’,DATE类型将转换为1980-01-02;

 mysql> insert into date values('20240723'),('990101'),('240101'),(0);
 mysql> select * from date;
 +------------+
 | a          |
 +------------+
 | 2024-07-23 |
 | 1999-01-01 |
 | 2024-01-01 |
 +------------+
 # 0报错:
 ERROR 1292 (22007): Incorrect date value: '0' for column 'a' at row 4

(3) 使用CURRENT_DATE或NOW()来输入当前系统日期

 mysql> insert into date values(current_date),(now());
 mysql> select * from date;
 +------------+
 | a          |
 +------------+
 | 2024-07-23 |
 | 2024-07-23 |
 +------------+

4.4、datetime类型

DATETIME类型使用8个字节来表示日期和时间。MySQL中以‘YYYY-MM-DDHH:MM:SS’的形式显示DATETIME类型的值;

定义方法示例:

 mysql> create table datetime(a datetime);
 mysql> insert into datetime values('1945-10-01 11:11:11'),('1950#2#3 11+11+11'),('19511001121212');
 mysql> select * from datetime;
 +---------------------+
 | a                   |
 +---------------------+
 | 1945-10-01 11:11:11 |
 | 1950-02-03 11:11:11 |
 | 1951-10-01 12:12:12 |
 +---------------------+
 ​
 mysql> insert into datetime values('52-10-01 11:11:11'),('53@1@1 11*11*11'),('790101121212');
 mysql> select * from datetime;
 +---------------------+
 | a                   |
 +---------------------+
 | 2052-10-01 11:11:11 |
 | 2053-01-01 11:11:11 |
 | 1979-01-01 12:12:12 |
 +---------------------+
 ​
 mysql> insert into datetime values(20080808080808),(090101080808),(790101080808);
 mysql> select * from datetime;
 +---------------------+
 | a                   |
 +---------------------+
 | 2008-08-08 08:08:08 |
 | 2009-01-01 08:08:08 |
 | 1979-01-01 08:08:08 |
 +---------------------+
 ​
 mysql> insert into datetime values(now());
 mysql> select * from datetime;
 +---------------------+
 | a                   |
 +---------------------+
 | 2024-07-23 15:17:02 |
 +---------------------+
 1 row in set (0.00 sec)

如何选择数据类型

1、整数和浮点数

不需要小数部分,就使用整数来保存数据;如果需要表示小数部分,就使用浮点数类型对于浮点数据列,存入的数值会对该列定义的小数位进行四舍五入;

浮点类型包括FLOAT和DOUBLE类型。DOUBLE类型精度比FLOAT类型高,因此要求存储精度较高时应选择 DOUBLE 类型

2、浮点数和定点数

浮点数 FLOAT、DOUBLE相对于定点数 DECIMAL的优势是:在长度一定的情况下,浮点数能表示更大的数据范围。由于浮点数容易产生误差,因此对精确度要求比较高时,建议使用DECIMAL来存储。DECIMAL在MySOL中是以字符串存储的,用于定义货币等对精确度要求较高的数据。在数据迁移中,foat(M.D)是非标准SQL定义,数据库迁移可能会出现问题,最好不要这样使用。另外,两个浮点数进行减法和比较运算时也容易出问题,因此在进行计算的时候,一定要小心。进行数值比较时,最好使用DECIMAL类型

3、日期和时间

只需要记录年份,则使用YEAR 类型即可;如果只记录时间,则使用TIME类型

如果同时需要记录日期和时间,则可以使用TIMESTAMP或者DATETIME类型。由于TIMESTAMP列的取值范围小于DATETIME的取值范围,因此存储范围较大的日期最好使用DATETIME.

TIMESTAMP也有一个DATETIME不具备的属性。默认的情况下,当插入一条记录但并没有指定TIMESTAMP这个列值时,MVSOL会把TIMESTAMP 列设为当前的时间。因此当需要插入记录的同时插入当前时间时,使用TIMESTAMP是方便的。另外,TIMESTAMP在空间上比DATETIME更有效。

4、CHAR 与 VARCHAR

CHAR和VARCHAR的区别如下:

  • CHAR固定长度字符VARCHAR可变长度字符
  • CHAR自动删除插入数据的尾部空格,VARCHAR不会删除尾部空格

CHAR是固定长度,所以它的处理速度比VARCHAR的速度要快,但是它的缺点是浪费存储空间,所以对存储不大但在速度上有要求的可以使用CHAR类型,反之可以使用VARCHAR类型来实现。

5、ENUM 和 SET

ENUM 只能取单值,它的数据列表是一个枚举集合。它的合法取值列表最多允许有65535个成员。因此,在需要从多个值中选取一个时,可以使用ENUM。比如:性别字段适合定义为ENUM类型,每次只能从'男’或'女’中取一个值。 SET可取多值。它的合法取值列表最多允许有64个成员。空字符串也是一个合法的SET值在需要取多个值的时候,适合使用SET类型,比如要存储一个人的兴趣爱好,最好使用SET类型;

6、BLOB 和 TEXT

BLOB二进制字符串,TEXT是非二进制字符串,两者均可存放大容量的信息。BLOB主要存储图片、音频信息等,而TEXT只能存储纯文本文件

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录导致计算轮廓面积出错的一个坑点

1.前言 计算轮廓面积是常见的几何算法话题,获取轮廓面积、计算轮廓法线等场景会涉及到。计算轮廓面积的方法有很多,一种常用的是微积分思路的分段求和办法,即组成轮廓的每条线段与X轴或Y轴进行有向投影,轮廓边线与X轴或Y轴的投影之…

【SQL Server】SQL Server基础知识概览

目录 第1章:SQL Server 概览 SQL Server 版本介绍 SQL Server 架构 SQL Server 组件 第1章:SQL Server 概览 SQL Server 版本介绍 SQL Server 是 Microsoft 开发的一款关系型数据库管理系统 (RDBMS),广泛应用于企业级数据存储和处理场景…

Mysql学习-day15

Mysql学习-day15 1. 行列转换 在MySQL中,行列转换可以通过使用CASE语句结合聚合函数来实现。 表t_score数据如图所示 我们想要以学科为列名,展示每个学生的科目成绩,可以先用CASE语句来选出每科的成绩,再进行求和。 选择科目时…

【C++】模拟实现list

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目及其功能 📌了解list官方标准 了解模拟实现list 📌了解更底层的list实现 二.list迭代器和vector迭代器的异同 📌迭代…

SSH实现电脑VScode免密登录到虚拟机其原理

在网上想看一下这个原理。发现写的还是比较乱,所以自己总结了一份方便回顾 SSH免密登录的原理主要基于非对称密钥加密技术,比较常用的是RSA算法。 以下是SSH免密登录的详细步骤和原理: 1. 生成密钥对 在客户端上生成一对密钥,…

系统复习Java日志体系

一&#xff0c;我们采用硬编码体验一下几个使用比较多的日志 分别导入几种日志的 jar 包 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSch…

【已解决】YOLOv8加载模型报错:super().__init__(torch._C.PyTorchFileReader(name_or_buffer))

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

C#——Json数据存储

本文使用的软件为VS2022&#xff0c;不同的软件使用上有些许差异。 C#数据存储 关于数据存储&#xff0c;一般在退出控制台之后&#xff0c;暂存的数据都会释放掉&#xff0c;有没有什么方法能够在下一次进入的时候还能加载上一次的数据呢&#xff1f;答案是有的&#xff0c;关…

利用Arcgis设置分式标注(分子分母标注)

因工作需要&#xff0c;需要设置分式标注&#xff0c;下面详细介绍下如何利用arcgis 设置分式标注&#xff0c;以下操作以供参考&#xff0c;如有疑义可提出。 一、准备工作 软件&#xff1a;arcmap 示例数据&#xff1a;行政区shp矢量图 二、操作步骤 1.添加数据 将行政区sh…

Golang | Leetcode Golang题解之第307题区域和检索-数组可修改

题目&#xff1a; 题解&#xff1a; type NumArray struct {nums, tree []int }func Constructor(nums []int) NumArray {tree : make([]int, len(nums)1)na : NumArray{nums, tree}for i, num : range nums {na.add(i1, num)}return na }func (na *NumArray) add(index, val …

MinIO安装(思路、方法、步骤(以centos8安装为例))

MinIO安装&#xff08;思路、方法、步骤&#xff08;以centos8安装为例&#xff09;&#xff09; 简介 MinIO 是一个高性能、开源的对象存储系统&#xff0c;旨在提供简单、可扩展的存储解决方案&#xff0c;特别适用于大数据、AI 和 ML 应用。 步骤记录 首先我们进入官网看…

前端使用 Konva 实现可视化设计器(19)- 连接线 - 直线、折线

本章响应小伙伴的反馈&#xff0c;除了算法自动画连接线&#xff08;仍需优化完善&#xff09;&#xff0c;实现了可以手动绘制直线、折线连接线功能。 请大家动动小手&#xff0c;给我一个免费的 Star 吧~ 大家如果发现了 Bug&#xff0c;欢迎来提 Issue 哟~ github源码 gitee…

最全个人笔记【Makefile】

1. 基本概念 1.1 make是什么 当一个项目中要编译的文件很多时&#xff0c;手工使用编译器一个个进行编译&#xff0c;很明显不具有可操作性&#xff0c;此时必须借助某些软件&#xff0c;协助我们有序地、正确地自动编译整个工程的所有该编译的文件。这样的软件被称为 工程管…

Simulink|基于粒子群算法的永磁同步电机多参数辨识

目录 主要内容 模型研究 结果一览 下载链接 主要内容 仿真程序参考文献《改进粒子群算法的永磁同步电机多参数辨识》&#xff0c;采用粒子群算法与simulink模型结合的方式&#xff0c;对永磁同步电机进行多参数辨识。程序以定子绕组电阻、d轴电感、q轴电感和永磁…

ai写作免费版工具上哪找?一文详解5大ai写作神器

面对写作难题&#xff0c;你是否曾感到力不从心&#xff1f;从创意枯竭到语法错误&#xff0c;每个写作环节都可能成为挑战。但如今&#xff0c;有了ai写作工具的帮助&#xff0c;这些难题都能迎刃而解。今天&#xff0c;就让我们一起来看看ai写作免费网页版应该怎么选吧&#…

Win11系统文件资源管理器鼠标右键卡顿解决方法

引用链接&#xff1a; Windows 11文件资源管理器崩溃怎么解决&#xff1f;看看这7个解决办法&#xff01;

订单搜索分页查询业务

文章目录 概要整体架构流程技术细节小结 概要 订单搜索分页查询是电商、物流、零售等众多行业中的常见需求&#xff0c;主要用于管理和分析大量订单数据. 需求分析以及接口设计 技术细节 1.Controller层: 根据接口设计来写 ApiOperation("订单搜索")GetMapping(…

使用plink和git进行数据处理

首先使用git进行plink环境配置&#xff0c;显示环境安装成功&#xff0c;在此环境下可以使用plink 在基因型数据处理过程中&#xff0c;看到vcf文件后首要做的就是将vcf文件转成二进制文件&#xff0c;输入命令 plink --vcf genotype.vcf --allow-extra-chr --recode --out tes…

滑动窗口代码实现

public int minSubArrayLen(int target, int[] nums) {int len nums.length;int res len 1;//最大是len&#xff0c;如果最后res结果还是n1说明没有答案返回0int sum0;int left0;for(int right0; right<len; right){sumnums[right];while(sum>target){//不需要判断rig…

算法 —— 递推

目录 递推 数楼梯 斐波那契数列 一维数组递推 P1002 过河卒 二维数组递推 P1044 栈 卡特兰数 递推 将一个很大的任务分解成规模小一些的子任务&#xff0c;子任务分成更小的子任务&#xff0c;直到遇到初始条件&#xff0c;最后整理归纳解决大任务的思想就是递推与递…