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 程序及作用如下表所示:
程序名 | 作用 |
---|---|
mysqld | MySQL 的守护进程即 MySQL 服务器,要使用 MySQL 服务器 mysqld 必须正在运行状态。 |
mysql | MySQL 客户端程序,用于交互式输入 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 | -P | TCP/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 客户端选项 (1)指定选项的方式 (2)mysql 客户端命令常用选项 (3)在命令行中使…...
LLamafactory API部署与使用异步方式 API 调用优化大模型推理效率
文章目录 背景介绍第三方大模型API 介绍LLamafactory 部署API大模型 API 调用工具类项目开源 背景介绍 第三方大模型API 目前,市面上有许多第三方大模型 API 服务提供商,通过 API 接口向用户提供多样化的服务。这些平台不仅能提供更多类别和类型的模型…...
不玩PS抠图了,改玩Python抠图
网上找了两个苏轼的印章图片: 把这两个印章抠出来的话,对于不少PS高手来说是相当容易,但是要去掉其中的水印,可能要用仿制图章慢慢描绘,图章的边缘也要慢慢勾画或者用通道抠图之类来处理,而且印章的红色也不…...
三维渲染中顺序无关的半透明混合(OIT)(一Depth Peeling)
>本文收集关于透明对象渲染技术中关于OIT技术的资料,尝试用简单的逻辑对这些内容进行整理。 1、透明对象的特殊对待 不要小瞧png图片和jpg图片的差异!在一般的三维平台,png代表的是带透明通道的纹理,而jpg代表的是不带透明的…...
Linux零基础入门--Makefile和make--纯干货无废话!!
目录 Makefile的概念与使用 Makefile的编写 多个源文件的Makefile编写 Makefile的概念与使用 Makefile其实是linux中的一种包含构建指令的文件,用于自动化构建 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefi…...
vim编辑器的一些配置和快捷键
记录vim编辑器的一些配置和快捷键,边学边用: yy 复制dd 删除p:粘贴ctrly 取消撤销u:撤销:w 写入:q 退出a/i 插入O: 上方插入一个空行o:下方插入一个空行:e 打开文件编辑 其他配置: 上移一行和下移一行&a…...
电子应用设计方案-31:智能AI音响系统方案设计
智能 AI 音响系统方案设计 一、引言 智能 AI 音响作为一种新兴的智能家居设备,通过融合语音识别、自然语言处理、音频播放等技术,为用户提供便捷的语音交互服务和高品质的音乐体验。本方案旨在设计一款功能强大、性能稳定、用户体验良好的智能 AI 音响系…...
【设计模式】【结构型模式(Structural Patterns)】之装饰模式(Decorator Pattern)
1. 设计模式原理说明 装饰模式(Decorator Pattern) 是一种结构型设计模式,它允许在不改变对象接口的前提下,动态地给对象增加额外的责任或功能。这种模式创建了一个装饰类,用于包装原有的类,并在保持类方法…...
【AI】JetsonNano启动时报错:soctherm OC ALARM
1、问题描述 将JetsonNano烧写SD卡镜像为Ubuntu20.04后,启动时报错:soctherm OC ALARM,启动失败;然后系统一直重启 2、原因分析 “soctherm OC ALARM”是检测到系统温度超过安全阈值时发出的过热警告。 “soctherm”代表系统…...
QT:生成二维码 QRCode
目录 1.二维码历史2.QT源码3.界面展示4.工程源码链接 1.二维码历史 二维码(2-Dimensional Bar Code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。它是指在一维条码…...
【LeetCode刷题之路】120:三角形最小路径和的两种解法(动态规划优化)
LeetCode刷题记录 🌐 我的博客主页:iiiiiankor🎯 如果你觉得我的内容对你有帮助,不妨点个赞👍、留个评论✍,或者收藏⭐,让我们一起进步!📝 专栏系列:LeetCode…...
神经网络中常见的激活函数Sigmoid、Tanh和ReLU
激活函数在神经网络中起着至关重要的作用,它们决定了神经元的输出是否应该被激活以及如何非线性地转换输入信号。不同的激活函数适用于不同的场景,选择合适的激活函数可以显著影响模型的性能和训练效率。以下是三种常见的激活函数:Sigmoid、T…...
适用于学校、医院等低压用电场所的智能安全配电装置
引言 电力,作为一种清洁且高效的能源,极大地促进了现代生活的便捷与舒适。然而,与此同时,因使用不当或维护缺失等问题,漏电、触电事件以及电气火灾频发,对人们的生命安全和财产安全构成了严重威胁…...
基于python爬虫的智慧人才数据分析系统
废话不多说,先看效果图 更多效果图可私信我获取 源码分享 import os import sysdef main():"""Run administrative tasks."""os.environ.setdefault(DJANGO_SETTINGS_MODULE, 智慧人才数据分析系统.settings)try:from django.core.m…...
LeetCode-315. Count of Smaller Numbers After Self
目录 题目描述 解题思路 【C】 【Java】 复杂度分析 LeetCode-315. Count of Smaller Numbers After Selfhttps://leetcode.com/problems/count-of-smaller-numbers-after-self/description/ 题目描述 Given an integer array nums, return an integer array counts whe…...
根据导数的定义计算导函数
根据导数的定义计算导函数 1. Finding derivatives using the definition (使用定义求导)1.1. **We want to differentiate f ( x ) 1 / x f(x) 1/x f(x)1/x with respect to x x x**</font>1.2. **We want to differentiate f ( x ) x f(x) \sqrt{x} f(x)x wi…...
WPF关于打开新窗口获取数据的回调方法的两种方式
一种基于消息发送模式 一种基于回调机制 基于消息发送模式 父页面定义接收的_selectedPnNumberStandarMsg保证是唯一 Messenger.Default.Register<PlateReplaceApplyModel>(this, _selectedPnNumberStandarMsgToken, platePnNumberModel > { …...
复杂网络(四)
一、规则网络 孤立节点网络全局耦合网络(又称完全网络)星型网络一维环二维晶格 编程实践: import networkx as nx import matplotlib.pyplot as pltn 10 #创建孤立节点图 G1 nx.Graph() G1.add_nodes_from(list(range(n))) plt.figure(f…...
用MATLAB符号工具建立机器人的动力学模型
目录 介绍代码功能演示拉格朗日方法回顾求解符号表达式数值求解 介绍 开发机器人过程中经常需要用牛顿-拉格朗日法建立机器人的动力学模型,表示为二阶微分方程组。本文以一个二杆系统为例,介绍如何用MATLAB符号工具得到微分方程表达式,只需要…...
SQL优化与性能——数据库设计优化
数据库设计优化是提高数据库性能、确保数据一致性和支持业务增长的关键环节。无论是大型企业应用还是小型项目,合理的数据库设计都能够显著提升系统性能、减少冗余数据、优化查询响应时间,并降低维护成本。本章将深入探讨数据库设计中的几个关键技术要点…...
FPGA存在的意义:为什么adc连续采样需要fpga来做,而不会直接用iic来实现
FPGA存在的意义:为什么adc连续采样需要fpga来做,而不会直接用iic来实现 原因ADS111x连续采样实现连续采样功能说明iic读取adc的数据速率 VS adc连续采样的速率adc连续采样的速率iic读取adc的数据速率结论分析 FPGA读取adc数据问题一:读取adc数…...
我们来学mysql -- 事务之概念(原理篇)
事务的概念 题记一个例子一致性隔离性原子性持久性 题记 在漫长的编程岁月中,存在一如既往地贯穿着工作,面试的概念这类知识点,事不关己当然高高挂起,精准踩坑时那心情也的却是日了🐶请原谅我的粗俗,遇到B…...
基于特征子空间的高维异常检测:一种高效且可解释的方法
本文将重点探讨一种替代传统单一检测器的方法:不是采用单一检测器分析数据集的所有特征,而是构建多个专注于特征子集(即子空间)的检测器系统。 在表格数据的异常检测实践中,我们的目标是识别数据中最为异常的记录,这种异常性可以…...
看不见的彼方:交换空间——小菜一碟
有个蓝色的链接,先去看看两年前的题目的write up (https://github.com/USTC-Hackergame/hackergame2022-writeups/blob/master/official/%E7%9C%8B%E4%B8%8D%E8%A7%81%E7%9A%84%E5%BD%BC%E6%96%B9/README.md) 从别人的write up中了解到&…...
YOLO模型训练后的best.pt和last.pt区别
在选择YOLO模型训练后的权重文件best.pt和last.pt时,主要取决于具体的应用场景:12 best.pt:这个文件保存的是在训练过程中表现最好的模型权重。通常用于推理和部署阶段,因为它包含了在验证集上表现最好的模型权重&#x…...
Pareidoscope - 语言结构关联工具
文章目录 关于 Pareidoscope安装使用方法输入格式语料库查询 将语料库转换为 SQLite3 数据库两种语言结构之间的关联简单词素分析关联共现和伴随词素分析相关的更大结构可视化关联结构 关于 Pareidoscope Pareidoscope 是一组 用于确定任意语言结构之间 关联的工具,…...
GPT(Generative Pre-trained Transformer) 和 Transformer的比较
GPT(Generative Pre-trained Transformer) 和 Transformer 的比较 flyfish 1. Transformer 是一种模型架构 Transformer 是一种通用的神经网络架构,由 Vaswani 等人在论文 “Attention Is All You Need”(2017)中提…...
软件无线电(SDR)的架构及相关术语
今天简要介绍实现无线电系统调制和解调的主要方法,这在软件定义无线电(SDR)的背景下很重要。 外差和超外差 无线电发射机有两种主要架构——一种是从基带频率直接调制到射频频率(称为外差),而第二种超外差是通过两个调制阶段来实…...
Python将Excel文件转换为JSON文件
工作过程中,需要从 Excel 文件中读取数据,然后交给 Python 程序处理数据,中间需要把 Excel 文件读取出来转为 json 格式,再进行下一步数据处理。 这里我们使用pandas库,这是一个强大的数据分析工具,能够方便地读取和处理各种数据格式。需要注意的是还需要引入openpyxl库,…...
排序算法之选择排序篇
思想: 每次从未排序的部分找出最小的元素,将其放到已排序部分的末尾 从数据结构中找到最小值,放到第一位,放到最前面,之后再从剩下的元素中找出第二小的值放到第二位,以此类推。 实现思路: 遍…...
免费建网站软件系统/广州专做优化的科技公司
http://172.20.6.3/Problem_Show.asp?id1237 锻炼搜索的代码能力,不错的题。开始对dfs到底向下传递什么搞不清楚,需要想一下,noip难度的题还有这种情况,果然还是太蒻。代码1 #include<cstdio>2 #include<cstring>3 #…...
贺州招聘网站建设/淘宝产品关键词排名查询
由Matt Heusser和Markus Grtner合著的“Save our Scrum”一书为实施Scrum的团队提供了建议。书中探讨了对于实施Scrum有困难的团队,他们可以做什么才能摆脱困境,并找到更好的方法来使用Scrum。\InfoQ读者可以下载本书的一份样本,并使用该优惠…...
网站服务器租用需要什么材料/营销推广策略有哪些
计算机等级考试《二级Java语言程序设计》题库 完整版:http://zgw.100xuexi.com/SubItem/IndexInfoDetail.aspx?ide63f251c-31b8-4493-b618-8cbd15d6db9c...
程序员做游戏还是做网站好/如何做网站推广广告
如果面试官问你,类加载过程是哪几步? 巴拉巴拉巴拉…(加载、验证、准备、解析、初始化) 见这小伙子面容惊奇,脸泛红光,不由自主地就问了一下双亲委派模型说一下吧;遇见没准备充分的,…...
网站开发主流框架/百度官网推广
1、如果只增加集群的存储量,建议增加Hadoop datanode节点。 方法: 停掉集群包括hadoop和hbase,当然也可以不停掉,直接在hadoop namenode的配置文件Slave里添加新节点的host,别忘了在host文件里也要添加新添加的host名…...
免费空间访问/seo搜索优化推广
【IT168 专稿】存储是目前IT产业发展的一大热点,而RAID技术是构造高性能、海量存储的基础技术,也是构建网络存储的基础技术。专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度可以提高磁盘的性能和数据安全…...