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

零基础入门MySQL数据分析:从SQL语法到电商实战项目

很多同学想学数据分析,但一上来就被各种工具和概念劝退。其实,数据分析的核心是“用数据回答问题”,而数据库,特别是MySQL,就是获取和整理这些答案的“原料库”。无论你是想转行数据岗位,还是想提升业务分析能力,掌握MySQL都是绕不开的第一步。本文将从零开始,手把手带你搭建环境、学习SQL核心语法,并完成一个完整的数据分析实战项目,让你真正理解如何用MySQL解决实际问题。

1. 数据分析与MySQL:为什么是黄金组合?

在开始敲代码之前,我们需要先理解一个核心问题:为什么数据分析师或业务人员需要学习MySQL?

数据分析的本质是从海量数据中提取有价值的信息,以支持决策。这个过程通常包括:数据获取、数据清洗、数据转换、数据建模和数据可视化。而MySQL,作为最流行的开源关系型数据库之一,在其中扮演着“数据仓库”和“数据加工厂”的关键角色。

MySQL在数据分析流程中的核心价值:

  1. 数据存储与整合:业务数据(如用户信息、订单记录、日志)首先被存储在MySQL中。学习MySQL,意味着你掌握了从源头获取一手数据的能力。
  2. 高效的数据查询与筛选:通过SQL语言,你可以快速地从数百万条记录中,精确地筛选出你需要的部分,比如“上个月销售额超过1万的客户有哪些?”。
  3. 强大的数据聚合与统计:求和、平均、计数、分组、排序等操作是数据分析的日常。SQL的聚合函数(如SUM,AVG,COUNT)和GROUP BY子句能轻松完成这些任务。
  4. 数据清洗与预处理:在进行分析前,数据往往存在缺失、重复或格式错误。SQL可以用来识别和处理这些问题,例如去重、填充空值、类型转换等。
  5. 连接多表数据:真实业务的数据分散在不同的表中(用户表、订单表、商品表)。SQL的JOIN操作可以将这些表关联起来,形成完整的分析视图。

与Excel或一些可视化工具相比,直接使用SQL进行数据分析的优势在于:

  • 处理大数据量:Excel在处理几十万行数据时就会变得异常缓慢,而MySQL可以轻松应对千万甚至亿级数据。
  • 可重复性与自动化:写好的SQL脚本可以保存、复用和调度,分析过程可以自动化,避免每次手动操作的繁琐和错误。
  • 深入业务底层:让你直接面对原始数据,理解数据之间的关系和业务逻辑,做出的分析更扎实、更有深度。

因此,对于零基础的你来说,从MySQL和SQL入手学习数据分析,是构建坚实数据能力的最有效路径。

2. 环境准备:安装MySQL与图形化工具

工欲善其事,必先利其器。第一步是搭建一个可以练习的MySQL环境。我们选择MySQL 8.0社区版,因为它功能丰富且免费。

2.1 下载与安装MySQL

  1. 访问官网:打开MySQL官方网站,找到社区版(MySQL Community Server)的下载页面。
  2. 选择版本:根据你的操作系统(Windows/macOS/Linux)选择对应的安装包。对于Windows用户,推荐下载mysql-installer-web-community在线安装器。
  3. 运行安装程序
    • 启动安装程序后,选择“Custom”(自定义)安装类型,以便选择需要的组件。
    • 在“Select Products and Features”页面,从左侧列表找到“MySQL Server 8.0.x”和“MySQL Workbench 8.0.x”,通过箭头添加到右侧。MySQL Workbench是一个官方图形化管理工具,对新手非常友好。
    • 一路点击“Next”,直到“Accounts and Roles”设置界面。
  4. 设置root密码:这是管理数据库的最高权限密码,务必牢记!输入一个强密码并记下来。例如:MyStrongPass123!
  5. 完成安装:后续步骤保持默认即可,最后点击“Execute”执行安装。安装完成后,MySQL服务会自动启动。

验证安装(Windows命令行或macOS/Linux终端):

mysql -u root -p

输入你设置的root密码,如果成功进入MySQL命令行(提示符变为mysql>),说明安装成功。输入exit;退出。

2.2 安装与配置MySQL Workbench

