当前位置: 首页 > news >正文

MySQL —— MySQL 程序

目录

·前言

一、MySQL 程序简介

二、mysqld -- MySQL 服务器

三、mysql -- MySQL 客户端

1. mysql 客户端简介

2. mysql 客户端选项

(1)指定选项的方式

(2)mysql 客户端命令常用选项

(3)在命令行中使用选项

3. mysql 客户端命令

(1)connect(\r)

(2)status(\s)

(3)delimiter(\d)

(4)exit 与 quit(\q)

(5)tee(\T) 与 notee(\t)

(6)prompt(\R)

(7)source(\.)

(8)system(\!)

(9)help contents 

4.从 .sql 文件中执行 SQL语句

(1)使用 source 命令导入

(2)使用 mysql 客户端导入

·总结


·前言

        本篇文章将会介绍 MySQL 中常见程序 mysqld 与 mysql 的基本概念,以及详细介绍 mysql 客户端程序的使用,这里我们会介绍 mysql 客户端命令的常用选项,使用 mysql 客户端从 .sql 文件中执行 SQL 语句,下面开始本篇文章的内容介绍。

一、MySQL 程序简介

        在我们安装完 MySQL 后通常会包含如下的程序:

  • Linux 系统中安装完 MySQL 程序一般在 /usr/bin 目录下,可以通过命令查看:

  • Windows 系统中安装完 MySQL 程序会在目录:安装目录\MySQL Server [版本号]\bin,可以通过命令查看:

        可以观察到,在安装完 MySQL 后还有很多的其他程序,在这里面我们常用的 MySQL 程序及作用如下表所示:

MySQL 常用程序
程序名作用
mysqldMySQL 的守护进程即 MySQL 服务器,要使用 MySQL 服务器 mysqld 必须正在运行状态。
mysqlMySQL 客户端程序,用于交互式输入 SQL 语句或以批处理模式从文件执行 SQL 的命令行工具。
mysqlcheck用于检查、修复、分析和优化表的表维护客户端。
mysqldump将 MySQL 数据库转储到 SQL、文本或 XML 文件中的客户端。
mysqlimport将文本文件导入到表的客户端工具。
mysqladmin执行管理操作的客户端,例如创建或删除数据库、重新加载授权表、将表刷新到磁盘以及重新打开日志文件。mysqladmin 还可以用于从读取检索版本、进程和状态信息。
mysqlshow显示数据库、表、列和索引信息的客户端。
mysqldumpslow用于读取和汇总慢速查询日志内容的实用程序。
mysqlbinlog从二进制日志中读取 SQL 语句的实用程序。mysqlbinlog 文件中包含的已执行 SQL 语句的日志,可用于从崩溃中恢复数据。
mysqlslap客户端负载工具,模拟多个客户端同时访问 MySQL 服务器,并报告每个阶段的使用时间。

        在上表所介绍的这些 MySQL 常用程序中,只有 mysqld 是服务端的程序,它属于后台程序,其他的那些都是我们在使用 MySQL 时客户端的工具。

二、mysqld -- MySQL 服务器

        mysqld 也被称为 MySQL 服务器,这是一个多线程程序,对数据目录进行访问管理(包含数据库和表)。数据目录也是其他信息(如日志文件和状态文件)的默认存储位置。当 MySQL 服务器启动时,会侦听指定的端口、来处理来自客户端程序的网络连接,并管理不同客户端对数据库的访问。关于客户端与 mysqld 服务程序的关系如下图所示:

        mysqld 程序有许多选项可以在启动时指定,运行以下命令可以查看完整的选项列表:

mysqld --verbose --help

         有关 MySQL 服务器的更多介绍,我会在后面文章中进行详细介绍。

三、mysql -- MySQL 客户端

1. mysql 客户端简介

        mysql 是一个简单的 SQL shell,可以输入命令和执行 SQL 语句,当执行 SQL 语句时,查询结果以 ASCII 表格显示,关于 mysql 的基本使用非常简单,下面我们来回顾一下连接数据库的方式,打开终端并输入以下命令:

# 连接 MySQL 服务器,长选项格式
mysql --user=user_name --password [db_name]

        执行命令过程及结果如下图所示:

