5.16 用短语来进行fulltext查询

mysql> select count(*) from kjv where match(vtext) against('God');
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)mysql> select count(*) from kjv where match(vtext) against('sin');
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)mysql> select count(*) as 'total verses',->          count(if (vtext like '%God', 1, null)) as 'verses containing "God"',->          count(if (vtext like '%sin', 1, null)) as 'verses containing "sin"'-> from kjv;
+--------------+-------------------------+-------------------------+
| total verses | verses containing "God" | verses containing "sin" |
+--------------+-------------------------+-------------------------+
|        31102 |                       0 |                       0 |
+--------------+-------------------------+-------------------------+
1 row in set (0.72 sec)mysql> SELECT->     COUNT(*) AS 'total verses',->     COUNT(IF(vtext LIKE '%God%', 1, NULL)) AS 'verses containing "God"',->     COUNT(IF(vtext LIKE '%sin%', 1, NULL)) AS 'verses containing "sin"'-> FROM kjv;
+--------------+-------------------------+-------------------------+
| total verses | verses containing "God" | verses containing "sin" |
+--------------+-------------------------+-------------------------+
|        31102 |                    4118 |                    1292 |
+--------------+-------------------------+-------------------------+
1 row in set (0.69 sec)
•	修改后的查询采用LIKE '%God%'LIKE '%sin%'。
o	%God%能够匹配包含 "God" 的所有字符串,不管 "God" 是在开头、中间,还是结尾,比如 "God is good" "Good is God" "Thank God" 都能被匹配。
o	%sin%同理,能匹配所有包含 "sin" 的字符串,像 "sin is bad" "bad is sin" "original sin" 都符合要求。
总结
•	错误原因:原查询的条件过于严格,要求目标词汇必须出现在文本末尾,导致大量符合条件的经文被遗漏。
•	解决办法:在搜索词前后都加上%通配符,放宽匹配条件,确保包含目标词汇的所有经文都能被统计到。--修改配置文件/etc/my.cnf 或者D:\software\MySql\Data\my.ini
[mysqld]
ft_min_word_len=3;--重启服务器启用新的设置
mysql> ALTER TABLE kjv ENGINE=InnoDB;
Query OK, 31102 rows affected (3.31 sec)
Records: 31102  Duplicates: 0  Warnings: 0mysql> SHOW VARIABLES LIKE 'ft_min_word_len';  -- 应显示 3
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| ft_min_word_len | 4     |
+-----------------+-------+
1 row in set, 1 warning (0.00 sec)mysql> SELECT count(*) FROM kjv WHERE MATCH(vtext) AGAINST('God');
+----------+
| count(*) |
+----------+
|     3893 |
+----------+
1 row in set (0.01 sec)mysql> select count(*) from kjv where match(vtext) against('sin');
+----------+
| count(*) |
+----------+
|      389 |
+----------+
1 row in set (0.00 sec)
1.	InnoDB 引擎的特殊行为:
o	InnoDB 引擎在某些版本中,即使 ft_min_word_len=4,对于 停用词列表之外 的短词(如 "God")仍会进行索引。
o	你之前通过 ft_stopword_file="" 禁用了停用词,使得 "God" 能被索引,而 MyISAM 引擎可能更严格地遵循 ft_min_word_len。
2.	数据转换的副作用:
o	ALTER TABLE ... ENGINE=InnoDB 会重建整个表,这个过程可能隐式地重建了符合当前配置的全文索引。

5.17 要求或禁止fulltext搜索单词

mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('David Goliath');
+----------+
| COUNT(*) |
+----------+
|      972 |
+----------+
1 row in set (0.00 sec)mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('David')-> and match(vtext) against('Goliath');
+----------+
| COUNT(*) |
+----------+
|        2 |
+----------+
1 row in set (0.01 sec)mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('David  +Goliath' in boolean mode);
+----------+
| COUNT(*) |
+----------+
|        6 |
+----------+
1 row in set (0.00 sec)mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('+David  -Goliath' in boolean mode);
+----------+
| COUNT(*) |
+----------+
|      966 |
+----------+
1 row in set (0.00 sec)mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('-David  +Goliath' in boolean mode);
+----------+
| COUNT(*) |
+----------+
|        4 |
+----------+
1 row in set (0.00 sec)mysql> SELECT COUNT(*) FROM kjv WHERE MATCH(vtext) AGAINST('Whirl*' in boolean mode);
+----------+
| COUNT(*) |
+----------+
|       28 |
+----------+
1 row in set (0.00 sec)5.18 用fulltext索引来执行词组查询mysql> select count(*) from kjv where match(vtext) against('still small voice');
+----------+
| count(*) |
+----------+
|      640 |
+----------+
1 row in set (0.00 sec)mysql> select count(*) from kjv where match(vtext) against('still small voice' in boolean mode);
+----------+
| count(*) |
+----------+
|      640 |
+----------+
1 row in set (0.00 sec)mysql> select count(*) from kjv where match(vtext) against('"still small voice"' in boolean mode);
+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

第6章:使用日期和时间
6.0 引言
6.1 选择合适的日期或者时间变量类型

--创建表、初始化数据
DROP TABLE IF EXISTS date_val;
CREATE TABLE date_val
(d DATE
);INSERT INTO date_val (d) VALUES('1864-02-28');
INSERT INTO date_val (d) VALUES('1900-01-15');
INSERT INTO date_val (d) VALUES('1987-03-05');
INSERT INTO date_val (d) VALUES('1999-12-31');
INSERT INTO date_val (d) VALUES('2000-06-04');DROP TABLE IF EXISTS datetime_val;
CREATE TABLE datetime_val
(dt  DATETIME
);INSERT INTO datetime_val (dt) VALUES('1970-01-01 00:00:00');
INSERT INTO datetime_val (dt) VALUES('1987-03-05 12:30:15');
INSERT INTO datetime_val (dt) VALUES('1999-12-31 09:00:00');
INSERT INTO datetime_val (dt) VALUES('2000-06-04 15:45:30');DROP TABLE IF EXISTS time_val;
CREATE TABLE time_val
(t1  TIME,t2  TIME
);INSERT INTO time_val (t1,t2) VALUES('15:00:00','15:00:00');
INSERT INTO time_val (t1,t2) VALUES('05:01:30','02:30:20');
INSERT INTO time_val (t1,t2) VALUES('12:30:20','17:30:45');DROP TABLE IF EXISTS time_val;
CREATE TABLE time_val
(t1  TIME,t2  TIME
);INSERT INTO time_val (t1,t2) VALUES('15:00:00','15:00:00');
INSERT INTO time_val (t1,t2) VALUES('05:01:30','02:30:20');
INSERT INTO time_val (t1,t2) VALUES('12:30:20','17:30:45');DROP TABLE IF EXISTS timestamp_val;
CREATE TABLE timestamp_val
(ts  TIMESTAMP
);INSERT INTO timestamp_val (ts) VALUES('1970-01-01 09:00:00');
INSERT INTO timestamp_val (ts) VALUES('1987-03-05 12:30:15');
INSERT INTO timestamp_val (ts) VALUES('1999-12-31 09:00:00');
INSERT INTO timestamp_val (ts) VALUES('2000-06-04 15:45:30');
--查看数据mysql> select * from date_val;
+------------+
| d          |
+------------+
| 1864-02-28 |
| 1900-01-15 |
| 1999-12-31 |
| 2000-06-04 |
| 2017-03-16 |
| 1864-02-28 |
| 1900-01-15 |
| 1999-12-31 |
| 2000-06-04 |
| 2017-03-16 |
+------------+
10 rows in set (0.00 sec)mysql> select * from datetime_val;
+---------------------+
| dt                  |
+---------------------+
| 1970-01-01 00:00:00 |
| 1999-12-31 09:00:00 |
| 2000-06-04 15:45:30 |
| 2017-03-16 12:30:15 |
| 1970-01-01 00:00:00 |
| 1999-12-31 09:00:00 |
| 2000-06-04 15:45:30 |
| 2017-03-16 12:30:15 |
+---------------------+
8 rows in set (0.00 sec)mysql> select * from time_val;
+----+----------+----------+
| id | t1       | t2       |
+----+----------+----------+
|  1 | 15:00:00 | 15:00:00 |
|  2 | 05:01:30 | 02:30:20 |
|  3 | 12:30:20 | 17:30:45 |
+----+----------+----------+
3 rows in set (0.00 sec)mysql> select * from timestamp_val;
+---------------------+
| ts                  |
+---------------------+
| 1970-01-01 09:00:00 |
| 1987-03-05 12:30:15 |
| 1999-12-31 09:00:00 |
| 2000-06-04 15:45:30 |
+---------------------+
4 rows in set (0.00 sec)