MySQL Workbench提供了可视化的操作界面,极大降低了学习门槛。

  1. 启动Workbench:安装完成后,在开始菜单或应用中找到并打开它。
  2. 创建连接:点击“+”号,创建一个到本地数据库的连接。
    • Connection Name:Local MySQL(可自定义)
    • Hostname:127.0.0.1localhost
    • Port:3306(默认)
    • Username:root
    • 点击“Store in Vault...”输入并保存你的root密码。
  3. 测试连接:点击“Test Connection”,如果显示“Successfully made the MySQL connection”,则配置成功。双击这个连接即可进入主界面。

至此,你的数据分析“实验室”已经搭建完毕。

3. SQL核心语法精讲:从查询到操作

SQL是结构化查询语言,是与数据库沟通的桥梁。我们将其分为四大模块:数据定义、数据操作、数据查询和数据控制。数据分析师最需要精通的是数据查询

3.1 基础查询:SELECT, FROM, WHERE

这是所有查询的基石。

-- 最基本的查询:查看表中所有数据 SELECT * FROM employees; -- 选择特定列 SELECT first_name, last_name, salary FROM employees; -- 使用WHERE子句进行条件过滤 SELECT * FROM orders WHERE order_date >= '2023-01-01'; -- 组合多个条件:AND, OR SELECT * FROM products WHERE price > 100 AND category = 'Electronics'; SELECT * FROM users WHERE status = 'active' OR last_login > '2023-10-01'; -- 使用LIKE进行模糊查询 SELECT * FROM customers WHERE name LIKE '张%'; -- 查找姓张的客户 SELECT * FROM articles WHERE title LIKE '%数据分析%'; -- 查找标题包含“数据分析”的文章

3.2 数据聚合与分组:GROUP BY 和 聚合函数

这是数据分析的核心,用于总结和统计数据。

-- 计数:统计总行数 SELECT COUNT(*) FROM orders; -- 求和与平均:计算总销售额和平均订单金额 SELECT SUM(amount) AS total_sales, AVG(amount) AS avg_order_amount FROM orders; -- 最大值与最小值 SELECT MAX(price) AS highest_price, MIN(price) AS lowest_price FROM products; -- 分组统计:按部门统计员工数量和平均薪资 SELECT department_id, COUNT(*) AS emp_count, AVG(salary) AS avg_salary FROM employees GROUP BY department_id; -- 分组后过滤:使用HAVING子句(注意:WHERE用于分组前过滤行,HAVING用于分组后过滤组) SELECT department_id, AVG(salary) AS avg_salary FROM employees GROUP BY department_id HAVING AVG(salary) > 5000; -- 只显示平均薪资大于5000的部门

3.3 多表连接:JOIN

业务数据很少只存在于一张表。JOIN用于根据关联字段合并多张表的数据。

假设我们有orders(订单表)和customers(客户表)。

-- 内连接 (INNER JOIN):只返回两个表中匹配的行 -- 查询所有订单及其对应的客户信息 SELECT o.order_id, o.order_date, o.amount, c.customer_name, c.city FROM orders o INNER JOIN customers c ON o.customer_id = c.customer_id; -- 左连接 (LEFT JOIN):返回左表所有行,即使右表没有匹配 -- 查询所有客户,以及他们的订单(即使该客户没有订单) SELECT c.customer_name, o.order_id, o.order_date FROM customers c LEFT JOIN orders o ON c.customer_id = o.customer_id; -- 其他连接:RIGHT JOIN(右连接)、FULL OUTER JOIN(全外连接,MySQL 8.0+通过UNION模拟)原理类似。

3.4 子查询与常用函数

子查询将一个查询嵌套在另一个查询中,功能强大。

-- 标量子查询(返回单个值):找出薪资高于平均薪资的员工 SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees); -- 列子查询(返回一列值):找出在‘Sales’部门的所有员工 SELECT * FROM employees WHERE department_id IN (SELECT department_id FROM departments WHERE name = 'Sales'); -- 行子查询(返回一行值):找出和‘张三’在同一个部门且职位相同的员工 SELECT * FROM employees WHERE (department_id, job_title) = (SELECT department_id, job_title FROM employees WHERE name = ‘张三’);

常用函数示例:

-- 字符串函数 SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees; SELECT UPPER(name), LOWER(email) FROM users; SELECT SUBSTRING(description, 1, 50) AS short_desc FROM products; -- 截取前50个字符 -- 日期函数 SELECT NOW(); -- 当前日期时间 SELECT CURDATE(); -- 当前日期 SELECT DATE_ADD(order_date, INTERVAL 7 DAY) AS due_date FROM orders; -- 订单日期加7天 SELECT DATEDIFF('2023-12-31', '2023-01-01') AS days_diff; -- 计算日期差 -- 条件函数 SELECT name, salary, CASE WHEN salary > 10000 THEN '高薪' WHEN salary BETWEEN 5000 AND 10000 THEN '中等' ELSE '一般' END AS salary_level FROM employees;

4. 实战项目:电商销售数据分析

理论学习后,我们通过一个完整的电商销售数据分析项目来巩固技能。我们将模拟一个包含用户订单商品订单详情的数据库,并回答一系列业务问题。

4.1 创建数据库与模拟数据

首先,在MySQL Workbench中新建一个查询窗口,执行以下SQL语句。

-- 1. 创建数据库 CREATE DATABASE IF NOT EXISTS ecommerce_analysis; USE ecommerce_analysis; -- 2. 创建用户表 (users) CREATE TABLE users ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100) NOT NULL, registration_date DATE NOT NULL, city VARCHAR(50) ); -- 3. 创建商品表 (products) CREATE TABLE products ( product_id INT PRIMARY KEY AUTO_INCREMENT, product_name VARCHAR(100) NOT NULL, category VARCHAR(50) NOT NULL, price DECIMAL(10, 2) NOT NULL CHECK (price > 0), stock_quantity INT DEFAULT 0 ); -- 4. 创建订单表 (orders) CREATE TABLE orders ( order_id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, order_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, total_amount DECIMAL(10, 2) NOT NULL, status ENUM('pending', 'shipped', 'delivered', 'cancelled') DEFAULT 'pending', FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ); -- 5. 创建订单详情表 (order_items) - 连接订单和商品 CREATE TABLE order_items ( order_item_id INT PRIMARY KEY AUTO_INCREMENT, order_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL CHECK (quantity > 0), unit_price DECIMAL(10, 2) NOT NULL, FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE CASCADE, FOREIGN KEY (product_id) REFERENCES products(product_id) ); -- 6. 插入模拟数据 INSERT INTO users (username, email, registration_date, city) VALUES ('张三', 'zhangsan@email.com', '2023-01-15', '北京'), ('李四', 'lisi@email.com', '2023-02-20', '上海'), ('王五', 'wangwu@email.com', '2023-03-10', '广州'), ('赵六', 'zhaoliu@email.com', '2023-05-01', '深圳'), ('钱七', 'qianqi@email.com', '2023-08-25', '北京'); INSERT INTO products (product_name, category, price, stock_quantity) VALUES ('智能手机X', '电子产品', 2999.00, 100), ('蓝牙耳机', '电子产品', 399.00, 200), ('编程书籍《SQL必知必会》', '图书', 69.00, 50), ('男士运动鞋', '服饰', 499.00, 80), ('咖啡机', '家电', 899.00, 30); INSERT INTO orders (user_id, order_date, total_amount, status) VALUES (1, '2023-10-01 10:30:00', 2999.00, 'delivered'), (2, '2023-10-02 14:15:00', 468.00, 'shipped'), -- 书+耳机 (3, '2023-10-05 09:00:00', 899.00, 'pending'), (1, '2023-10-10 16:45:00', 499.00, 'delivered'), (4, '2023-10-12 11:20:00', 3398.00, 'delivered'); -- 手机+耳机 INSERT INTO order_items (order_id, product_id, quantity, unit_price) VALUES (1, 1, 1, 2999.00), -- 订单1:1个手机 (2, 3, 1, 69.00), -- 订单2:1本书 (2, 2, 1, 399.00), -- 订单2:1个耳机 (3, 5, 1, 899.00), -- 订单3:1个咖啡机 (4, 4, 1, 499.00), -- 订单4:1双鞋 (5, 1, 1, 2999.00), -- 订单5:1个手机 (5, 2, 1, 399.00); -- 订单5:1个耳机

4.2 业务问题分析与SQL解答

现在,我们化身数据分析师,来回答业务方可能提出的问题。