# 短选项格式
mysql -uuser_name -p [db_name]

         执行命令过程及结果如下图所示:

        关于这两种连接数据库的命令,后面都有一个可选的参数 [db_name] ,我们可以在连接数据库时指定我们要连接其中哪个数据库,具体的演示如下图所示:

        下面我们就来详细介绍 mysql 客户端的使用方法。 

2. mysql 客户端选项

(1)指定选项的方式

        在 mysql 客户端指定选项的方式有以下三种:

  • 在 mysql 后面命令行中列出选项;
  • 在 mysql 后面指定配置文件的路径,以便在程序启动时读取配置文件中的选项,并解析对应程序选项的值,应用在启动参数中;
  • 使用环境变量中的选项。

        下面我们介绍的指定选项方式主要以前两种为主,第三种并不常用。 

(2)mysql 客户端命令常用选项

        mysql 客户端命令常用选项如下表所示:

选项--长格式短格式说明
--host-h连接指定主机上的 MySQL 服务,默认 127.0.0.1 或 localhost,使用方式:--host=host_name,-hhost_name。
--port-PTCP/IP 连接使用的端口号,默认 3306,使用方式:--port=port_num,-Pport_num。
--user-u用于连接到 MySQL 服务器的用户名,使用方式:--user=user_name,-uuser_name。
--password-p用于连接到 MySQL 服务器的密码。可选,如果连接 MySQL 服务器时没有给出这个选项,会提示用户输入,使用方式:--password[=password],-p[password]。
--defauts-file使用指定的配置文件,如果该文件不存在,就会发生错误,使用方式:--defaults-file=file_name。
--default-character-set使用方式:--default-character-set=charset_name,其中 charset_name 将作为客户端和当前连接的默认字符集,如:utf8mb4。
--database-D用于指定要使用的数据库,使用方式:--database=db_name,-Ddb_name。
--compress-C如果可能,压缩客户端和服务器之间传输的所有信息,使用方式:--compress,-C。
--reconnect如果客户端与服务器的连接丢失,自动尝试重新连接,使用方式:--reconnect。
--quick-q不缓存查询结果,收到一行打印一行,如果输出被挂起,可能会降低服务器速度,使用方式:--quick,-q。
--protocol用于连接到服务器的传输协议,默认为 TCP,使用方式:--protocol={TCP|SOCKET|PIPE|MEMORY}。
--delimiter设置 SQL 语句分隔符,默认值是分号(;),标记 SQL 语句的结束,使用方式:--delimiter=str。
--execute-e执行指定的 SQL 语句并退出,使用方式:--execute=statement,-estatement。
--version-V显示版本信息并退出,使用方式:--version,-V。
--help-?显示帮助信息并退出,使用方式:--help,-?。

        这里我们指定选项的值要注意一点:如果选项的值中包含空格,那么值需要包含在双引号中。 

(3)在命令行中使用选项

        在命令行中指定选项应遵循以下规则:

  • 选项应在程序名之后给出;
  • 选项以单破折号 “-” 或双破折号 “--” 开头,- 表示短格式,-- 表示长格式,例如:-? 和 --help 都表示 MySQL 程序显示他的帮助信息,操作命令如下:
    mysql -?
    mysql --help
  • 选项名称区分大小写。-v 和 -V 都是合法的,但是所表达的含义不同,它们分别是 --verbose(尽可能详细的显示结果) 和 --version 选项对应缩写的格式,操作命令如下:

    # 以下两个等价
    mysql --verbose
    mysql -v# 以下两个等价
    mysql --version
    mysql -V
  • 某些选项需要在后面指定一个值。例如:-h 127.0.0.1 或 --host=127.0.0.1 表示向客户端程序指定 MySQL 服务器主机,操作命令如下:

    mysql -h 127.0.0.1
    mysql --host=127.0.0.1
  • 对于带值的长格式选项,通常用 = 符号分隔选项名称和值,对于带值的短选项,选项值可以紧跟在选项之后,也可以用空格隔开,例如:--host=127.0.0.1、-h127.0.0.1、-h 127.0.0.1 这三种写法是等价的,但是对于密码选项的短格式,如果要指定密码,选项与值之间不可以有空格,解释如下:

    mysql -ptest   # test 表示密码,但没有指定要访问的数据库
    mysql -p test  # test 表示指定了访问的数据库,但是没有指定密码

    注意:在命令行中,第一个不带破折号 - 的值被解析成要访问的数据库名,所以 --database 选项一般可以省略。

  • 在选项名称中,破折号(-)和下划线(_)在大多数情况下可以互换使用,但是前导破折号不能转为下划线,例如:--skip-grant-tables 和 --skip_grant_tables 是等价的。

  • 对于采用数值的选项,该值可以带有后缀 K,M 或 G 以表示乘数 1024,1024^2 或 1024^3,命令示例如下:

    # 使用 mysqladmin 对服务器执行 1024 次 ping,每次 ping 之间休眠 3 秒
    mysqladmin --count=1k --sleep=3 ping -uroot -p
  • 在命令行中包含空格的选项值必须用引号引起来,例如:--execute(or -e)选项与 mysql 一起使用时,表示将一个或多个 SQL 语句发送给服务器执行并显示结果,命令执行过程及结果如下图所示:

