MySQL-3(9000字详解)
一:索引
索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。
1.1索引的意义
索引的意义:加快查找速度,但需要付出额外的空间代价,保存索引可能会拖慢增删改的速度,但是总体来说还是利大于弊的,因为在平时中,我们查询的频率会比增删改的效率高
索引是数据库中的一种数据结构,用于加速查询操作。它类似于书籍的目录,可以快速找到需要的数据行,而无需扫描整个表。索引可以根据一个或多个列创建,通过将这些列的值映射到对应的数据行位置,实现快速的数据检索。
1.2 索引的作用
索引的作用主要体现在以下几个方面:
-
提高查询效率:通过使用索引,数据库可以快速定位到匹配条件的数据行,从而加快查询速度。特别是在大型表中,索引的使用可以大幅提升查询效率。
-
加速排序和分组:当使用ORDER BY或GROUP BY语句进行排序或分组时,索引可以提供排序或分组的依据,加快排序和分组操作的速度。
-
实现唯一约束:索引可以强制保持列的唯一性,防止数据冗余或重复。
-
加速连接操作:当进行表连接操作时,通过创建适当的索引,可以减少连接操作所需的时间。
1.3 索引的使用场景
索引的使用场景与以下情况相关:
-
经常被查询的列:如果某个列经常被用于查询条件,那么为该列创建索引可以加速查询。
-
大型表:在大型表中,数据量庞大,扫描整个表会消耗大量时间,使用索引可以显著减少查询时间。
-
经常需要排序和分组的列:对于需要经常排序或分组的列,通过创建索引,可以提高排序和分组操作的效率。
-
外键关联的列:对于与其他表有外键关联的列,为其创建索引可以提高连接操作的速度。
1.4查看创建和删除索引
- 查看索引
show index from 表名;
案例:查看学生表已有的索引
show index from student;
- 创建索引
对于非主键、非唯一约束、非外键的字段,可以创建普通索引
create index 索引名 on 表名(字段名);
案例:创建班级表中,name字段的索引
create index idx_classes_name on classes(name);
- 删除索引
drop index 索引名 on 表名;
案例:删除班级表中name字段的索引
drop index idx_classes_name on classes;
1.5索引的案例
以下是一个用于演示索引使用的示例数据:
表结构如下:
CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(100),age INT,city VARCHAR(50)
);
现在,我们随机生成一些数据并插入表中:
INSERT INTO users (id, name, email, age, city)
VALUES(1, 'Alice', 'alice@example.com', 25, 'New York'),(2, 'Bob', 'bob@example.com', 30, 'London'),(3, 'Charlie', 'charlie@example.com', 35, 'Paris'),(4, 'David', 'david@example.com', 27, 'Los Angeles'),(5, 'Emily', 'emily@example.com', 32, 'Tokyo'),(6, 'Frank', 'frank@example.com', 29, 'Berlin'),(7, 'Grace', 'grace@example.com', 33, 'Sydney'),(8, 'Henry', 'henry@example.com', 28, 'Toronto'),(9, 'Isabella', 'isabella@example.com', 31, 'Moscow'),(10, 'Jack', 'jack@example.com', 26, 'Beijing');
接下来,我们将创建索引来优化查询操作。
- 创建一个联合索引,包含name和age字段:
CREATE INDEX idx_name_age ON users (name, age);
这个联合索引将使得按照name和age进行查询更加高效。
- 创建一个单列索引,包含city字段:
CREATE INDEX idx_city ON users (city);
这个单列索引将使得按照city进行查询更加高效。
现在,我们可以进行一些查询操作来演示索引的使用。
- 查找名字为"Alice"并且年龄为25的用户:
SELECT * FROM users WHERE name = 'Alice' AND age = 25;
这个查询将使用名为idx_name_age
的联合索引来加速搜索。
- 查找年龄大于30的用户,并按照城市进行排序:
SELECT * FROM users WHERE age > 30 ORDER BY city;
这个查询将使用名为idx_age
的单列索引来加速搜索,并使用索引排序来提高性能。
注意:我们在创建主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、外键约束(FOREIGN KEY)时,会自动创建
对应列的索引。
二:事务
2.1事务的特性
在MySQL中,事务是一组数据库操作的单元,它们被视为一个不可分割的工作单元。事务具有以下四个特性,通常被称为ACID属性:
-
原子性(Atomicity):事务是原子操作的集合,表示事务中的所有操作要么全部成功执行,要么全部回滚。如果发生错误,所有已执行的操作都将被撤消,数据库将回到事务执行前的状态。
-
一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏。换句话说,事务的执行不会破坏数据库的一致性。
-
隔离性(Isolation):并发执行的事务之间应该相互隔离,每个事务都感觉不到其他事务的存在。隔离性确保事务之间的操作互不干扰。
-
持久性(Durability):事务成功提交后,对数据库的修改将永久保存,即使系统发生故障也不会丢失。
事务的作用是保证数据库在并发操作时的一致性和完整性。当多个用户同时对数据库进行读写操作时,事务可以确保数据的正确性,并防止出现数据丢失或不一致的情况。
在MySQL中,可以使用以下语句来定义和使用事务:
- 开启事务:
START TRANSACTION;
- 提交事务:
COMMIT;
(全部成功) - 回滚事务:
ROLLBACK;
(全部失败)
在事务中,可以执行多个SQL语句,包括插入、更新、删除以及查询等操作。可以使用以下语句来控制事务的行为:
- 设置保存点(Savepoint):
SAVEPOINT savepoint_name;
,可以在需要的地方设置保存点,并在需要时回滚到保存点。 - 设置自动提交模式:
SET autocommit = 0;
,禁用自动提交模式,使得在一个事务中的操作可以一次性提交。 - 设置事务隔离级别:
SET TRANSACTION ISOLATION LEVEL level;
,可以设置事务的隔离级别,包括读未提交(Read Uncommitted)、读提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。
2.2事务的案例
start transaction;
-- 阿里巴巴账户减少2000
update accout set money=money-2000 where name = '阿里巴巴';
-- 四十大盗账户增加2000
update accout set money=money+2000 where name = '四十大盗';
commit;
start transaction表示开启事务,commit表示提交事务,到这一步就相当于事务执行完了
事务的本质就是把多个sql语句打包成一个整体,这个整体要么全部执行成功,要都不成功,而不会出现一半成功一半失败的情况,如果在执行过程中,执行一半出错了,出错之后,会自动把数据还原成未执行前的状态,这个回复数据的操作叫做回滚,所以我们需要额外的部分来记录事务中的操作步骤(数据库有个专门用来记录事务的日志),正因如此,使用事务,执行sql的开销会更大,效率也就更低了
三:java的JDBC编程
JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由 java.sql.,javax.sql. 包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。
3.1数据库编程的必备条件
-
编程语言,如Java,C、C++、Python等
-
数据库,如Oracle,MySQL,SQL Server等
-
数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的,要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc
3.2 JDBC的使用
3.2.1数据库驱动包的添加
首先准备数据库驱动包,并添加到项目的依赖中:在项目中创建文件夹lib,并将依赖包mysql-connector-java-5.1.47.jar复制到lib中。再配置该jar包到本项目的依赖中:右键点击项目Open Module Settings,在Modules中,点击项目,配置Dependencies,点击+,JARS or Directories,将该lib文件夹配置进依赖中,表示该文件夹下的jar包都引入作为依赖。
示图如下:
3.2.2 建立数据库连接
// 加载JDBC驱动程序。
Class.forName("com.mysql.jdbc.Driver");// 创建数据库连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test? user=root&password=root&useUnicode=true&characterEncoding=UTF-8");
在Java中,Class.forName("com.mysql.jdbc.Driver")
是用于加载并注册 MySQL JDBC 驱动程序的代码。
具体来说,这段代码做了以下几个操作:
- 通过调用
Class.forName()
方法,加载位于"com.mysql.jdbc.Driver"
包中的类。 - 加载类的过程中,MySQL JDBC 驱动程序会自动注册到 DriverManager 中。
- DriverManager 将负责管理可用的数据库驱动程序。
- 注册驱动程序后,才可以使用 JDBC API 连接和操作 MySQL 数据库。
而第二行代码是使用JDBC连接到MySQL数据库的示例。
DriverManager
是Java提供的用于管理数据库驱动程序的类。getConnection()
是DriverManager
类的方法,用于建立与数据库的连接。"jdbc:mysql://localhost:3306/test?user=root&password=root&useUnicode=true&characterEncoding=UTF-8"
是连接URL的格式和参数。jdbc:mysql://
:表示使用MySQL数据库驱动程序。localhost:3306
:数据库服务器的主机名(在本例中为本地主机)和端口号(本地主机默认为3306)。test
:数据库的名称。user=root&password=root
:登录数据库的用户名和密码。useUnicode=true&characterEncoding=UTF-8
:表示使用Unicode编码和UTF-8字符集进行字符处理。
综上所述,这行代码的作用是建立一个与MySQL数据库的连接,并使用给定的用户名、密码和其他参数进行身份验证和配置。所以要确保替换正确的主机名、端口号、数据库名称、用户名和密码以适应实际情况。
3.3.3创建操作命令
Statement statement = connection.createStatement();
这行代码的意思是创建一个Statement
对象,用于执行SQL语句。
Statement
是Java JDBC中的一个接口,用于向数据库发送SQL语句并获取结果。通过connection.createStatement()
方法可以在connection
对象上创建一个Statement
对象。
具体使用Statement
对象的步骤如下:
- 首先,通过
connection
对象创建一个Statement
对象。这个对象负责与数据库进行通信。 - 然后,使用
Statement
对象的executeQuery()
方法来执行SQL查询语句,或使用executeUpdate()
方法执行SQL更新语句。 - 如果是执行查询语句,可以使用
ResultSet
对象来获取查询结果。
需要注意的是,使用Statement
对象执行SQL语句存在SQL注入的安全风险,建议使用PreparedStatement
来替代Statement
,可以有效避免SQL注入问题。
3.3.4 执行sql语句
ResultSet resultSet= statement.executeQuery("select id, sn, name, qq_mail, classes_id from student");
这一行代码是在执行一条SQL查询语句并将其结果存储在一个ResultSet
对象中。
让我们一步一步来解释这段代码的含义:
-
ResultSet resultSet
: 这是一个变量声明,用于存储查询结果的对象。它是一个指向结果集的游标,通过它可以依次访问结果集中的每一行数据。 -
statement.executeQuery("select id, sn, name, qq_mail, classes_id from student")
: 这是一个Statement
对象的方法调用,通过它执行了一条SQL查询语句。具体来说,这个查询语句从名为"student"的表中选择了"id"、“sn”、“name”、“qq_mail”、"classes_id"这五个字段,并将查询结果存储在ResultSet
对象中。
这段代码的作用是执行一条查询语句来获取表中所有学生的"id"、“sn”、“name”、"qq_mail"和"classes_id"字段的数据,并将查询结果存储在ResultSet
对象中供后续的处理和操作使用。
需要注意的是,这段代码仅仅是查询语句的执行,获取到的查询结果还需要进一步操作和处理才能得到最终的结果。
3.3.5处理结果集
while (resultSet.next()) {int id = resultSet.getInt("id");String sn = resultSet.getString("sn");String name = resultSet.getString("name");int classesId = resultSet.getInt("classes_id");System.out.println(String.format("Student: id=%d, sn=%s, name=%s,
classesId=%s", id, sn, name, classesId));}
这段代码是一个循环,用于迭代结果集中的每一行数据。它使用resultSet.next()
方法来移动结果集的光标到下一行数据,并返回一个布尔值,表示是否还有更多的数据可供迭代。
在每次迭代的循环体内,通过使用resultSet.getInt()
和resultSet.getString()
等方法,我们可以从结果集中获取指定列的数据。这些方法接受列名称或列索引作为参数,并返回相应的数据类型的值。
在这段代码中,我们通过resultSet.getInt("id")
获取了"id"列的整数值,通过resultSet.getString("sn")
获取了"sn"列的字符串值,通过resultSet.getString("name")
获取了"name"列的字符串值,通过resultSet.getInt("classes_id")
获取了"classes_id"列的整数值。
最后,使用System.out.println()
方法将每一行数据输出到控制台,使用String.format()
方法来格式化输出的字符串。
总结来说,这段代码的作用是循环遍历结果集中的每一行数据,然后提取每行的不同列的值,并将其打印输出到控制台。
3.3.6释放资源(关闭结果集,命令,连接)
//关闭结果集
if (resultSet != null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}
}
//关闭命令
if (statement != null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();}
}
//关闭连接命令
if (connection != null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}
}
这段代码的作用是关闭数据库连接中的相关资源,以释放系统资源并确保数据完整性。
首先,它检查resultSet
对象是否为null
,如果不是null
则尝试关闭resultSet
。
然后,它检查statement
对象是否为null
,如果不是null
则尝试关闭statement
。
最后,它检查connection
对象是否为null
,如果不是null
则尝试关闭connection
。
关闭这些资源是很重要的,因为它们与数据库有关,如果不及时关闭可能会导致资源泄漏和性能问题。在关闭资源之前,通常会将它们用于执行数据库操作或查询。关闭资源可以释放它们占用的内存,并允许其他操作使用这些资源。
在这段代码中,如果关闭过程中发生了SQLException
异常,它会被捕获并使用e.printStackTrace()
打印出异常的堆栈跟踪信息,以便进行调试和错误处理。异常处理是为了防止在资源关闭过程中出现问题导致程序中断。
3.3.7JDBC使用步骤总结
- 创建数据库连接Connection
- 创建操作命令Statement
- 使用操作命令来执行SQL
- 处理结果集ResultSet
- 释放资源
四:JDBC常用的接口和类
4.1 数据库连接Connection
Connection接口实现类由数据库提供,获取Connection对象通常有两种方式:
- 一种是通过DriverManager(驱动管理类)的静态方法获取:
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");// 创建数据库连接
Connection connection = DriverManager.getConnection(url);
- 一种是通过DataSource(数据源)对象获取。实际应用中会使用DataSource对象。
DataSource ds = new MysqlDataSource();
((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
((MysqlDataSource) ds).setUser("root");
((MysqlDataSource) ds).setPassword("root");
Connection connection = ds.getConnection();
以上两种方式的区别是:
- DriverManager类来获取的Connection连接,是无法重复利用的,每次使用完以后释放资源时,通过connection.close()都是关闭物理连接。
- DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接是可以复用的,每次使用完数据库连接,释放资源调用connection.close()都是将Conncetion连接对象回收。
4.2Statement对象
Statement对象主要是将SQL语句发送到数据库中。JDBC API中主要提供了三种Statement对象
实际开发中最常用的是PreparedStatement对象,以下对其的总结:
两种常用执行SQL的方法:
- executeQuery() 方法执行后返回单个结果集的,通常用于select语句
- executeUpdate()方法返回值是一个整数,指示受影响的行数,通常用于update、insert、delete语句
4.3ResultSet对象
ResultSet对象它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中数据的访问。
ResultSet里的数据一行一行排列,每行有多个字段,并且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。
相关文章:

MySQL-3(9000字详解)
一:索引 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。 1.1索引的意义 索引的意义:加快查找速度,但需要…...

SLAM从入门到精通(3d 点云数据访问)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 3d 点云设备现在汽车上用的很多。之前3d lidar这种高端传感器,只能被少部分智能汽车使用。后来很多国产厂家也开始研发3d lidar之后&am…...

如何在 Spring Boot 中提高应用程序的安全性
如何在 Spring Boot 中提高应用程序的安全性 Spring Boot是一种流行的Java开发框架,用于构建Web应用程序和微服务。在构建应用程序时,安全性是至关重要的因素。不论您的应用程序是面向公众用户还是企业内部使用,都需要采取适当的措施来确保数…...

【Vuex+ElementUI】
一、导言 1、引言 Vuex是一个用于Vue.js应用程序的状态管理模式和库。它建立在Vue.js的响应式系统之上,提供了一种集中管理应用程序状态的方式。使用Vuex,您可以将应用程序的状态存储在一个单一的位置(即“存储”)中,…...

多媒体播放软件 Infuse mac中文特点介绍
Infuse mac是一款多媒体播放器应用,它支持播放多种格式的视频文件、音频文件和图片文件,并且可以通过AIrPlay将媒体内容投放到其他设备上。Infuse还支持在线视频流媒体播放和本地网络共享,用户可以通过它来访问家庭网络上的媒体文件。 Infuse…...

华为数通方向HCIP-DataCom H12-831题库(单选题:201-220)
第201题 如图所示,路由器所有的接口开启OSPF,链路的Cost值如图中标识。若在R2的OSPF进程中通过命令import-route direct type 1引入直连路由,则R1到达10.0.2.2 /32的Cost值是以下哪一选项? A、150 B、151 C、200 D、201 答案:C 解析: Loopback0的cost值默认为0,R1-R2的…...

【管理运筹学】第 9 章 | 网络计划(2,时间参数的计算 —— 工作时间的确定与事项的时间参数)
文章目录 引言一、工作时间的确定二、事项的时间参数2.1 事项的最早开始时间2.2 事项的最迟结束时间2.3 事项的时差2.4 利用事项的时间参数来确定关键线路 引言 计算网络图中有关的时间参数,主要目的是找到关键线路,为网络计划的优化、调增和执行提供明…...

英语——方法篇——单词——羊肉串记忆法——单词密码
在记忆英语单词的时候,我们习惯于一个字母一个字母地记忆,很少会以词或字母组合为单位来记忆。在这里我们要打开视野,学习以词或字母组合为单位,一组一组地记忆英语单词。英语单词数目庞大,但是构成单词的字母只有26个…...

【m98】视频帧的 jitterbuffer 1:
VCMJitterBuffer D:\XTRANS\m98_rtc\rtc-webrtc\src\modules\video_coding\jitter_buffer.h使用2个map和一个list管理VCMFrameBuffer 指针对象:UnorderedFrameList free_frames_ RTC_GUARDED_BY(mutex_);FrameList decodable_frames_ RTC_GUARDED_BY(mutex_);FrameList incomp…...

javascript中map和filter的区别与联系
javascript中map和filter的区别与联系如何获取对象数组中某个值 javascript中map和filter的区别与联系 在 JavaScript 中,map 和 filter 是两个常用的数组方法,用于对数组进行转换和过滤操作。它们的区别和联系如下: 功能不同: m…...

【RabbitMQ 实战】10 消息持久化和存储原理
一、持久化 1.1 持久化对象 rabbitmq的持久化分为三个部分: 交换器的持久化。队列的持久化。消息的持久化。 1.1.1 交换器持久化 交换器的持久化是通过在声明交换器时, 指定Durability参数为durable实现的。若交换器不设置持久化,在rabb…...

vscode 连接ubuntu git下载缓慢
在ubuntu20.04下载: git clone https://github.com/introlab/rtabmap.git src/rtabmap 挂掉情况 export https_proxyhttp://10.10.10.176:7890export http_proxyhttp://10.10.10.176:7890 其中 10.10.10.176是我本机的ip地址,7890是我的代理后几位 如…...

2731. 移动机器人
2731. 移动机器人有一些机器人分布在一条无限长的数轴上,他们初始坐标用一个下标从 0 开始的整数数组 nums 表示。当你给机器人下达命令时,它们以每秒钟一单位的速度开始移动。 给你一个字符串 s ,每个字符按顺序分别表示每个机器人移动的方…...

小程序实现人脸识别功能
调用api wx.startFacialRecognitionVerify 第一步: // 修改方法expertUpdate() {wx.startFacialRecognitionVerify({name: _this.registerForm.realName, //身份证名称idCardNumber: _this.registerForm.idCard, //身份证号码checkAliveType: 1, //屏幕闪烁(人脸核验的交互…...

【】javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes
问题描述 jdk版本:8 用DES进行加解密,其中转换模式为“DES/CBC/NoPadding”,要加密的明文为 “密码学浅析”,执行加密操作,报如下错误 Exception in thread "main" javax.crypto.IllegalBlockSizeExcepti…...

312.戳气球
将戳气球转换到添加气球,记忆搜索slove(i,j):在开区间(i,j)全部填满气球得到的最多硬币数,两端val[i]、val[j] class Solution { public:vector<vector<int>> ans;vector<int> val;int slove(int left,int right){if(left&…...

get_trade_detail_data函数使用
查阅股票持仓情况 positions get_trade_detail_data(‘8000000213’, ‘stock’, ‘position’) for dt in positions: print(f’股票代码: {dt.m_strInstrumentID}, 市场类型: {dt.m_strExchangeID}, 证券名称: {dt.m_strInstrumentName}, 持仓量: {dt.m_nVolume}, 可用数量:…...
【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用
目录 第一章 理论基础 第二章 开发环境搭建 第三章 遥感大数据处理基础与ChatGPT等AI模型交互 第四章 典型案例操作实践 第五章 输入输出及数据资产高效管理 第六章 云端数据论文出版级可视化 更多应用 随着航空、航天、近地空间等多个遥感平台的不断发展,近…...

LeetCode862 和至少为k的最短子数组
题目: 解析: 1、先构造前缀和数组 2、单调队列存放滑动窗口,目的求Sj-Si >k的情况下,窗口最小。 代码: class Solution {public int shortestSubarray(int[] nums, int k) {int n nums.length;long[] sums new …...

网卡bonding模式 - bond模式配置介绍
网卡bonding简介 网卡绑定就是把多张物理网卡通过软件虚拟成一个虚拟的网卡,配置完毕后,所有的物理网卡的ip和mac将会变成相同的。多网卡同时工作可以提高网络速度,还可以实现网卡的负载均衡、冗余。 bonding模式 1 round-robin(mode0) 轮转…...

做了个 chrome 插件实现 B 站视频截图功能,直接从当前视频帧无损复制
起因是看 B 站视频想截个图很麻烦,右下角暂停按钮无法去除,于是写了一行代码把暂停按钮隐藏。 后经提醒,发现可以通过 canvas 获取视频帧来截取图片,于是写了如下代码完美获取视频帧。 var v document.querySelector(".bpx…...

Docker linux 安装
sudo yum update sudo yum clean all sudo yum makecache#安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #添加官方存储库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo#安装-跳过一些异常依赖…...

windows部署django服务器
windows部署django服务器 1、安装IIS1.1 控制面板-----程序----程序和功能----启用或关闭windows功能1.2安装IIS服务器,完成后,重新进入,把CGI安装进系统 2、安装python与虚拟环境2.1 安装python2.2 安装virtualenv虚拟环境2.3 创建一个虚拟环…...

ChatGPT prompt汇总-个人使用-持续更新....
用途 学术写作更新记录 学术写作 中译英(GPT-4) I am a researcher studying deep learning and now trying to revise my manuscript which will be submitted to the Journal of Nature . I want you to act as a scientific English-Chinese translator, I will provide yo…...

Vue实现简单的接口封装
1. 在src中创建一个api文件夹 2. 按功能、模块等新建对应的js文件 3. 在内部写对应的封装接口,并导出 import axios from "axios";/*** 接口名称:* 接收参数:* 返回参数:* */export const miens ()>{return new P…...

软件测试工具有什么作用?有哪些好用的测试工具推荐?
软件测试工具是现代软件测试中不可或缺的重要组成部分,指的是一系列在软件开发过程中使用的工具,用于帮助测试人员进行测试活动,提高测试效率,减少测试成本。选择并使用合适的软件测试工具,可提高软件质量和效率。 一…...

写爬虫?前端er何必用python
前言 说起网络爬虫,很多人第一时间想到python,但爬虫并非只能用python实现,虽然网上大部分爬虫文章都在说python爬虫,但对于前端程序员来说,我觉得js才是最屌的(对于简单爬取任务来说,复杂的我暂时没碰到~),下面说说我的经验(是的,仅限本人经验),希望能给各位前…...

交通物流模型 | 基于交通图卷积长短时记忆网络的网络级交通流预测
交通物流模型 | 基于交通图卷积长短时记忆网络的网络级交通流预测 由于道路网络时变的交通模式和复杂的空间依赖性,交通流预测是一个具有挑战性的时空预测问题。为了克服该挑战,作者将交通网络看为一张图,并提出一个新的深度学习预测模型,交通图卷积长短时记忆网络(TGC-L…...

web 基础和http 协议
一、域名 域名的概念 IP地址不易记忆,域名方便记住,以便于用户进行搜索访问 早期使用Hosts文件解析域名地址 缺点: ① 主机名称重复 ② 主机维护困难 DNS(Domain Name System)域名系统 ① 分布式 将一个大的数…...

Java常量与变量
Java常量与变量 在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。 Java关键字 Java关键字 int public (公有的,可跨包) new finally throw (抛出一个异常对象) continuefloatlongshort extends (继承,用于类继承类) returnbrea…...