问题1:我们的总销售额是多少?

SELECT SUM(total_amount) AS total_revenue FROM orders WHERE status != 'cancelled';

思路:对订单表的金额求和,并过滤掉已取消的订单。

问题2:哪个商品类别最受欢迎?(按销售额排名)

SELECT p.category, SUM(oi.quantity * oi.unit_price) AS category_revenue FROM order_items oi JOIN products p ON oi.product_id = p.product_id JOIN orders o ON oi.order_id = o.order_id WHERE o.status != 'cancelled' GROUP BY p.category ORDER BY category_revenue DESC;

思路:需要连接order_itemsproductsorders三张表。先通过order_itemsproducts关联拿到商品类别,再和orders关联过滤状态。然后按类别分组,计算每个类别的销售额(单价*数量)。

问题3:北京地区的用户贡献了多少销售额?

SELECT u.city, SUM(o.total_amount) AS city_revenue FROM orders o JOIN users u ON o.user_id = u.user_id WHERE u.city = '北京' AND o.status != 'cancelled' GROUP BY u.city;

思路:连接ordersusers表,通过WHERE子句限定城市为‘北京’,然后分组求和。

问题4:找出消费金额最高的前3名用户。

SELECT u.username, SUM(o.total_amount) AS total_spent FROM orders o JOIN users u ON o.user_id = u.user_id WHERE o.status != 'cancelled' GROUP BY u.user_id, u.username ORDER BY total_spent DESC LIMIT 3;

思路:按用户分组,计算每个用户的总消费金额,然后降序排列,用LIMIT取前3条。

问题5:计算2023年10月份的日均订单数。

SELECT COUNT(*) AS total_orders, COUNT(DISTINCT DATE(order_date)) AS active_days, COUNT(*) / COUNT(DISTINCT DATE(order_date)) AS avg_orders_per_day FROM orders WHERE order_date >= '2023-10-01' AND order_date < '2023-11-01' AND status != 'cancelled';

思路:先统计10月份总订单数,再统计有订单的天数(使用DISTINCT DATE()去重),两者相除得到日均订单数。日期范围使用>=<是更规范的做法。

4.3 进阶分析:用户复购率与商品关联分析

问题6:计算用户的复购率(至少购买两次的用户占比)。

WITH user_order_counts AS ( SELECT user_id, COUNT(DISTINCT order_id) AS order_count FROM orders WHERE status != 'cancelled' GROUP BY user_id ) SELECT COUNT(CASE WHEN order_count >= 2 THEN 1 END) AS repeat_customers, COUNT(*) AS total_customers, CONCAT(ROUND(COUNT(CASE WHEN order_count >= 2 THEN 1 END) * 100.0 / COUNT(*), 2), '%') AS repurchase_rate FROM user_order_counts;

思路:使用公共表表达式(CTE)先计算出每个用户的订单数。然后在主查询中,统计订单数>=2的用户数,除以总用户数,得到复购率。CASE WHEN用于条件计数。

问题7:分析经常被一起购买的商品组合(简单关联规则)。

SELECT p1.product_name AS product_a, p2.product_name AS product_b, COUNT(*) AS times_bought_together FROM order_items oi1 JOIN order_items oi2 ON oi1.order_id = oi2.order_id AND oi1.product_id < oi2.product_id JOIN products p1 ON oi1.product_id = p1.product_id JOIN products p2 ON oi2.product_id = p2.product_id GROUP BY p1.product_id, p2.product_id HAVING times_bought_together >= 1 ORDER BY times_bought_together DESC;

思路:这是一个自连接查询。将order_items表与自己连接,连接条件是order_id相同(同一订单)且product_id不同(不同商品),并通过oi1.product_id < oi2.product_id避免重复组合(如A-B和B-A)。然后关联商品表获取名称,分组统计组合出现的次数。

运行这些查询,你就能得到一份初步的电商数据分析报告。在实际工作中,这些结果可以进一步导入到Python(如pandas)或BI工具(如Tableau)中进行可视化。

5. 常见问题与排查思路

在学习和使用MySQL进行数据分析时,你肯定会遇到各种错误。下面是一些典型问题及解决方法。