3. mysql 客户端命令

        在我们使用 mysql 客户端程序连接到数据库服务器之后,可以发送 SQL 语句到服务器,并以“;”(分号)、\g 或 \G 结束,我们要注意以下几点:

  • ; 与 \g 结束表示以表格形式展示结果,效果如下图所示:

  • \G 结束表示以行形式展示结果,效果如下图所示:

  • 如果当前已经输入了一部分 SQL 语句想要重新输入,可以输入 Ctrl+C 中断当前输入,效果如下图所示:

        在当前的模式下,mysql 还有一组自己的命令,我们可以使用 help 或者 \h 查看命令列表,输入命令过程及结果如下图所示:

        下面我就对上面列出的全部命令中的部分命令做一个详细介绍及演示。

(1)connect(\r)

        这条指令所执行的操作是重新连接服务器,具体操作及效果如下图所示:

(2)status(\s)

        这条指令所执行的操作是查看服务器的状态,具体操作及效果如下图所示:

(3)delimiter(\d)

        这条指令所执行的操作是重新指定 SQL 语句的结束标识符,具体操作及效果如下图所示:

(4)exit 与 quit(\q)

        这两条指令的短格式都是 \q,它们所执行的操作都是一样的:退出 mysql 客户端程序,具体操作及效果如下图所示:

(5)tee(\T) 与 notee(\t)

        这两条指令是搭配使用的,指令 tee 所执行的操作是把所有执行结果保存到一个指定的文件中,指令 notee 所执行的操作是取消执行结果写入文件中,关于这两条指令的具体操作及效果如下图所示:

(6)prompt(\R)

        这条指令所执行的操作是修改提示符,具体操作及效果如下图所示:

(7)source(\.)

        这条指令所执行的操作是加载并执行指定的 .sql 脚本,具体操作及效果在下面再进行介绍。

(8)system(\!)

        这条指令所执行的操作是执行系统命令,属于一个比较危险的操作,具体操作及效果如下图所示:

(9)help contents 

        使用这个命令可以查看关于 MySQL 数据库使用的具体帮助,包括用户管理、SQL 语法、数据类型、组件等相关内容列表,具体操作及效果如下图所示:

        在 help 后面跟上具体要查看的条目,可以获取该条目的详细帮助信息,如:help Functions,操作及效果如下图所示:

        继续输入 help 具体的条目,可以进一步观察关于此条目的详细说明,例如:help String Functions,具体操作及效果如下图所示:

        还有很多其他的指令,感兴趣的友友们可以自己尝试一下咯~~

4.从 .sql 文件中执行 SQL语句

(1)使用 source 命令导入

        有时我们需要从 .sql 文件中执行一些 SQL 语句,比如当我们要把一个数据库从一台服务器 A 复制到另一台服务器 B 上,那么就可以先从服务器 A 中导出数据到 .sql 文件,然后在服务器 B 执行这个 .sql 文件,在上面我们介绍的命令中有 source(\.)命令,那么下面我们就来具体操作及演示一下这个命令。

        首先我们要先准备一个 .sql 文件,命名为 test_db.sql,内容如下:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;DROP DATABASE IF EXISTS `test_db`;
