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优化与性能——数据库设计优化
数据库设计优化是提高数据库性能、确保数据一致性和支持业务增长的关键环节。无论是大型企业应用还是小型项目,合理的数据库设计都能够显著提升系统性能、减少冗余数据、优化查询响应时间,并降低维护成本。本章将深入探讨数据库设计中的几个关键技术要点…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...