问题现象可能原因排查与解决思路
错误 1064: SQL语法错误SQL语句书写有误,如关键字拼错、缺少逗号、引号不匹配等。1. 仔细检查错误信息提示的位置。
2. 核对SELECT,FROM,WHERE,GROUP BY等关键字。
3. 检查字符串是否用单引号括起。
错误 1146: Table ‘xxx’ doesn’t exist表名写错,或数据库选择错误。1. 使用SHOW TABLES;查看当前数据库有哪些表。
2. 确认是否使用了正确的数据库:USE your_database_name;
3. 检查表名大小写(Linux/Unix系统区分大小写)。
错误 1055: ONLY_FULL_GROUP_BYSELECT列表中的列没有全部包含在GROUP BY子句或聚合函数中。1.(推荐)修正SQL,确保SELECT中的非聚合列都在GROUP BY中。
2.(临时)修改SQL模式:SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
查询结果为空,但感觉应该有数据条件(WHERE)过于严格,或连接(JOIN)条件错误导致数据被过滤。1. 逐步简化查询:先SELECT * FROM table看全表数据。
2. 再逐步添加WHERE条件,检查哪一步过滤掉了数据。
3. 检查JOIN条件(ON子句)是否正确,尝试使用LEFT JOIN查看是否有关联不上的数据。
查询速度非常慢1. 数据量太大。
2. 缺少合适的索引。
3. 查询写法不佳(如SELECT *,在WHERE中对字段进行函数操作)。
1. 使用EXPLAIN分析查询执行计划,查看是否进行了全表扫描。
2. 为WHEREJOIN条件中频繁使用的字段创建索引。
3. 避免SELECT *,只选择需要的列。
4. 优化子查询,考虑改用JOIN
中文数据乱码数据库、表或连接字符集不统一,通常不是UTF-8。1. 创建数据库时指定字符集:CREATE DATABASE dbname CHARACTER SET utf8mb4;
2. 检查连接字符集:在Workbench连接设置或连接字符串中设置characterEncoding=utf8
3. 确保表字段的字符集也是utf8mb4

6. 数据分析最佳实践与工程建议