CREATE DATABASE `test_db` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;USE `test_db`;-- ----------------------------
-- Table structure for classes
-- ----------------------------
DROP TABLE IF EXISTS `classes`;
CREATE TABLE `classes`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`desc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of classes
-- ----------------------------
INSERT INTO `classes` VALUES (1, '计算机系2019级1班', '学习了计算机原理、C和Java语言、数据结构和算法');
INSERT INTO `classes` VALUES (2, '中文系2019级3班', '学习了中国传统文学');
INSERT INTO `classes` VALUES (3, '自动化2019级5班', '学习了机械自动化');-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES (1, 'Java');
INSERT INTO `course` VALUES (2, '中国传统文化');
INSERT INTO `course` VALUES (3, '计算机原理');
INSERT INTO `course` VALUES (4, '语文');
INSERT INTO `course` VALUES (5, '高阶数学');
INSERT INTO `course` VALUES (6, '英文');-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score`  (`score` decimal(3, 1) NULL DEFAULT NULL,`student_id` int(11) NULL DEFAULT NULL,`course_id` int(11) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES (70.5, 1, 1);
INSERT INTO `score` VALUES (98.5, 1, 3);
INSERT INTO `score` VALUES (33.0, 1, 5);
INSERT INTO `score` VALUES (98.0, 1, 6);
INSERT INTO `score` VALUES (60.0, 2, 1);
INSERT INTO `score` VALUES (59.5, 2, 5);
INSERT INTO `score` VALUES (33.0, 3, 1);
INSERT INTO `score` VALUES (68.0, 3, 3);
INSERT INTO `score` VALUES (99.0, 3, 5);
INSERT INTO `score` VALUES (67.0, 4, 1);
INSERT INTO `score` VALUES (23.0, 4, 3);
INSERT INTO `score` VALUES (56.0, 4, 5);
INSERT INTO `score` VALUES (72.0, 4, 6);
INSERT INTO `score` VALUES (81.0, 5, 1);
INSERT INTO `score` VALUES (37.0, 5, 5);-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (`id` int(11) PRIMARY KEY AUTO_INCREMENT,`sn` int(11) NOT NULL COMMENT '学号',`name` varchar(20) NOT NULL COMMENT '姓名',`mail` varchar(20) COMMENT 'QQ邮箱'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, 50001, '张三', 'zs@bit.com');
INSERT INTO `student` VALUES (2, 50002, '李四', 'ls@bit.com');
INSERT INTO `student` VALUES (3, 50003, '王五', 'ww@bit.com');
INSERT INTO `student` VALUES (4, 50004, '赵六', 'zl@bit.com');
INSERT INTO `student` VALUES (5, 50005, '钱七', 'qq@bit.com');SET FOREIGN_KEY_CHECKS = 1;

         然后我们要确定 .sql 文件的绝对路径:/root/test_db.sql,如下图所示:

        下面我们要确定当前数据库中没有数据库 test_db,查看我们当前数据库,如下图所示:

        进行完上面的操作之后,我们就可以使用 source 命令执行 .sql 文件中的 SQL 语句了,具体操作及效果如下图所示:

        现在我们来验证一下执行的 SQL 语句是否成功,如下图所示:

(2)使用 mysql 客户端导入

        除了上述的执行 .sql 文件的方式,还有一种就是直接使用 mysql 客户端程序导入 .sql 文件并执行相应的 SQL 语句,相关命令如下:

# 在指定的数据库下执行 SQL,前提是数据库必须提前建立好
mysql db_name < text_file# 不指定数据库 .sql 中必须有 use [database_name],来指定要操作的数据库
mysql < text_file

        具体操作及效果如下图所示:

        我们可以根据我们的需求来选择执行 .sql 文件中 SQL 语句的方式。

·总结

        文章到此就要结束了,本篇文章重点介绍了 mysql 客户端程序中一些常用的命令及选项,还介绍了一下 MySQL 的相关程序,后面文章中会对其他程序再做详细介绍,如果对文章内容有所疑惑,欢迎在评论区进行留言,如果感觉本篇文章还不错希望能收到你的三连支持,那么我们下一篇文章再见吧~~~

相关文章:

MySQL —— MySQL 程序

目录 前言 一、MySQL 程序简介 二、mysqld -- MySQL 服务器 三、mysql -- MySQL 客户端 1. mysql 客户端简介 2. mysql 客户端选项 &#xff08;1&#xff09;指定选项的方式 &#xff08;2&#xff09;mysql 客户端命令常用选项 &#xff08;3&#xff09;在命令行中使…...

AI蛋白质设计与人工智能药物设计

AI蛋白质设计与人工智能药物设计 AI蛋白质设计 一、蛋白质相关的深度学习简介 1.基础概念 1.1.机器学习简介&#xff1a;从手写数字识别到大语言模型 1.2.蛋白质结构预测与设计回顾 1.3.Linux简介 1.4.代码环境&#xff1a;VS code和Jupyter notebook* 1.5.Python关键概…...

Java基础之控制语句:开启编程逻辑之门

一、Java控制语句概述 Java 中的控制语句主要分为选择结构、循环结构和跳转语句三大类&#xff0c;它们在程序中起着至关重要的作用&#xff0c;能够决定程序的执行流程。 选择结构用于根据不同的条件执行不同的代码路径&#xff0c;主要包括 if 语句和 switch 语句。if 语句有…...

安装Fcitx5输入框架和输入法自动部署脚本(来自Mark24)-Ubuntu通用

在Ubuntu22.04上安装rime中文输入法的基本教程 上述文章接近废弃。 使用新逻辑配置基本的Fcitx5的输入法。 安装 第一步&#xff0c;下载相关组件 sudo nala install vim sudo nala install ruby sudo nala install fcitx5-rime第二步&#xff0c;设置语言为Fcitx5 而非 默认…...

软件无线电(SDR)的架构及相关术语

今天简要介绍实现无线电系统调制和解调的主要方法&#xff0c;这在软件定义无线电(SDR)的背景下很重要。 外差和超外差 无线电发射机有两种主要架构——一种是从基带频率直接调制到射频频率&#xff08;称为外差&#xff09;&#xff0c;而第二种超外差是通过两个调制阶段来实…...

刷题分享11_30

刷题分享 1.(力扣216)这是一道回溯算法的经典题目。对于回溯算法&#xff0c;一般backtracking是没有返回值的&#xff0c;参数也比较不固定&#xff0c;需要根据每个题的特点来具体分析。这道题因为不能取到重复元素&#xff0c;所以需要额外加一个参数startindex&#xff0c;…...

Java技术复习提升 17反射

本章涉及到框架开发中必用的反射以及常用方法 很重要 注重理解并实践 第17章 反射 17.1 一个需求引出反射 package com.fsl; public class Cat {private String name "招财猫";public int age 10; //public的public Cat() {} //无参构造器public Cat(String name)…...

Python中的字符串

Python中的字符串 在Python中&#xff0c;字符串是用于表示文本数据的基本数据类型。字符串可以包含字母、数字、符号和空格等字符。Python提供了多种方式来定义和操作字符串。 字符串的定义 在Python中&#xff0c;字符串可以用单引号 或双引号 "" 括起来。例如…...

B站狂神说Mybatis+Spring+SpringMVC整合理解(ssm框架整合)

文章目录 0.写在前面(对mybatis,spring的理解)&#xff08;不看可跳过&#xff09;0.1 为什么需要mybatis0.2 为什么需要spring0.3为什么需要springmvc 1.新建ssmbuild数据库2.新建Maven项目3.初始化步骤3.1 配置下载maven依赖&#xff0c;构建资源导出3.2 连接数据库3.3建包&a…...

python:文件操作

一、文件路径 在Windows系统中&#xff0c;每个磁盘都有自己的根目录&#xff0c;用分区名加反斜杠来表示。我们定位文件的位置有两种方法&#xff0c;一种是绝对路径&#xff0c;另一种是相对路径。绝对路径是从根目录出发的路径&#xff0c;路径中的每个路径之间用反斜杠来分…...

ECharts柱状图-极坐标系下的堆叠柱状图,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个柱状图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供…...

HDMI协议

HDMI设计3--HDMI 1.4/2.0 Transmitter Subsystem IP - 皮皮祥 - 博客园 HDMI设计4--HDMI 1.4/2.0 Receiver Subsystem IP - 皮皮祥 - 博客园 HDMI协议 - 标签 - 皮皮祥 - 博客园...

SpringBoot集成Flowable

一、工作流介绍 1、概念 通过计算机对业务流程的自动化管理。工作流是建立在业务流程的基础上&#xff0c;一个软件的系统核心根本上还是系统的业务流程&#xff0c;工作流只是协助进行业务流程管理。 解决的是&#xff1a;在多个参与者之间按照某种预定义的规则自动进行传递文…...

五,[GXYCTF2019]Ping Ping Ping1

进入靶场&#xff0c;有提示 我们在url试着输入本地IP&#xff0c;返回了ping命令 既然要在url处传参&#xff0c;那就用postman&#xff0c;再输入ip127.0.0.1 & ls&#xff0c;试着列出目录内容 ok&#xff0c;好像是个脏话,它过滤了空格 试着穿越又看到了脏话&#xff0…...

Linux -初识 与基础指令1

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【Linux】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4da; 前言&#x1f5a5;️ 初识&#x1f510; 登录 root用户&#x1f465; 两种用户➕ 添加用户&#x1f9d1;‍&#x1f4bb; 登录 普通用户⚙️ 常见…...

单片机学习笔记 12. 定时/计数器_定时

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…...

采用片上光学相控阵的激光雷达

激光雷达基础知识 LIDAR 基于众所周知的 RADAR 原理雷达是20世纪初就存在的著名技术激光雷达使用光频率而不是无线电波 激光雷达和雷达 使用相控阵的激光雷达通过干涉来提高方向性 激光雷达的输出剖面是阵列因子和单天线远场的乘积。 N &#xff1a;天线数量 k &#xff1a;…...

LeetCode Hot100 11~20

目录 子串11. 滑动窗口最大值12. 最小覆盖子串 数组13. 最大子数组和14. 合并区间15. 翻转数组16. 除数字自身以外的乘积17. 缺失的第一个正数 矩阵18. 矩阵置零19. 螺旋矩阵20 旋转图像90度 子串 11. 滑动窗口最大值 本题使用deque来维护一个单调队列 注意删除元素和添加元素…...

泰州榉之乡全托机构探讨:自闭症孩子精细动作训练之法

当发现自闭症孩子精细动作落后时&#xff0c;家长们往往会感到担忧和困惑。那么&#xff0c;自闭症孩子精细动作落后该如何训练呢&#xff1f;今天&#xff0c;泰州榉之乡全托机构就来为大家详细解答。 榉之乡大龄自闭症托养机构在江苏、广东、江西等地都有分校&#xff0c;一直…...

Mybatis:CRUD数据操作之修改数据update

Mybatis基础环境准备请看&#xff1a;Mybatis基础环境准备 本篇讲解Mybati数据CRUD数据操作之修改数据 用户在该页面书写需要修改的数据&#xff0c;点击 提交 按钮&#xff0c;就会将数据库中对应的数据进行修改。注意一点&#xff0c;如果哪儿个输入框没有输入内容&#xff…...

模拟器快速上手,助力HarmonyOS应用/服务高效开发

文章目录 1 创建模拟器1&#xff09;打开设备管理界面2&#xff09;设置本地模拟器实例存储路径3&#xff09;创建一个模拟器&#xff08;1&#xff09;选择模拟器设备&#xff08;2&#xff09;创建模拟器&#xff08;3&#xff09;启动模拟器&#xff08;4&#xff09;关闭模…...

ERROR in [eslint] Invalid Options ‘extensions‘ has been removed.

看着这个报错 感觉是版本不对引起的 ERROR in [eslint] Invalid Options: - Unknown options: extensions - extensions has been removed. ERROR in Error: Child compilation failed: [eslint] Invalid Options: - Unknown options: extensions - extensions has b…...

40分钟学 Go 语言高并发:GC原理与优化

GC原理与优化 一、GC基础知识概览 方面核心概念重要性优化目标GC算法三色标记法、并发GC⭐⭐⭐⭐⭐理解GC工作原理垃圾回收策略触发条件、回收步骤⭐⭐⭐⭐⭐掌握GC过程GC调优参数设置、性能监控⭐⭐⭐⭐优化GC效果内存管理内存分配、内存逃逸⭐⭐⭐⭐⭐减少内存压力 让我们…...

【UG\NX二次开发-Block UI】指定方位 VisibleManipulatorHandles 设置控制器手柄可见

特定于块属性 VisibleManipulatorHandles 值 Origin 0x1 原点 Ratate X 0x10 旋转 Ratate Y 0x20 Ratate Z 0x40 Translate X 0x2 平移 Translate Y 0x4 Translate Z 0…...

【Spring】聊聊@EventListener注解原理

1.一个Demo出发 在平时的开发中&#xff0c;其实编写同步线程代码是比较容易的&#xff0c;但是如何将一些操作和另外一些操作进行解除耦合&#xff0c;而事件方式 是一种很好的解耦合方式&#xff0c;比如当一个用户注销一个APP之后&#xff0c;需要发送一些短信 让他引流回来…...

Online Judge——【前端项目初始化】全局状态管理

状态管理&#xff1a;所有页面全局共享的变量&#xff0c;而不是局限在某一个页面中。 适合作为全局状态的数据&#xff1a;比如已登录用户信息。 目录 一、创建user.ts文件二、定义user模块三、获取静态变量四、修改状态变量 一、创建user.ts文件 我们要实现状态管理的话&am…...

微信小程序构建npm失败,没有找到可以构建的npm包

方法&#xff1a;打开终端输入 npm init -y npm install 或 yarn install我用 npm install 下载后并没有出现node_modules, 又用 yarn install 下载&#xff0c;成功了 下载好后&#xff0c;在project.config.json文件添加 "showShadowRootInWxmlPanel": true, …...

《数字图像处理基础》学习07-图像几何变换之最近邻插值法放大图像

目录 一&#xff0c;概念 二&#xff0c;题目及matlab实现 1&#xff0c;解题思路 2&#xff0c;matlab实现 1&#xff09;matlab思路 2&#xff09;完整代码 三&#xff0c;放大图像及matlab实现 一&#xff0c;概念 通过上一篇&#xff0c;我已经学习了使用最邻近插…...

科技为翼 助残向新 高德地图无障碍导航规划突破1.5亿次

今年12月03日是第33个国际残疾人日。在当下科技发展日新月异的时代&#xff0c;如何让残障人士共享科技红利、平等地参与社会生活&#xff0c;成为当前社会关注的热点。 中国有超过8500万残障人士&#xff0c;其中超过2400万为肢残人群&#xff0c;视力障碍残疾人数超过1700万…...

数据结构——有序二叉树的构建遍历查找

树节点 先定义树节点结构&#xff0c;代码如下&#xff1a; package tree;public class TreeNode {public int data;public TreeNode left;public TreeNode right;//数据的类型决定数据在内存中的存储形式,//这样可以接受本类型的数据public TreeNode(int data) {this.datada…...

React 状态管理:Redux 和 MobX 的对比与选择

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

CSDN设置成黑色背景(谷歌 Edge)

一.谷歌浏览器 浏览器地址输入&#xff1a;Chrome://flags搜索框输入&#xff1a;enable-force-dark将default 改成 enabled&#xff0c;点击重启浏览器 二.Edge浏览器 浏览器地址输入&#xff1a;edge://flags搜索里面输入Auto Dark Mode for Web Contents将default 改成 e…...

SAP Native SQL 的简单说明

Open SQL访问数据字典中声明的数据库表&#xff0c;不区分数据库类型&#xff0c;执行时会自动转换为对应的语句&#xff0c;且可以使用本地缓存。Native SQL使用特定于数据库的SQL语句,但是可以访问比Open SQL 更多的表&#xff0c;更多的操作&#xff0c;缺点也很明显&#x…...

shodan2-批量查找CVE-2019-0708漏洞

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…...

LabVIEW实现RS485通信

目录 1、RS485通信原理 2、硬件环境部署 3、串口通信函数 4、程序架构 5、前面板设计 6、程序框图设计 7、测试验证 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和常…...

【分页查询】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...

【QT入门到晋级】QT项目打生产环境包--(Linux和window)

前言 使用QTcreator完成正常编译后&#xff0c;在构建目录中有可执行程序生成&#xff0c;如果直接把可执行程序拷贝到干净的生产环境上是无法运行成功的&#xff0c;使用ldd&#xff08;查看程序依赖包&#xff09;会发现缺失很多QT的特性包&#xff0c;以及将介绍国产Linux桌…...

Milvus×Florence:一文读懂如何构建多任务视觉模型

近两年来多任务学习&#xff08;Multi-task learning&#xff09;正取代传统的单任务学习&#xff08;single-task learning&#xff09;&#xff0c;逐渐成为人工智能领域的主流研究方向。其原因在于&#xff0c;多任务学习可以让我们以最少的人力投入&#xff0c;获得尽可能多…...

深入理解异步编程:使用 `asyncio` 和 `aiohttp` 进行并发请求

深入理解异步编程&#xff1a;使用 asyncio 和 aiohttp 进行并发请求 1. 异步编程简介2. 代码结构概览3. 代码详解3.1 fetch 函数3.2 fetch_all 函数3.3 main 函数3.4 主程序 4. 性能分析5. 总结 在现代的Web开发中&#xff0c;性能优化是一个非常重要的课题。特别是在处理大量…...

C++之虚函数

对基类中的方法进行重写&#xff1b; 主要是通过继承机制 V 表实现&#xff1b; 虚函数的引入与不加入虚函数的主要区别在于 动态多态性。通过将 Entity 类的 GetName 函数声明为 virtual&#xff0c;可以实现 运行时多态&#xff0c;这意味着程序会根据对象的实际类型调用相应…...

buildroot 制作Linux嵌入式文件系统,并添加telnet 以及ssh

在开始配置前&#xff0c;我们需要了解SSH和Telnet的基本概念。SSH&#xff08;Secure Shell&#xff09;为加密的网络协议&#xff0c;用于在不安全的网络中执行命令并管理网络服务。相对于SSH&#xff0c;Telnet是一个老旧且非加密的协议&#xff0c;用于进行远程登录 sshd 服…...

(Linux 系统)进程控制

目录 一、进程创建 1、fork函数初识 二、进程终止 1、正常终止 2、异常终止 三、进程等待 1、进程等待必要性 2、进程等待的方法&#xff1a; 四、获取子进程status 1、基本概念 2、进程的阻塞等待方式 3、进程的非阻塞等待方式 五、进程程序替换 1、六种替换函数…...

Redis进行性能优化可以考虑的一些策略

选择合适的数据结构 根据实际的需求选择合适的数据结构&#xff0c;以高效地访问和存储多个属性。 比如如果你需要存储用户的多个属性&#xff0c;如用户名、邮箱等&#xff0c;使用哈希可以比使用多个字符串键值对更节省内存 避免大key/value 较大地key和value会占用更多的…...

win10系统部署RAGFLOW+Ollama教程

本篇主要基于linux服务器部署ragflowollama&#xff0c;其他操作系统稍有差异但是大体一样。 一、先决条件 CPU ≥ 4核&#xff1b; RAM ≥ 16 GB&#xff1b; 磁盘 ≥ 50 GB&#xff1b; Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1。 如果尚未在本地计算机&#xff…...

新型大语言模型的预训练与后训练范式,Meta的Llama 3.1语言模型

前言&#xff1a;大型语言模型&#xff08;LLMs&#xff09;的发展历程可以说是非常长&#xff0c;从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初&#xff0c;LLM的训练过程只关注预训练&#xff0c;但后来逐步扩展到了包括预训练和后训练在内的完整…...

【Spark源码分析】规则框架-草稿

规则批&#xff1a;规则集合序列&#xff0c;由名称、执行策略、规则列表组成。一个规则批里使用一个执行规则。 执行策略 FixedPointOnce 规则&#xff1a; #mermaid-svg-1cvqR4xkYpMuAs77 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px…...

力扣第 77 题 组合

题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按任意顺序返回答案。 示例 示例 1 输入&#xff1a; n 4, k 2输出&#xff1a; [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]示例 2 输入&#xff1a; n 1, k …...

postman中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等

在Postman中&#xff0c;您可以使用内置的动态变量和编写脚本的方式来获取随机数、唯一ID、时间日期以及截取指定位数的字符。以下是具体的操作方法&#xff1a; 一、postman中获取随机数、唯一ID、时间日期&#xff08;包括当前日期增减&#xff09;截取指定位数的字符等 获取…...

【汇编】逻辑指令

文章目录 一、逻辑运算指令&#xff08;一&#xff09;各逻辑运算指令格式及操作&#xff08;1&#xff09;逻辑非指令 NOT&#xff08;2&#xff09;逻辑与指令 AND&#xff08;3&#xff09;逻辑或指令 OR&#xff08;4&#xff09;异或指令 XOR&#xff08;5&#xff09;测试…...

LinkedList的了解

一、LinkedList的定义与类型 Java中的LinkedList类是一个双向链表&#xff08;Doubly Linked List&#xff09;。与单向链表&#xff08;Singly Linked List&#xff09;不同&#xff0c;双向链表中的每个节点不仅包含指向下一个节点的引用&#xff0c;还包含指向前一个节点的…...