6.2 修改mysql中的日期格式

mysql> -- 假设你想将日期存入日期类型列
mysql> ALTER TABLE t ADD d DATE;  -- 添加日期列
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> INSERT INTO t (d) VALUES (STR_TO_DATE('May 13, 2007', '%M %d, %Y'));
Query OK, 1 row affected (0.01 sec)mysql> select d from t;
+------------+
| d          |
+------------+
| NULL       |
| NULL       |
| NULL       |
| NULL       |
| 2007-05-13 |
+------------+
5 rows in set (0.00 sec)mysql> insert into date_val (d) values(str_to_date('May 13, 2007', '%M %d, %Y'));
Query OK, 1 row affected (0.01 sec)mysql> select * from date_val;
+------------+
| d          |
+------------+
| 1864-02-28 |
| 1900-01-15 |
| 1999-12-31 |
| 2000-06-04 |
| 2017-03-16 |
| 1864-02-28 |
| 1900-01-15 |
| 1999-12-31 |
| 2000-06-04 |
| 2017-03-16 |
| 2007-05-13 |
+------------+
11 rows in set (0.00 sec)mysql> select d, date_format(d, '%M %d, %Y') from date_val;
+------------+-----------------------------+
| d          | date_format(d, '%M %d, %Y') |
+------------+-----------------------------+
| 1864-02-28 | February 28, 1864           |
| 1900-01-15 | January 15, 1900            |
| 1999-12-31 | December 31, 1999           |
| 2000-06-04 | June 04, 2000               |
| 2017-03-16 | March 16, 2017              |
| 1864-02-28 | February 28, 1864           |
| 1900-01-15 | January 15, 1900            |
| 1999-12-31 | December 31, 1999           |
| 2000-06-04 | June 04, 2000               |
| 2017-03-16 | March 16, 2017              |
| 2007-05-13 | May 13, 2007                |
+------------+-----------------------------+
11 rows in set (0.01 sec)mysql> select d, date_format(d, '%M %d, %Y') as date from date_val;
+------------+-------------------+
| d          | date              |
+------------+-------------------+
| 1864-02-28 | February 28, 1864 |
| 1900-01-15 | January 15, 1900  |
| 1999-12-31 | December 31, 1999 |
| 2000-06-04 | June 04, 2000     |
| 2017-03-16 | March 16, 2017    |
| 1864-02-28 | February 28, 1864 |
| 1900-01-15 | January 15, 1900  |
| 1999-12-31 | December 31, 1999 |
| 2000-06-04 | June 04, 2000     |
| 2017-03-16 | March 16, 2017    |
| 2007-05-13 | May 13, 2007      |
+------------+-------------------+
11 rows in set (0.00 sec)--格式化串定义
格式化字符                含义
%Y                                年份,数字形式,4位数
%y                                年份,数字形式,2位数
%M                                完整度月份名称(Hanuary-December)
%b                                月份名称的前三个字母(Jan-Dec%m                                月份,数字形式(01..12%c                                月份,数字形式(1..12)
%d                                该月日期,数字形式(01..31%e                                该月日期,数字形式(1..31%W                                工作日名称(Sunday..Saturday)
%r                                时间,12小时制,以AM或PM结尾
%T                                时间,24小时制
%H                                小时,数字形式,2位数(00..23%i                                分钟,数字形式,2位数(00..59%s                                秒,数字形式,2位数(00..59%%                                '%'文字字符mysql> select dt, 
date_format(dt, '%c/%e/%y %r') as format1,
date_format(dt, '%M %e, %Y %T') as format2 
from datetime_val;
+---------------------+----------------------+----------------------------+
| dt                  | format1              | format2                    |
+---------------------+----------------------+----------------------------+
| 1970-01-01 00:00:00 | 1/1/70 12:00:00 AM   | January 1, 1970 00:00:00   |
| 1999-12-31 09:00:00 | 12/31/99 09:00:00 AM | December 31, 1999 09:00:00 |
| 2000-06-04 15:45:30 | 6/4/00 03:45:30 PM   | June 4, 2000 15:45:30      |
| 2017-03-16 12:30:15 | 3/16/17 12:30:15 PM  | March 16, 2017 12:30:15    |
| 1970-01-01 00:00:00 | 1/1/70 12:00:00 AM   | January 1, 1970 00:00:00   |
| 1999-12-31 09:00:00 | 12/31/99 09:00:00 AM | December 31, 1999 09:00:00 |
| 2000-06-04 15:45:30 | 6/4/00 03:45:30 PM   | June 4, 2000 15:45:30      |
| 2017-03-16 12:30:15 | 3/16/17 12:30:15 PM  | March 16, 2017 12:30:15    |
+---------------------+----------------------+----------------------------+
8 rows in set (0.00 sec)mysql> select dt, 
time_format(dt, '%r') as '12-hour time', 
time_format(dt, '%T') as '24-hour time'
from datetime_val;
+---------------------+--------------+--------------+
| dt                  | 12-hour time | 24-hour time |
+---------------------+--------------+--------------+
| 1970-01-01 00:00:00 | 12:00:00 AM  | 00:00:00     |
| 1999-12-31 09:00:00 | 09:00:00 AM  | 09:00:00     |
| 2000-06-04 15:45:30 | 03:45:30 PM  | 15:45:30     |
| 2017-03-16 12:30:15 | 12:30:15 PM  | 12:30:15     |
| 1970-01-01 00:00:00 | 12:00:00 AM  | 00:00:00     |
| 1999-12-31 09:00:00 | 09:00:00 AM  | 09:00:00     |
| 2000-06-04 15:45:30 | 03:45:30 PM  | 15:45:30     |
| 2017-03-16 12:30:15 | 12:30:15 PM  | 12:30:15     |
+---------------------+--------------+--------------+
8 rows in set (0.00 sec)mysql> DELIMITER //
mysql>
mysql> CREATE FUNCTION time_ampm(t TIME)-> RETURNS VARCHAR(13)-> DETERMINISTIC-> BEGIN->     DECLARE ampm CHAR(4);->     IF TIME_TO_SEC(t) < 12*60*60 THEN->         SET ampm = 'a.m.';->     ELSE->         SET ampm = 'p.m.';->     END IF;->->     -- Handle midnight (12:00:00 a.m.) and noon (12:00:00 p.m.) cases->     IF HOUR(t) = 12 THEN->         SET ampm = 'p.m.';->     ELSEIF HOUR(t) = 0 THEN->         SET ampm = 'a.m.';->     END IF;->->     -- Use %h:%i:%s format for hours:minutes:seconds, then add am/pm->     RETURN CONCAT(->         TIME_FORMAT(t, '%h:%i:%s'),->         ' ',->         ampm->     );-> END //
Query OK, 0 rows affected (0.02 sec)mysql> SELECT time_ampm('08:30:00');  -- Returns "08:30:00 a.m."
+-----------------------+
| time_ampm('08:30:00') |
+-----------------------+
| 08:30:00 a.m.         |
+-----------------------+
1 row in set (0.01 sec)mysql> SELECT time_ampm('13:45:00');  -- Returns "01:45:00 p.m."
+-----------------------+
| time_ampm('13:45:00') |
+-----------------------+
| 01:45:00 p.m.         |
+-----------------------+
1 row in set (0.00 sec)mysql> SELECT time_ampm('00:00:00');  -- Returns "12:00:00 a.m."
+-----------------------+
| time_ampm('00:00:00') |
+-----------------------+
| 12:00:00 a.m.         |
+-----------------------+
1 row in set (0.00 sec)mysql> SELECT time_ampm('12:00:00');  -- Returns "12:00:00 p.m."
+-----------------------+
| time_ampm('12:00:00') |
+-----------------------+
| 12:00:00 p.m.         |
+-----------------------+
1 row in set (0.00 sec)mysql> select t1, time_ampm(t1) from time_val;
+----------+---------------+
| t1       | time_ampm(t1) |
+----------+---------------+
| 15:00:00 | 03:00:00 p.m. |
| 05:01:30 | 05:01:30 a.m. |
| 12:30:20 | 12:30:20 p.m. |
+----------+---------------+
3 rows in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/909159.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/909159.shtml
英文地址,请注明出处:http://en.pswp.cn/news/909159.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫ip封禁应对办法

目录 一、背景现象 二、准备工作 三、代码实现 一、背景现象 最近在做爬虫项目时&#xff0c;爬取的网站&#xff0c;如果发送请求太频繁的话&#xff0c;对方网站会先是响应缓慢&#xff0c;最后是封禁一段时间。一直是拒绝连接&#xff0c;导致程序无法正常预期的爬取数据…

【AIGC】Qwen3-Embedding:Embedding与Rerank模型新标杆

Qwen3-Embedding&#xff1a;Embedding与Rerank模型新标杆 一、引言二、技术架构与核心创新1. 模型结构与训练策略&#xff08;1&#xff09;多阶段训练流程&#xff08;2&#xff09;高效推理设计&#xff08;3&#xff09;多语言与长上下文支持 2. 与经典模型的性能对比 三、…

算法竞赛阶段二-数据结构(32)数据结构简单介绍

数据结构的基本概念 数据结构是计算机存储、组织数据的方式&#xff0c;旨在高效地访问和修改数据。它是算法设计的基础&#xff0c;直接影响程序的性能。数据结构可分为线性结构和非线性结构两大类。 线性数据结构 线性结构中&#xff0c;数据元素按顺序排列&#xff0c;每…

Windows桌面图标修复

新建文本文件&#xff0c;粘入以下代码&#xff0c;保存为.bat文件&#xff0c;管理员运行这个文件 duecho off taskkill /f /im explorer.exe CD /d %userprofile%\AppData\Local DEL IconCache.db /a start explorer.exe echo 执行完成上面代码作用是删除桌面图标缓存库&…

13.react与next.js的特性和原理

&#x1f7e1; 一句话总结 React 专注于构建组件&#xff0c;而 Next.js 是基于 React 的全栈框架&#xff0c;提供了页面路由、服务端渲染和全栈能力&#xff0c;让你能快速开发现代 Web 应用。 React focuses on building UI components, while Next.js is a full-stack fra…

全栈监控系统架构

全栈监控系统架构 可观测性从数据层面可分为三类&#xff1a; 指标度量(Metrics)&#xff1a;记录系统的总体运行状态。事件日志(Logs)&#xff1a;记录系统运行期间发生的离散事件。链路追踪(Tracing)&#xff1a;记录一个请求接入到结束的处理过程&#xff0c;主要用于排查…

云服务运行安全创新标杆:阿里云飞天洛神云网络子系统“齐天”再次斩获奖项

引言 为认真落实工信部《工业和信息化部办公厅关于印发信息通信网络运行安全管理年实施方案的通知》&#xff0c;2025年5月30日中国信息通信研究院于浙江杭州举办了“云服务运行安全高质量发展交流会”&#xff0c;推动正向引导&#xff0c;巩固云服务安全专项治理成果。会上&a…

刀客doc:WPP走下神坛

一、至暗时刻&#xff1f; 6月11日&#xff0c;快消巨头玛氏公司宣布其价值17 亿美元&#xff0c;在全球70个市场的广告业务交给阳狮集团&#xff0c;这其中包括M&Ms、士力架、宝路等知名品牌。 此前&#xff0c;玛氏公司一直是WPP的大客户。早在今年3月&#xff0c;WPP就…

进行性核上性麻痹饮食攻略:营养安全双护航

进行性核上性麻痹是一种罕见的神经系统退行性疾病&#xff0c;主要影响患者的运动、平衡和吞咽功能。除了医学干预&#xff0c;科学的饮食管理也能在一定程度上减轻症状&#xff0c;提高生活质量。 由于患者常出现吞咽困难&#xff0c;食物质地的选择尤为重要。应避免干硬、大块…

阿里云可观测 2025 年 5 月产品动态

本月可观测热文回顾 文章一览&#xff1a; StoreView SQL&#xff0c;让数据分析不受地域限制 不懂 PromQL&#xff1f;AI 智能体帮你玩转大规模指标数据分析 DeepWiki LoongCollector&#xff1a;AI 重塑开源代码理解 从 o11y 2.0 说起&#xff0c;大数据 Pipeline 的「…

React 基础状态管理方案

1. useState useState 是 React 提供的最基本的 Hook,用于在函数组件中添加状态管理。它返回一个状态变量和一个更新状态的函数。 1.1. 使用场景 适合管理简单的状态。 适合管理组件内部的局部状态。 1.2. 示例代码 import React, { useState } from react;function Cou…

VScode中如何创建项目分支

在 VS Code 中为前端项目创建自己的分支是一个常见的开发实践&#xff0c;以下是详细步骤&#xff1a; 前提条件 已安装 Git已安装 VS Code已有前端项目或克隆了远程仓库 创建分支步骤 1. 打开项目 在 VS Code 中打开你的前端项目文件夹。 2. 初始化 Git 仓库&#xff08…

Flutter 导航与路由管理:Navigator 的深入解析与实践

在移动应用开发中&#xff0c;页面导航是用户体验的核心组成部分。Flutter 提供了强大而灵活的导航系统&#xff0c;主要通过 Navigator 组件来实现。本文将全面介绍 Flutter 中 Navigator 的使用方法&#xff0c;涵盖基础导航操作、进阶技巧以及最佳实践。 一、Flutter 导航系…

预测性去匿名化攻击(PDAA):重塑数据安全攻防边界

一、数据合规时代的“脱敏”悖论&#xff1a;价值释放与风险并存 在数据驱动的商业模式与日趋严格的个人信息保护法规&#xff08;如《个人信息保护法》《数据安全法》&#xff09;双重推动下&#xff0c;企业普遍将“数据脱敏”作为实现数据合规与价值释放的核心手段。对手机…

[python] 使用python设计滤波器

使用python设计滤波器 文章目录 使用python设计滤波器完整滤波器设计代码&#xff08;未经完整验证&#xff0c;博主还在不断完善中&#xff09;关键原理与代码对应说明1. 滤波器类型选择2. 阶数估算原理3. 性能分析技术4. 设计参数调整指南 习惯了python后&#xff0c;matlab逐…

mac电脑.sh文件,用来清除git当前分支

#!/bin/bashecho "正在检查Git仓库..." if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; thenecho "错误&#xff1a;当前目录不是Git仓库&#xff01;"exit 1 fiecho "警告&#xff1a;这将丢弃所有未提交的更改和本地提交&am…

Bash (Bourne Again SHell)

Unix/Linux 系统中最常用的命令行解释器之一&#xff0c;它是原始 Bourne shell (sh) 的增强版本。以下是 Bash 的详细解释&#xff1a; 1. Bash 基础 1.1 什么是 Bash 一个命令行解释器&#xff0c;用于执行用户输入的命令支持脚本编程&#xff0c;可以编写复杂的自动化任务…

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…

AIStor 的模型上下文协议 (MCP) 服务器: 工作原理

在本系列的前几篇博文中&#xff0c;我们讨论了MinIO AIStor 模型上下文协议 (MCP) 服务器的用户级和管理员级功能。在第一篇博文中&#xff0c;我们学习了如何查看存储桶的内容、分析对象并标记它们以便将来处理。在第二篇博文中&#xff0c;我们还学习了如何使用管理员命令以…

Excel 怎么让透视表以正常Excel表格形式显示

目录 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总