掌握了基础语法和实战后,遵循以下最佳实践能让你的数据分析工作更高效、更可靠。

  1. **永远从SELECT特定列开始,而不是`SELECT ***

    • 为什么SELECT *会读取所有列,包括你可能不需要的TEXTBLOB大字段,严重浪费网络和内存资源,降低查询速度。
    • 怎么做:明确列出需要的字段名。例如:SELECT user_id, order_date, amount FROM orders;
  2. 为分析查询创建合适的索引

    • 为什么:索引就像书的目录,能极大加快WHEREJOINORDER BYGROUP BY操作的速度。
    • 怎么做:在经常用于过滤和连接的列上创建索引。例如:
      -- 在orders表的user_id和order_date上创建索引 CREATE INDEX idx_orders_user ON orders(user_id); CREATE INDEX idx_orders_date ON orders(order_date); -- 复合索引适用于多列条件 CREATE INDEX idx_orders_user_date ON orders(user_id, order_date);
    • 注意:索引不是越多越好,它会降低数据插入和更新的速度。只为高频查询的列创建索引。
  3. 使用LIMIT测试查询,尤其是大数据表

    • 为什么:一个写错的条件或复杂的JOIN可能产生巨大的中间结果集,导致数据库卡死。
    • 怎么做:在最终运行前,先加上LIMIT 10LIMIT 100,确认查询逻辑和结果是否符合预期。
  4. 善用EXPLAIN分析查询性能

    • 为什么EXPLAIN可以显示MySQL执行查询的详细计划,帮助你发现全表扫描等性能瓶颈。
    • 怎么做:在复杂的查询语句前加上EXPLAIN
      EXPLAIN SELECT * FROM orders WHERE user_id = 100;
    • 关键看type列(应避免ALL全表扫描,争取refrangeconst),rows列(预估扫描行数,越小越好)。
  5. 将复杂查询拆解或使用CTE(公共表表达式)

    • 为什么:一个长达几十行的复杂SQL很难阅读、调试和维护。
    • 怎么做:使用CTE将查询步骤模块化。这比嵌套子查询更清晰。
      WITH monthly_sales AS ( SELECT DATE_FORMAT(order_date, '%Y-%m') AS month, SUM(amount) AS revenue FROM orders GROUP BY month ), top_customers AS ( SELECT user_id, SUM(amount) AS total_spent FROM orders GROUP BY user_id HAVING total_spent > 10000 ) SELECT * FROM monthly_sales;
  6. 数据安全与备份意识

    • UPDATEDELETE前,先用SELECT验证
      -- 危险!直接删除 -- DELETE FROM users WHERE registration_date < '2020-01-01'; -- 安全做法:先查 SELECT * FROM users WHERE registration_date < '2020-01-01'; -- 确认无误后,再执行删除,并最好开启事务 BEGIN; DELETE FROM users WHERE registration_date < '2020-01-01'; -- 再次确认影响行数 SELECT ROW_COUNT(); -- 确认无误后提交,有误则回滚 COMMIT; -- ROLLBACK;
    • 定期备份:对于重要分析库,即使只是练习,也养成备份习惯。可以使用mysqldump工具。
  7. 文档化你的分析逻辑

    • 在重要的SQL脚本开头,用注释写明:分析目的、作者、日期、关键业务逻辑假设。这在你需要回顾或与他人协作时至关重要。

从安装MySQL到写出复杂的分析SQL,你已经完成了一次完整的数据分析入门之旅。记住,SQL是一项“实践出真知”的技能,核心在于多写、多思考、多解决实际问题。建议你以本文的电商项目为起点,尝试提出更多自己的业务问题并用SQL解答,例如“计算每个用户的首次购买金额”、“分析不同城市用户的品类偏好”等。接下来,你可以探索如何将MySQL的查询结果与Python的pandas库结合进行更灵活的分析,或者学习使用BI工具(如Metabase、Superset)来制作数据看板,让分析结果一目了然。

http://www.gsyq.cn/news/1610799.html

相关文章:

  • 洛谷 P2024:[NOI2001] 食物链 ← 扩展域并查集
  • 35款自动脱壳工具合集:逆向工程中的“开罐器”与“手术刀”
  • 只会写业务 UI 走不远!吃透这套 Framework 体系,跳槽大厂拉开薪资差距
  • 什么!翻译论文还要消耗token? 关于如何提升marker转英文文档速度,并使用skill批量翻译论文
  • openEuler-portal-mcp智能推荐系统:如何实现100%工具推荐覆盖率
  • Apache Commons Text RCE漏洞CVE-2022-42889:原理、复现与安全修复
  • Kali Linux 渗透测试环境搭建:VMware 虚拟机安装配置全流程指南
  • YOLOv8知识蒸馏实战:从37%到42%mAP,无损提升轻量模型精度
  • C语言指针详解3
  • 工作原理:其核心是一个两步过程。
  • Mineradio音乐播放器下载安装地址
  • 机顶盒B860AV2.1-M刷机攻略
  • 从 ABAP 后端到 AEX,Local Integration Engine 下的 Business System 配置全景
  • AI渐进编程之四:状态机如何约束 AI 的动作?
  • 【SI_GMSL2】深入了解示波器测试GMSL2眼图
  • openclaw 0512版本部署(ubuntu 26.04)
  • 怎么用一张图做产品视频?用 seedance2.0 快速生成 360 度动态视频实战教程
  • DAY 2 TIM定时器
  • 对称加密算法的扩散层(P盒)密码学指标详细介绍
  • 深入解析Hermes Agent:从Skill驱动架构到实战部署的AI Agent框架指南
  • 嵌入式音频开发实战:AU-60 全功能 DSP 语音模组一站式开发指南
  • 3个突破性技巧:如何用SRWE实现Windows窗口的实时魔法编辑
  • 揭秘AI写教材黑科技!低查重的AI教材生成,为教学助力
  • How To: Create A Word Document In Powershell – Part 1 – Opening The Document, Writing Some Text, Usi
  • Highcharts有版权吗?
  • TVA在具身智能全栈能力体系中的关键作用(6)
  • VMware虚拟机安装Ubuntu Linux:从零搭建开发环境的完整指南
  • 北方高寒矿区专网通信搭建要点,适配低温、粉尘、防爆严苛工况
  • 基于YOLOv8的船舶检测分类系统:从模型训练到部署的完整实践
  • 如何用Taskt实现零代码办公自动化:免费RPA工具完整指南