数据类型【MySQL】
文章目录
- 建立表
- 查看表
- 删除表
- 数据类型
- float
- char
- varchar
- char&&varchar
- 时间日期类型
- enum和set
- enum和set查找
建立表
mysql> create table if not exists user1(-> id int ,-> name varchar (20) comment '用户名' ,-> password char (32) comment '用户名的密码' ,-> birthday date comment '用户的生日'-> )character set utf8 collate utf8_general_ci engine MyIsam;
Query OK, 0 rows affected (0.00 sec)
mysql> create table if not exists user2(-> name varchar (20) comment '用户名' ,-> birthday date comment'用户的生日'-> )character set utf8 collate utf8_general_ci engine=InnoDB;
Query OK, 0 rows affected (0.01 sec)
查看表
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user1 |
| user2 |
+-------------------+
2 rows in set (0.00 sec)
查看具体的表中的详细信息
mysql> desc user1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
查看当时创建user1表中的语法细节
mysql> show create table user1 \G
*************************** 1. row ***************************Table: user1
Create Table: CREATE TABLE `user1` (`id` int(11) DEFAULT NULL,`name` varchar(20) DEFAULT NULL COMMENT '用户名',`password` char(32) DEFAULT NULL COMMENT '用户名的密码',`birthday` date DEFAULT NULL COMMENT '用户的生日'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
删除表
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user1 |
| user2 |
+-------------------+
2 rows in set (0.00 sec)mysql> drop table user2 ;
Query OK, 0 rows affected (0.01 sec)
修改表的名字
alter table user1 rename to user
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user1 |
| user2 |
+-------------------+
2 rows in set (0.00 sec)mysql> alter table user1 rename to user ;
向表中插入信息
mysql> insert into user values (1 , '张三', '12345','2010-10-1');
Query OK, 1 row affected (0.00 sec)mysql> insert into user values (2 , '李四', '54321','2015-10-1');
Query OK, 1 row affected (0.00 sec)mysql> select * from user ;
+------+--------+----------+------------+
| id | name | password | birthday |
+------+--------+----------+------------+
| 1 | 张三 | 12345 | 2010-10-01 |
| 2 | 李四 | 54321 | 2015-10-01 |
+------+--------+----------+------------+
2 rows in set (0.00 sec)
新增一列,对原来数据无影响
mysql> select * from user ;
+------+--------+----------+------------+
| id | name | password | birthday |
+------+--------+----------+------------+
| 1 | 张三 | 12345 | 2010-10-01 |
| 2 | 李四 | 54321 | 2015-10-01 |
+------+--------+----------+------------+
2 rows in set (0.00 sec)mysql> alter table user add image_path varchar(128) comment '这个是用户的头像路径' after birthday;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> select * from user ;
+------+--------+----------+------------+------------+
| id | name | password | birthday | image_path |
+------+--------+----------+------------+------------+
| 1 | 张三 | 12345 | 2010-10-01 | NULL |
| 2 | 李四 | 54321 | 2015-10-01 | NULL |
+------+--------+----------+------------+------------+
2 rows in set (0.00 sec)
alter table user modify name varchar (60),修改指定列中的属性, 将name改为60
这种修改是覆盖式修改
mysql> desc user;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)mysql> alter table user modify name varchar (60) ;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> desc user ;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
删除一列
mysql> desc user ;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)mysql> select * from user ;
+------+--------+----------+------------+------------+
| id | name | password | birthday | image_path |
+------+--------+----------+------------+------------+
| 1 | 张三 | 12345 | 2010-10-01 | NULL |
| 2 | 李四 | 54321 | 2015-10-01 | NULL |
+------+--------+----------+------------+------------+
2 rows in set (0.00 sec)mysql> alter table user drop password;
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql> desc user ;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| image_path | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
删除表的数据
delete from stu where name=‘九品’;
mysql> select * from stu;
+----+--------+
| id | name |
+----+--------+
| 1 | 张三 |
| 2 | 妖捕 |
| 3 | 九品 |
+----+--------+
3 rows in set (0.00 sec)
mysql> delete from stu where name='九品';
Query OK, 1 row affected (0.00 sec)
mysql> select *from stu;
+----+--------+
| id | name |
+----+--------+
| 1 | 张三 |
| 2 | 妖捕 |
+----+--------+
2 rows in set (0.00 sec)
修改表的名字
to可以省略不写
mysql> alter table user rename to User;
Query OK, 0 rows affected (0.00 sec)mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| User |
+-------------------+
1 row in set (0.00 sec)
修改表中列的名称
ysql> alter table user change name xingming varchar (60) DEFAULT NULL;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
删除表
mysql> show tables;
+-------------------+
| Tables_in_user_db |
+-------------------+
| user |
+-------------------+
1 row in set (0.00 sec)mysql> drop table user;
Query OK, 0 rows affected (0.00 sec)
数据类型
数值类型:
BIT(M) 位类型:M指定位数,默认值为1,范围为1-64
BOOL 布尔类型:使用1表示真,使用0表示假
TINYINT [UNSIGNED] 占用1字节,默认为有符号
SMALLINT [UNSIGNED] 占用2字节,默认为有符号
MEDIUMINT [UNSIGNED] 占用3字节,默认为有符号
INT [UNSIGNED] 占用4字节,默认为有符号
BIGINT [UNSIGNED] 占用8字节,默认为有符号
FLOAT[(M,D)] [UNSIGNED] M指定显示长度,D指定小数位数,占用4字节
DOUBLE[(M,D)] [UNSIGNED] M指定显示长度,D指定小数位数,占用8字节
DECIMAL(M,D) [UNSIGNED] M指定显示长度,D指定小数位数,每4个字节表示9个数字,小数点占用1字节
文本、二进制类型:
CHAR(L) | 固定长度字符串:L指定字符串长度,最大为255 |
---|---|
VARCHAR(L) | 可变长度字符串:L指定字符串长度上限,最多占用65535字节 |
BLOB | 用于存储二进制数据 |
TEXT | 用于存储大文本数据 |
时间日期:
DATE / DATETIME | 日期类型:YYYY-MM-DD格式 / YYYY-MM-DD HH:MM:SS格式 |
---|---|
TIMESTAMP | 时间戳:以YYYY-MM-DD HH:MM:SS格式进行显示 |
字符串类型:
ENUM 枚举类型:ENUM类型的取值范围需要在定义字段时进行指定,设置字段值时只允许从成员中选取单个值,其所需的存储空间由定义ENUM类型时指定的成员个数决定
SET 集合类型:SET类型的取值范围需要在定义字段时进行指定,设置字段值时可以从成员中选取一个或多个值,其所需的存储空间由定义SET类型时指定的成员个数决定
注意:MySQL本身是不支持bool类型的,当把一个数据设置成bool类型时,数据库会自动将其转换成tinyint(1)的数据类型,其实这个就是变相的bool类型,因为tinyint(1)只有1和0两种取值,可以分别对应bool类型的true和false。
float
mysql> create table if not exists t6(-> id bigint ,-> salary float (4,2) unsigned -> );
Query OK, 0 rows affected (0.01 sec)
decima
mysql> create table if not exists t7 (-> f1 float (10, 8) ,-> f2 decimal(4,2)-> );
Query OK, 0 rows affected (0.01 sec)
char
创建一个表,表当中包含一个char(2)的name列
mysql> create table if not exists t8 (-> id int ,-> name char (2)-> );
Query OK, 0 rows affected (0.01 sec)
由于char(2)中最多可存储2个字符,只要插入的字符个数不超过2个都是能够成功插入的
如果插入的字符个数超过了2个,那么在插入数据时就会产生报错
mysql> insert into t8 (id ,name ) values (1,'a');
Query OK, 1 row affected (0.00 sec)mysql> insert into t8 (id ,name ) values (1,'b');
Query OK, 1 row affected (0.00 sec)mysql> insert into t8 (id ,name ) values (1,'ab');
Query OK, 1 row affected (0.01 sec)
mysql> insert into t8 (id ,name ) values (1,'abc');
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> select * from t8;
+------+------+
| id | name |
+------+------+
| 1 | a |
| 1 | b |
| 1 | ab |
+------+------+
3 rows in set (0.00 sec)
字符并不只是指一个英文字母,一个汉字也是一个字符,因此只要插入的汉字个数不超过2个也是可以插入的
varchar
创建一个表,表当中包含一个varchar(6)的name列
mysql> create table if not exists t9 (-> id int ,-> name varchar (6)-> );
Query OK, 0 rows affected (0.03 sec)
mysql> insert into t9 (id ,name ) values (123,'sasaa');
Query OK, 1 row affected (0.00 sec)mysql> insert into t9 (id ,name ) values (123,'sasaadd');
ERROR 1406 (22001): Data too long for column 'name' at row 1
由于varchar(6)中最多可存储6个字符,只要插入的字符个数不超过6都是能够成功插入的
如果插入的字符个数超过了6个,那么在插入数据时就会产生报错
varchar类型可指定的字符个数上限
varchar类型最多占用65535字节,其中有1~2字节用来表示实际数据长度,还有1字节来存储其他控制信息,因此varchar类型的有效字节数最多是65532字节。
而varchar类型可指定的字符个数上限,与表的编码格式有关:
对于utf8编码来说,一个字符占用三个字节,因此varchar(L)中的L最大可指定为 65532 ÷ 3 = 21844
对于gbk编码来说,一个字符占用两个字节,因此varchar(L)中的L最大可指定为 65532 ÷ 2 = 32766
char&&varchar
char类型可存储字符上限为255,varchar类型可存储字符上限与表的编码格式有关。
char(L)定义后,无论存储的字符串长度是否到达L,都会开辟用于存储L个字符的定长空间,如果存储的字符串长度超过L则会报错。
varchar(L)定义后,会根据存储字符串的长度按需开辟空间,并且需要使用1-3字节的空间用于表示存储字符串的长度以及其他控制信息,如果存储的字符串长度超过L则会报错。
如何选取char和varchar类型?
char和varchar的优缺点如下:
char类型的数据是定长的,因此磁盘空间比较浪费,但是效率高(直接访问定长的空间)。
varchar类型的数据是变长的,因此磁盘空间比较节省,但是效率低(需要先读取存储字符串的长度,再访问指定长度的空间)。
如果要存储的数据是定长的,那就使用char类型进行存储,比如身份证号码、手机号、md5等。如果要存储的数据是变长的,那就使用varchar类型进行存储,比如名字、地址等。
时间日期类型
- date:日期格式为YYYY-MM-DD,占用三字节。
- datetime:时间日期格式为YYYY-MM-DD HH:MM:SS,占用八字节。
- timestamp:时间戳,格式为YYYY-MM-DD HH:MM:SS,占用四字节。
创建一个表,表当中包含date、datetime和timestamp三种时间日期类型的列
mysql> create table if not exists t11 (t1 date, t2 datetime , t3 timestamp);
Query OK, 0 rows affected (0.01 sec)
mysql> desc t11 ;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+-------------------+-----------------------------+
| t1 | date | YES | | NULL | |
| t2 | datetime | YES | | NULL | |
| t3 | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
3 rows in set (0.00 sec)
timestamp类型的t3列是不允许为空的,它的默认值为CURRENT_TIMESTAMP
如果插入数据时不插入t3列,那么就会自动插入当前的时间戳
mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| t1 |
| t11 |
| t2 |
| t3 |
| t4 |
| t5 |
| t6 |
| t7 |
| t8 |
| t9 |
+-------------------+
10 rows in set (0.00 sec)mysql> desc t11 ;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+-------------------+-----------------------------+
| t1 | date | YES | | NULL | |
| t2 | datetime | YES | | NULL | |
| t3 | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
3 rows in set (0.00 sec)mysql> insert into t11 (t1,t2) values ('2010-10-01','1949-10-01 08:00:00' );
Query OK, 1 row affected (0.00 sec)mysql> select * from t11;
+------------+---------------------+---------------------+
| t1 | t2 | t3 |
+------------+---------------------+---------------------+
| 2010-10-01 | 1949-10-01 08:00:00 | 2024-10-23 22:39:32 |
+------------+---------------------+---------------------+
1 row in set (0.00 sec)
将t1更新 ,timestamp也会更新
mysql> select * from t11;
+------------+---------------------+---------------------+
| t1 | t2 | t3 |
+------------+---------------------+---------------------+
| 2010-10-01 | 1949-10-01 08:00:00 | 2024-10-23 22:39:32 |
+------------+---------------------+---------------------+
1 row in set (0.00 sec)mysql> update t11 set t1='1999-01-01';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from t11;
+------------+---------------------+---------------------+
| t1 | t2 | t3 |
+------------+---------------------+---------------------+
| 1999-01-01 | 1949-10-01 08:00:00 | 2024-10-23 22:42:38 |
+------------+---------------------+---------------------+
1 row in set (0.00 sec)
enum和set
enum和set类型的区别:
- 在定义enum字段时需要提供若干个选项的值,在设置enum字段值时只允许选取其中的一个值。
- 在定义set字段时需要提供若干个选项的值,在设置set字段值时可以选取其中的一个或多个值。
例如:
人的性别只能从男和女中进行二选一,定义成enum类型,人的爱好可能存在多个,定义成set
mysql> create table if not exists votes ( username varchar (30), gender enum('nan' ,'nu') , hobby set('daima','yumaoqiu','zuqiu') ) ;
Query OK, 0 rows affected (0.01 sec)mysql> desc votes;
+----------+---------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------------------+------+-----+---------+-------+
| username | varchar(30) | YES | | NULL | |
| gender | enum('nan','nu') | YES | | NULL | |
| hobby | set('daima','yumaoqiu','zuqiu') | YES | | NULL | |
+----------+---------------------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> insert into votes values ('lisi','ddsd' , 'daima' ) ;
ERROR 1265 (01000): Data truncated for column 'gender' at row 1
mysql> desc votes;
+----------+---------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------------------+------+-----+---------+-------+
| username | varchar(30) | YES | | NULL | |
| gender | enum('nan','nu') | YES | | NULL | |
| hobby | set('代码','羽毛球','足球') | YES | | NULL | |
+----------+---------------------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)mysql> insert into votes values ('caocao','nan','足球,羽毛球') ;
Query OK, 1 row affected (0.01 sec)
enum和set可以通过数字的方式进行设置
enum : 数字代表下标,下标从1开始,依次增加
例如:
nan:1
nu : 2
set: 数字代表位图 ,比特位从低位向高位,比特位的位置代表哪一个爱好
代码、 羽毛球 、足球对应三个比特位 ,代码就是001 , 羽毛球就是010,足球就是100
代码、羽毛球和足球就是111
enum和set查找
select * from votes where hobby=‘代码’;查找爱好中只有代码
mysql> select * from votes where gender='nan';
+----------+--------+----------------+
| username | gender | hobby |
+----------+--------+----------------+
| zhangfei | nan | 代码 |
| caocao | nan | 代码,yumaoqiu |
| 曹操 | nan | |
+----------+--------+----------------+
3 rows in set (0.00 sec)
mysql> select * from votes where hobby='代码';
+----------+--------+-------+
| username | gender | hobby |
+----------+--------+-------+
| zhangfei | nan | 代码 |
+----------+--------+-------+
1 row in set (0.00 sec)
查找爱好中有代码,
mysql> select *from votes;
+----------+--------+------------------+
| username | gender | hobby |
+----------+--------+------------------+
| 曹操 | 男 | 羽毛球,足球 |
| 曹操 | 男 | 羽毛球,足球 |
| 曹操 | 男 | 羽毛球 |
| 刘备 | 男 | 羽毛球 |
| 刘备 | 男 | 代码 |
+----------+--------+------------------+
5 rows in set (0.00 sec)mysql> select * from votes where find_in_set('羽毛球' ,hobby);
+----------+--------+------------------+
| username | gender | hobby |
+----------+--------+------------------+
| 曹操 | 男 | 羽毛球,足球 |
| 曹操 | 男 | 羽毛球,足球 |
| 曹操 | 男 | 羽毛球 |
| 刘备 | 男 | 羽毛球 |
+----------+--------+------------------+
4 rows in set (0.00 sec)
mysql> select * from votes where find_in_set('羽毛球' ,hobby) and find_in_set('足球', hobby);
+----------+--------+------------------+
| username | gender | hobby |
+----------+--------+------------------+
| 曹操 | 男 | 羽毛球,足球 |
| 曹操 | 男 | 羽毛球,足球 |
+----------+--------+------------------+
2 rows in set (0.00 sec)
相关文章:
数据类型【MySQL】
文章目录 建立表查看表删除表数据类型floatcharvarcharchar&&varchar 时间日期类型enum和setenum和set查找 建立表 mysql> create table if not exists user1(-> id int ,-> name varchar (20) comment 用户名 ,-> password char (32) comment 用户名的…...
流媒体协议.之(RTP,RTCP,RTSP,RTMP,HTTP)(二)
继续上篇介绍,本篇介绍一下封装RTP的数据格式,如何将摄像头采集的码流,音频的码流,封装到rtp里,传输。 有自己私有协议例子,有rtp协议,参考代码。注意不是rtsp协议。 一、私有协议 玩过tcp协议…...
在 Kakarot ZkEVM 上使用 Starknet Scaffold 构建应用
Starknet 和 EVM 我们所知的智能合约世界一直围绕着以太坊虚拟机(EVM),其主要语言是 Solidity。 尽管 Starknet 通过 STARKs 为以太坊开辟了新的可能性,但其缺点是它有一个不同的虚拟机 (CairoVM),这要求开发者学习 …...
DBeave如何连接达梦数据库,设置达梦驱动,真酷
前言 我们在使用DBeaver连接数据库时,默认可以连接常用的数据库,如mysql数据库,postgresql数据库,oracle数据库。但是,我们的国产数据库达梦数据库,默认在IDEA里面没有驱动,所以还得配置一下才…...
2024年全球 MoonBit 编程创新赛-零基础早鸟教程-使用wasm4八小时开发井子棋小游戏
前言 本篇文章主要分享 “2024年全球 MoonBit 编程创新赛 游戏赛道”参赛过程中九宫棋游戏的开发技巧和心得。以此抛砖引玉。首先介绍下 MoonBit。 月兔语言 MoonBit 是一个用于云计算和边缘计算的 WebAssembly 端到端的编程语言工具链。 您可以访问 https://try.moonbitlang.…...
机器学习4
第3章 线性模型 3.1 线性模型的基本形式 3.1.1 线性模型的核心公式 线性模型通过属性的线性组合进行预测,其核心公式为: [ f(x) \omega_1 X_1 \omega_2 X_2 … \omega_d X_d b ] 其中: ω 1 , ω 2 , . . . , ω d \omega_1, \omega_…...
Python数值计算(33)——simpson 3/8积分公式
1. 背景知识 既然前的Simpson可以通过使用三个点构造二次曲线近似积分,那么,如果点数增加到了4个,然后不就可以构造三次多项式的曲线,实现对目标值的积分吗? 如果采用和上一节介绍的同样的方法,我们可以推…...
<项目代码>YOLOv8路面垃圾识别<目标检测>
YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…...
Java中的注解(白金版)
Spring中常用注解 Springboot中@Validated注解的使用 Swagger中常用注解 @Validate...
actor模型
Actor模型(Actor Model)是一种用于并发计算的数学模型和编程概念,它最早由计算机科学家 Carl Hewitt 等人提出,用于简化对多线程或并发系统的设计和实现。Actor模型在并发编程、分布式系统、消息传递系统等领域具有广泛应用。 核…...
合约门合同全生命周期管理系统:企业智能合同管理的新时代
合约门合同全生命周期管理系统:企业智能合同管理的新时代 1. 引言 随着现代企业的快速发展,合同管理的复杂性日益增加。无论是采购合同、销售合同还是合作协议,合同管理已成为企业运营中至关重要的一环。传统的手工合同管理方式往往效率低下…...
vscode如何debug环境配置?torchrun与deepspeed库又该如何配置?
文章目录 前言一、vscode命令参数传递1、验证参数py文件2、第一种vscode调用方法(launch.json配置)3、第二种vscode调用方法(launch.json配置)二、deepspeed运行py文件代码(deepspeed_test.py)三、deepspeed命令调用(无法debug)四、deepspeed使用vscode进行调试(能debug)五、vs…...
Qt元对象系统 —— 信号与槽
信号与槽讨论的是Qt对象之间的连接与交互。我们就是使用这种方式实现了一个简单的异步调用。换而言之,信号与槽让我们可以不必考虑复杂的调用。只需要当我们需要在程序中表达:“希望在程序中通知一个事件而且按照我们设定的方式给出回应”的时候…...
单细胞配色效果模拟器 | 简陋版(已有颜色数组)
目的:假设你有一组颜色了,怎么模拟查看它们在单细胞DimPlot中的美学效果呢?要足够快,还要尽可能有模拟效果。 1. 尝试1: 随机矩阵,真的UMAP降维后绘图(失败) 造一个随机矩阵,使用S…...
面向对象编程中类与类之间的关系(一)
目录 1.引言 2."有一个"关系 3."是一个"关系(继承) 4.“有一个”与“是一个”的区别 5.not-a关系 6.层次结构 7.多重继承 8.混入类 1.引言 作为程序员,必然会遇到这样的情况:不同的类具有共同的特征,至少看起来彼…...
streamlit 实现 flink SQL运行界面
实现效果 streamlit flink-playground.py 文件如下: import streamlit as st import io import contextlib import sys import os import uuid import subprocess from jinja2 import Templatest.set_page_config(layout"wide")# 设置页面标题 st.title…...
鲸鱼优化算法(Whale Optimization Algorithm, WOA)原理与MATLAB例程
鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种基于鲸鱼捕食行为的智能优化算法。它模拟了座头鲸在狩猎时的“气泡网”捕食策略。 文章目录 1.适应度函数2. 更新公式2.1 突袭行为2.2 螺旋更新3.线性递减参数4. 边界处理 MATLAB 实现示例代码说明…...
MFC七段码显示实例
在MFC中添加iSenvenSegmentAnalogX控件,添加编辑框和按钮实现在编辑框中输入数字点击按钮后数字用七段码显示 1、在对话框中点击右键如下图添加控件和变量 2、在sevenDlg.h中添加代码 public: void ShowInd(int,double);3、在sevenDlg.cpp中添加代码 void CSe…...
【日常知识点】到底推不推荐用JWT?
👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 中级 🙉八股文专题:剑指大厂,手撕 J…...
网络编程项目之FTP服务器
项目介绍 模拟FTP核心原理:客户端连接服务器后,向服务器发送一个文件。文件名可以通过参数指定,服务器端接收客户端传来的文件(文件名随意),如果文件不存在自动创建文件,如果文件存在࿰…...
SpringBoot02:第一个springboot程序
3、第一个springboot程序 3.1、准备工作 我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理。通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。 我的环境准备: java version "…...
快速入门HTML
欢迎关注个人主页:逸狼 创造不易,可以点点赞吗 如有错误,欢迎指出~ 目录 第一个html文件 标签 h1~h6 p >段落标签 br > 换行标签 img >图片标签 a >超链接标签 表格标签 表单标签 表单控件 form表单 ⽆语义标签:div&span 综…...
RabbitMQ是一个开源的消息代理和队列服务器
RabbitMQ是一个开源的消息代理和队列服务器,它基于AMQP(Advanced Message Queuing Protocol,高级消息队列协议)协议实现,同时也支持其他消息协议如STOMP、MQTT等。作为一个可靠的消息传递服务,RabbitMQ在分…...
经典算法思想--并查集
前言 (最近在学习Java,所有函数都是用Java语言来书写的)前言部分是一些前提储备知识 在并查集(Union-Find)数据结构中,rank(中文称为“秩”)是用来表示树的高度或深度的一种辅助信息…...
挑战Java面试题复习第2天,百折不挠
挑战第 2 天 ArrayList和linkedList的区别HashMap和HashTable的区别Collection 与 Collections 的区别Java的四种引用泛型常用特点 ArrayList和linkedList的区别 底层数据结构: ArrayList:基于动态数组实现,支持快速随机访问。LinkedList&a…...
【vue之道】
vue之道 1. 一生二,二生万物思想2. 变化之律3. 变化之实在哪?4.而后学于形乃已!4.1 展示之形变4.2 动之气谓之指令4.3 血之养分的载体,于vue之绑定载具4.4 vue之道(万法规一篇) 1. 一生二,二生万…...
基于麻雀优化算法SSA的CEEMDAN-BiLSTM-Attention的预测模型
往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享! EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(一)EMD-CSDN博客 EMD、EEM…...
Linux:指令再认识
文章目录 前言一、知识点1. Linux下一切皆文件,也就是说显示器也是一种文件2. 指令是什么?3. ll 与 ls -l4. 日志5. 管道6. 时间戳 二、基本指令1. man指令2. cp指令3. mv指令4. 查看文件1)cat/tac指令——看小文件2)more/less指令…...
PHP如何抛出和接收错误
在PHP中,抛出和接收错误通常涉及异常处理机制,以及错误和异常的处理函数。以下是如何在PHP中抛出和接收错误的详细指南: 抛出错误(异常) 在PHP中,你可以使用throw关键字来抛出一个异常。这通常在你检测到…...
计算机网络:网络层 —— IPv4 地址的应用规划
文章目录 IPv4地址的应用规划定长的子网掩码变长的子网掩码 IPv4地址的应用规划 IPv4地址的应用规划是指将给定的 IPv4地址块 (或分类网络)划分成若干个更小的地址块(或子网),并将这些地址块(或子网)分配给互联网中的不同网络,进而可以给各网络中的主机…...
电销做网站项目/网搜网
之前在项目中需要在内存中用map维护诸多设备结构信息(包含设备名,设备状态,控制信道长连接,以及长短数据信道连接,资源信息指针等)。我们知道go实现的map不是多协程安全的(并发访问可能导致&…...
做餐饮网站建设/常用的关键词挖掘工具有哪些
昨天同事的一台电脑出了点问题,需要客服人员远程登陆解决,由于是内网,不能用team viewer这类的远程服务软件。过去看了一下,win7的系统,先在“我的电脑”右键打开“属性”,点击左边的“远程设置”ÿ…...
重庆网站制作武汉/权重查询
数据库操作现在我们创建了模型,生成了数据库和表,下面来学习常用的数据库操作,数据库操作主要是CRUD,即Create(创建)、Read(读取/查询)、Update(更新)和Delete(删除)。SQLAlchemy使用数据库会话来管理数据库操作,这里的…...
网站管理页面/如何学会推广和营销
这里介绍两种产生sdp文件的方法,仅供参考,欢迎补充。 1、环境 操作系统 :CentOS6.2_64 内核版本 :2.6.32-220.23.1.el6.x86_64 Darwin Streaming Server 版本:6.0.3 mpeg4ip版本:1.6.1 ffmpeg版本ÿ…...
设置网站建设/报个计算机培训班多少钱
1,在电路中没有任何功能,只是在PCB上为了调试方便或兼容设计等原因。 2,可以做跳线用,如果某段线路不用,直接不贴该电阻即可(不影响外观) 3,在匹配电路参数不确定的时候,以0欧姆代替,实际调试…...
哪些企业网站做的好/企业官网首页设计
知识回顾:当鼠标在窗口内移动,点击或者释放时都会产生WM_NCHITTEST消息,响应函数OnNcHitTest会返回一个枚举值,系统会根据这个枚举值进行相应的处理。 当返回值为HTCAPTION时,系统会认为此时鼠标位于标题栏上,因而当鼠标按下并移动时就会执行拖动操作。我们需要做的就是响应这个…...