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

《MySQL 查询进阶:复杂查询语句的魅力》

一、引言

MySQL 的复杂查询语句就像是一把神奇的钥匙,能够打开数据世界的大门,展现出数据的无限魅力。本文将带你深入探索 MySQL 查询进阶技巧,从常用查询到子查询,再到视图的运用,让你领略复杂查询语句的强大功能。

在当今数据驱动的时代,数据库管理系统的重要性不言而喻。MySQL 作为一款广泛应用的开源数据库,其强大的查询功能为数据的检索和分析提供了有力支持。无论是简单的数据查询,还是复杂的统计分析,MySQL 都能满足用户的需求。

MySQL 的查询语句可以分为多个层次,从基础的单表查询到复杂的多表连接查询,再到子查询和视图的运用,每一个层次都有其独特的魅力和用途。通过不断深入学习和掌握这些查询技巧,用户可以更加高效地管理和分析数据,为企业决策和个人研究提供有力支持。

接下来,我们将逐步介绍 MySQL 查询进阶的各个方面,包括条件查询、关键字排序、分组与聚合函数、限制查询、别名、子查询和视图等。通过实际案例和详细的讲解,帮助读者更好地理解和应用这些技巧。

二、常用查询

1. order by 排序

  1. 多种排序方式:
    • 升序是按照字段值从小到大进行排列。例如,对数字字段进行排序,1、2、3、4 这样的顺序;对字符字段进行排序,从 a 到 z 的顺序。
    • 降序则是从大到小或从 z 到 a 的顺序排列。
    • 多字段排序可以先按照一个字段进行排序,如果该字段值相同,再按照另一个字段进行排序。比如先按照年龄排序,年龄相同的再按照成绩排序。
    • 结合 where 进行条件过滤再排序,先通过 where 子句筛选出满足条件的数据,然后再对这些数据进行排序。例如,先筛选出成绩大于 80 分的学生记录,然后再按照年龄升序排列。
  1. 语法与示例:
    • order by 语句的语法为:SELECT column1, column2,... FROM table_name ORDER BY column_name [ASC|DESC]; 其中 ASC 表示升序(默认),DESC 表示降序。
    • 示例代码:SELECT * FROM students ORDER BY age ASC; 表示按照学生年龄升序排列查询学生表中的数据。如果要降序排列,可以写成 SELECT * FROM students ORDER BY age DESC; 多字段排序的示例代码为 SELECT * FROM students ORDER BY age ASC, score DESC; 表示先按照年龄升序排列,如果年龄相同,再按照成绩降序排列。

2. and 和 or 判断

  1. 使用方法:
    • and 用于连接多个条件,只有当所有条件都满足时,才会返回结果。例如,查询年龄大于 18 岁且性别为男的学生记录,可以使用 SELECT * FROM students WHERE age > 18 AND gender = ' 男 ';
    • or 用于连接多个条件,只要其中一个条件满足,就会返回结果。例如,查询年龄大于 20 岁或者成绩大于 90 分的学生记录,可以使用 SELECT * FROM students WHERE age > 20 OR score > 90;
    • 在嵌套和多条件使用时,要注意优先级和括号的使用。多个 and 必须放在前面,or 的条件必须放在后面,并且所有的 or 必须组合在一起,用括号括起来,与前面的条件用 and 拼接。
  1. 示例演示:
    • 示例代码:SELECT * FROM students WHERE is_rac = 0 AND instance_number = 1 AND status = 1 AND (ip_address LIKE CONCAT ('%', #{keyword}, '%') OR db_name LIKE CONCAT ('%', #{keyword}, '%') OR instance_name LIKE CONCAT ('%', #{keyword}, '%')); 这个查询在满足前面几个条件的基础上,通过 or 连接了三个模糊查询条件,用于搜索学生表中的相关记录。

3. distinct 查询不重复记录

  1. distinct 的作用:
    • distinct 关键字的功能是查询不重复记录,即返回指定字段中不同的值。
  1. 操作要点:
    • distinct 必须放在最开头。例如,SELECT DISTINCT column_name FROM table_name;
    • 只能对特定字段进行操作,如果对多个字段进行操作,只有当这些字段组合起来的值完全相同时才会被视为重复记录。例如,SELECT DISTINCT name, age FROM table_name; 只有当 name 和 age 两个字段的值都相同时才会被去重。

4. group by 对结果进行分组

  1. 分组原理:
    • group by 语句通过指定一个或多个字段,将查询结果按照这些字段的值进行分组。相同字段值的记录被归为一组,然后可以结合聚合函数对每个组进行数据汇总。
  1. 原则与示例:
    • 原则是 select 后面没有聚合函数的列必须出现在 group by 后面。例如,SELECT department, COUNT () AS employee_count FROM employees GROUP BY department; 这里 department 列既出现在 select 后面,也出现在 group by 后面,而 COUNT () 是聚合函数。如果写成 SELECT name, COUNT (*) AS employee_count FROM employees GROUP BY department; 就会报错,因为 name 列不在 group by 后面。

5. limit 限制结果输出条目

  1. 功能介绍:
    • limit 关键字的作用是用于限制查询结果的输出条目数。可以控制返回的记录数量,方便进行分页查询等操作。
  1. 用法示例:
    • 查询前几条记录可以使用 SELECT * FROM table_name LIMIT n; 这里 n 表示要返回的记录条数。例如,SELECT * FROM students LIMIT 10; 表示查询学生表中的前 10 条记录。
    • 从特定位置开始查询一定数量的记录可以使用 SELECT * FROM table_name LIMIT offset, n; 这里 offset 表示要跳过的记录条数,n 表示要返回的记录条数。例如,SELECT * FROM students LIMIT 5, 10; 表示跳过前 5 条记录,然后查询接下来的 10 条记录。

6. 设置别名(alias - as)

  1. 列别名设置:
    • 可以为列设置别名,通过 AS 关键字实现。例如,SELECT column_name AS alias_name FROM table_name; 这样在查询结果中,该列将以别名显示。列别名可以使查询结果更具可读性,也方便在后续的查询中引用。
  1. 查询表记录数量并显示别名:
    • 可以使用 COUNT () 函数查询表的记录数量,并为其设置别名。例如,SELECT COUNT () AS total_records FROM table_name; 这样查询结果中会显示一个名为 total_records 的列,其值为表中的记录总数。
  1. 利用 as 将查询数据导入到另一个表内:
    • 可以使用 AS 关键字将查询的数据导入到另一个表中。例如,INSERT INTO new_table SELECT column1, column2,... FROM old_table AS source_table; 这里将 old_table 表中的数据查询出来,并插入到 new_table 表中,在查询过程中,old_table 被命名为 source_table,方便在后续的查询语句中引用。

7. 通配符查询

  1. 通配符与 LIKE 结合使用:
    • 通配符通常与 LIKE 一起使用进行模糊查询。例如,LIKE '% pattern%' 表示包含指定模式的字符串,LIKE 'pattern%' 表示以指定模式开头的字符串,LIKE '% pattern' 表示以指定模式结尾的字符串。
  1. 示例:
    • 查询以特定字符开头的记录可以使用 SELECT * FROM table_name WHERE column_name LIKE 'pattern%'; 例如,查询以字母 A 开头的学生姓名,可以使用 SELECT * FROM students WHERE name LIKE 'A%';
    • 查询以特定字符结尾的记录可以使用 SELECT * FROM table_name WHERE column_name LIKE '% pattern'; 例如,查询以字母 o 结尾的学生姓名,可以使用 SELECT * FROM students WHERE name LIKE '% o';
    • 查询包含特定字符的记录可以使用 SELECT * FROM table_name WHERE column_name LIKE '% pattern%'; 例如,查询包含字母 e 的学生姓名,可以使用 SELECT * FROM students WHERE name LIKE '% e%'。

三、子查询

1. select 查询

  1. 相同表查询:在同一表中进行子查询可以通过在一个查询语句中嵌套另一个针对相同表的查询来实现。例如,假设我们有一个学生表,包含学生的姓名、年龄和成绩等字段。如果我们想要找出年龄大于平均年龄的学生,可以使用以下子查询:SELECT * FROM students WHERE age > (SELECT AVG (age) FROM students); 这里,内部子查询先计算出学生表中年龄的平均值,然后外部查询筛选出年龄大于这个平均值的学生记录。这种方法在需要根据同一表中的某些统计信息进行筛选时非常有用。
  1. 多表查询:在多个表之间进行子查询时,通常需要使用连接条件来确定表之间的关系。例如,假设有一个学生表和一个课程表,以及一个选课表用于关联学生和课程。如果我们想要找出选修了特定课程的学生信息,可以使用以下子查询:SELECT * FROM students WHERE student_id IN (SELECT student_id FROM enrollments WHERE course_id = ' 特定课程 ID'); 这里,内部子查询从选课表中找出选修了特定课程的学生 ID,然后外部查询在学生表中筛选出这些学生的信息。在处理多表查询时,需要确保连接条件准确无误,以获得正确的查询结果。
  1. not 取反操作:使用 not 可以对子查询的结果进行取反。例如,假设我们有一个订单表,包含订单 ID、客户 ID 和订单状态等字段。如果我们想要找出没有被特定客户下单的订单,可以使用以下子查询:SELECT * FROM orders WHERE order_id NOT IN (SELECT order_id FROM orders WHERE customer_id = ' 特定客户 ID'); 这里,内部子查询找出特定客户的订单 ID,然后外部查询使用 not in 对这个结果进行取反,筛选出不是特定客户下单的订单。
  1. 结合 as 别名进行子查询:结合 as 别名可以提高子查询的可读性和可维护性。例如,假设有一个销售表和一个产品表,我们想要找出销售额最高的产品信息。可以使用以下子查询:SELECT * FROM products AS p WHERE product_id IN (SELECT product_id FROM sales AS s WHERE sales_amount = (SELECT MAX (sales_amount) FROM sales)); 这里,我们给产品表和销售表分别取了别名 p 和 s,使得查询语句更加清晰易懂。在复杂的子查询中,使用别名可以避免表名的重复书写,提高查询的效率。

2. insert 插入

  1. 子查询在插入操作中的应用:在 insert 语句中,可以使用子查询将查询结果插入到另一个表中。例如,假设有一个源表和一个目标表,我们想要将源表中的部分数据插入到目标表中。可以使用以下语句:INSERT INTO target_table SELECT column1, column2,... FROM source_table WHERE condition; 这里,子查询从源表中选择满足特定条件的数据,然后将这些数据插入到目标表中。在进行插入操作时,需要确保源表和目标表的字段类型和数量相匹配,以避免数据插入错误。

3. update 更新

  1. 子查询在更新操作中的应用:在 update 语句中,可以使用子查询根据特定条件更新表中的数据。例如,假设有一个学生表,我们想要将成绩低于平均成绩的学生的成绩提高 10 分。可以使用以下子查询:UPDATE students SET score = score + 10 WHERE score <(SELECT AVG (score) FROM students); 这里,内部子查询计算出学生表中的平均成绩,然后外部查询将成绩低于这个平均值的学生的成绩提高 10 分。在使用子查询进行更新操作时,需要确保子查询的结果准确无误,以避免错误地更新数据。

4. delete 删除

  1. 子查询在删除操作中的应用:在 delete 语句中,可以使用子查询删除满足特定条件的记录。例如,假设有一个订单表,我们想要删除特定客户的所有订单。可以使用以下子查询:DELETE FROM orders WHERE customer_id IN (SELECT customer_id FROM customers WHERE customer_name = ' 特定客户名称 '); 这里,内部子查询找出特定客户的客户 ID,然后外部查询删除这些客户 ID 对应的订单记录。在进行删除操作时,需要谨慎使用子查询,确保不会误删重要数据。

5. exists 布尔输出

  1. exists 的作用:exists 关键字用于进行布尔输出,判断子查询是否有结果。如果子查询返回至少一行数据,则 exists 表达式的结果为 TRUE;否则,结果为 FALSE。例如,假设我们有一个学生表和一个课程表,以及一个选课表用于关联学生和课程。如果我们想要找出选修了至少一门课程的学生信息,可以使用以下子查询:SELECT * FROM students WHERE EXISTS (SELECT * FROM enrollments WHERE student_id = students.student_id); 这里,内部子查询检查选课表中是否存在与学生表中当前学生 ID 匹配的记录。如果存在,则 exists 表达式的结果为 TRUE,外部查询将返回该学生的信息。
  1. 应用场景:exists 在连接查询中非常有用,可以用于判断是否存在满足条件的记录。例如,在上述学生和课程的例子中,我们可以使用 exists 来筛选出选修了特定课程的学生信息:SELECT * FROM students WHERE EXISTS (SELECT * FROM enrollments WHERE student_id = students.student_id AND course_id = ' 特定课程 ID'); 这里,内部子查询在选课表中查找与学生表中当前学生 ID 匹配且课程 ID 为特定值的记录。如果存在这样的记录,则 exists 表达式的结果为 TRUE,外部查询将返回该学生的信息。

四、MySQL 视图

1. 什么是视图

  1. 视图的定义:视图是基于 SQL 查询的可视化表示,如同一个虚拟的表。它并不实际存储数据,而是由查询语句动态生成结果集。当对视图进行查询时,数据库系统会执行定义视图的查询语句,并返回相应的结果。
  1. 作用与优势:
    • 简化复杂查询:将复杂的 SQL 语句封装在视图中,用户可以像查询普通表一样使用视图,无需了解底层复杂的查询逻辑。
    • 提高数据安全性:通过视图可以限制用户对特定数据的访问,只展示用户需要的数据,保护敏感信息。
    • 提供逻辑抽象:视图可以隐藏底层表的结构和复杂性,为用户提供一个更简洁的逻辑视图。同时,当底层表结构发生变化时,只需修改视图定义,而不影响使用视图的应用程序。

2. 视图和表的区别与联系

  1. 区别:
    • 结构方面:表是实际存储数据的实体,具有固定的结构和内容;视图是虚拟表,不实际存储数据,只是存储了查询的定义。
    • 存储方式:表中的记录需要占用物理空间存储数据;视图不占实际的物理空间,其结果集是在查询时动态生成的。
    • 更新限制:视图的更新受到一定限制,例如当视图定义中包含聚合函数、分组、连接等操作时,可能无法直接进行更新操作;而表可以更灵活地进行插入、更新和删除操作。
  1. 联系:
    • 视图是在基本表之上建立的表,其字段和记录都来自基本表,依赖基本表而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象,在逻辑意义上建立新的关系。

3. 单表创建视图

  1. 创建方法:在 MySQL 中,可以使用 CREATE VIEW 语句基于单个表创建视图。语法为:CREATE VIEW view_name AS SELECT column1, column2,... FROM single_table; 例如,假设我们有一个学生表 students,要创建一个只包含学生姓名和年龄的视图,可以使用以下语句:CREATE VIEW student_name_age AS SELECT name, age FROM students;
  1. 查询视图:查询单表视图中的数据与查询普通表类似,使用 SELECT 语句即可。例如:SELECT * FROM student_name_age; 对视图进行更新和删除操作时,需要注意视图的可更新性。如果视图定义满足一定条件,如基于单个表且不包含聚合函数等复杂操作,可以进行更新和删除操作。例如,要更新视图中的年龄字段,可以使用 UPDATE 语句:UPDATE student_name_age SET age = age + 1;

4. 多表创建视图

  1. 多表连接创建视图:可以通过多表连接创建视图,使用 JOIN 关键字设置连接条件。例如,假设有学生表 students、课程表 courses 和选课表 enrollments,要创建一个包含学生姓名、课程名称和选课成绩的视图,可以使用以下语句:CREATE VIEW student_course_grade AS SELECT s.name, c.course_name, e.grade FROM students s JOIN enrollments e ON s.student_id = e.student_id JOIN courses c ON e.course_id = c.course_id;
  1. 视图的应用:多表视图的应用场景广泛,如简化复杂的多表查询,用户无需了解复杂的连接逻辑,只需查询视图即可获取所需数据。同时,多表视图可以提供定制化的数据视图,根据特定需求展示特定字段的数据组合。

五、NULL 值

1. NULL 值与空值区别

  1. 概念辨析:在 MySQL 中,NULL 值表示缺少一个已知或适当的值,它并不等同于空字符。空值通常指一个空字符或零长度的字符串,可以用空引号 "" 来表示。例如,整数类型以外的列都可以包含 NULL 值,但空值是已经被定义了的值,只是在具体情况下没有实际的值填入。零和空字符串其实是值,而 NULL 意味着 “没有值”。
  1. 处理方法:在查询和操作中,处理 NULL 值和空值的方式有所不同。判断 NULL 要用 IS NULL 或者 IS NOT NULL,SQL 语句函数中可以使用 IFNULL () 函数来进行处理。而判断空字符用 "=" 或者 "<"、">" 来进行处理。在进行 COUNT () 统计某列的记录数的时候,如果采用的 NULL 值,会被系统自动忽略掉,但是空值是会进行统计到其中的。在使用 ORDER BY 进行排序时,对于升序排序,NULL 值会排在其他值之前;对于降序排序,NULL 值会排在其他值之后。在 SQL 中,NULL 值与任何其他值进行比较时都不会为真,即使是 NULL 与 NULL 进行比较也是如此。

六、总结

MySQL 的复杂查询语句包括常用查询、子查询和视图等,它们各有其独特的魅力和实用性。

在常用查询中,我们学习了order by排序、and和or判断、distinct查询不重复记录、group by对结果进行分组、limit限制结果输出条目、设置别名以及通配符查询等技巧。这些技巧能够帮助我们高效地检索和处理数据,满足不同的查询需求。

子查询则提供了更强大的查询功能,可以在select、insert、update和delete操作中灵活运用。通过子查询,我们可以实现复杂的筛选和数据处理操作,提高数据管理的效率。

视图是基于 SQL 查询的可视化表示,如同一个虚拟的表。它具有简化复杂查询、提高数据安全性和提供逻辑抽象等优势。我们可以通过单表或多表创建视图,灵活地定制数据视图,满足不同用户的需求。

总之,MySQL 的复杂查询语句为我们提供了强大的数据查询和处理工具。在实际应用中,我们应

相关文章:

《MySQL 查询进阶:复杂查询语句的魅力》

一、引言 MySQL 的复杂查询语句就像是一把神奇的钥匙&#xff0c;能够打开数据世界的大门&#xff0c;展现出数据的无限魅力。本文将带你深入探索 MySQL 查询进阶技巧&#xff0c;从常用查询到子查询&#xff0c;再到视图的运用&#xff0c;让你领略复杂查询语句的强大功能。 …...

OpenHarmony-3.HDF框架(2)

OpenHarmony HDF 平台驱动 1.平台驱动概述 系统平台驱动框架是系统驱动框架的重要组成部分&#xff0c;它基于HDF驱动框架、操作系统适配层(OSAL, operating system abstraction layer)以及驱动配置管理机制&#xff0c;为各类平台设备驱动的实现提供标准模型。 系统平台驱动(…...

人大金仓(KingBaseEs)数据库操作手册

人大金仓数据库&#xff08;KingbaseES&#xff09;是由北京人大金仓信息技术股份有限公司&#xff08;简称人大金仓&#xff09;自主研发的、具有自主知识产权的通用关系型数据库管理系统。 官方下载地址&#xff1a;KingbaseES 人大金仓数据库 KES技术文档在线手册&#xf…...

Flink+Paimon实时数据湖仓实践分享

随着 Paimon 近两年的推广普及&#xff0c;使用 FlinkPaimon 构建数据湖仓的实践也越来越多。在 Flink 实时数据开发中&#xff0c;对于依赖大量状态 state 的场景&#xff0c;如长周期的累加指标计算、回撤长历史数据并更新等&#xff0c;使用实时数仓作为中间存储来代替 Flin…...

w~深度学习~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12663254 #Motion Plan 代码 github.com/liangwq/robot_motion_planing 轨迹约束中的软硬约束 前面的几篇文章已经介绍了&#xff0c;轨迹约束的本质就是在做带约束的轨迹拟合。输入就是waypoint点list&#xff0c;约束…...

KVM 虚拟化

KVM&#xff08;Kernel-based Virtual Machine&#xff09;是一种基于内核的虚拟机技术&#xff0c;具有以下优势&#xff1a; ‌开源性‌&#xff1a;KVM是完全开源的&#xff0c;这意味着它没有许可费用&#xff0c;适合预算有限的用户。‌性能‌&#xff1a;KVM利用Linux内…...

MONI后台管理系统-数据库设计

前言&#xff1a;该文档纯属个人总结设计&#xff0c;如果雷同&#xff0c;纯属巧合&#xff0c;其中还有很不合理之处&#xff0c;请大家批评指正。如有应用于项目&#xff0c;请慎重。 注意: 如有需要该文件的sql脚本&#xff0c;请移步&#xff1a;资源下载 1. 表清单 序号…...

Rigol DP711自动控制--SCPI命令

通过串口的SCPI命令来控制通道输入输出 也可以用UltraSigma UI来发送SCPI 物理连接&#xff1a; Pin2_2, Pin3_3, Pin5_5 串口命令控制&#xff1a; 命令&#xff1a;9600&#xff0c; 8bit, None SCPI CMD(Standard Commands for Programmable Instruments) OUTPut CH1, On…...

总结FastDFS的面试题

目录 一&#xff1a;FastDFS的基础知识 1&#xff1a;定义 2&#xff1a;FastDFS的优点 3&#xff1a;tracker server 4&#xff1a;storage server 二&#xff1a;FastDFS的存储原理 1&#xff1a;小文件存储的问题 2&#xff1a;小文件合并存储 3&#xff1a;文件上…...

Fiddler 5.21.0 使用指南:过滤浏览器HTTP(S)流量下(四)

概述 在上一篇文章中&#xff0c;我们介绍了一部分简单的过滤功能&#xff0c;已经可以帮助我们较为准确的定位到感兴趣的请求&#xff1b;提升我们的工作效率&#xff0c;我们可以通过设置更为复杂的过滤规则&#xff0c;精准到定位的我们想要的请求和响应信息。专注于分析对…...

【踩坑】pip安装依赖卡在Installing build dependencies ...

pip安装依赖卡在Installing build dependencies ... 如图&#xff0c;pip安装依赖一直卡着&#xff0c;最后不得不ctrlC强制终止 用–verbose显示详细安装信息&#xff0c;发现卡在安装numpy pip install -r requirements.txt --verbose大概率是网络问题&#xff0c;用镜像单…...

【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解(下)

目录 详细解释更改文件内容4 运行模块(run):README.namelist5 输出模块(share):share/module_check_a_mundo.Fshare/output_wrf.F参考SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解的前两部分内容可参见-【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放A…...

云桌面:云计算桌面

目录 云桌面的定义和核心概念 技术架构详解 主流架构详解 管理成本分析 安全性措施 应用场景详解 云桌面的定义和核心概念 云桌面是一种通过云计算技术提供的虚拟桌面服务&#xff0c;它允许用户通过网络访问远程服务器上的虚拟机&#xff0c;这些虚拟机为用户提供了一个…...

WPF+LibVLC开发播放器-音量控制和倍速控制

界面 界面上增加音量的控件和倍速控制控件 音量控制 主要也是一个Slider进度条控件来实现音量调节 我们这里设置默认的最大值为100&#xff0c;默认Value值也为100&#xff0c;默认声音开到最大 这里目前完全由前端控制音量调节&#xff0c;可以直接使用ValueChanged事件实…...

数智运营一体化平台项目经营分享

分离前后台&#xff0c;增强产品管理灵活性 前端成熟的流程平台&#xff0c;支持低代码快速灵活配置流程表单&#xff0c;完美解决流程频繁变化与快速上线、费用控制的矛盾。使产品管理体系&#xff0c;摆脱了流程可移植性差和投入大量人力物力无止境修改流程的困境。同时&…...

记录blender学习过程中遇到的问题

物体发射的方向不对 被发射物体&#xff08;例如一棵树&#xff09;n键看旋转归0 切换正视图 将被发射物体的局部坐标的Z轴 指向 全局方向的X轴时 并且把粒子系统设置的物体旋转勾选上 方向就对了 做倒角发现有问题 检查缩放应用、面朝向、有没有重合点&#xff08;融合点&am…...

(八)腾讯cloudstudio+Stable-Diffusion-webui AI绘画教程-安装插件

一、说明 本文安装8个插件&#xff0c;先安装&#xff0c;后面在慢慢学习&#xff0c;我也是第一次喔 二、中英文双语语言包 &#xff08;二&#xff09;Ubuntu22.04Stable-Diffusion-webui AI绘画 中英双语插件安装-CSDN博客https://blog.csdn.net/jiangkp/article/details…...

记一次跑前端老项目的问题

记一次跑前端老项目的问题 一、前言二、过程1、下载依赖2、启动项目3、打包 一、前言 在一次跑前端老项目的时候&#xff0c;遇到了一些坑&#xff0c;这里记录一下。 二、过程 1、下载依赖 使用 npm install下载很久&#xff0c;然后给我报了个错 core-js2.6.12: core-js…...

深度学习:MindSpore自动并行

随着模型规模的逐渐增大&#xff0c;需要的算力逐渐增强&#xff0c;但是算力需求增长速度远高于芯片算力增长速度。现在唯一的解决方案只有通过超大规模集群训练大模型。 大集群训练大模型的挑战 内存墙 200B参数量的模型&#xff0c;参数内存占用745GB内存&#xff0c;训练…...

python拆分Excel文件

按Sheet拆分Excel 或 按照某一列的不同值拆分Excel。文档样式如下&#xff1a; 结果&#xff1a;红色是按照Sheet名拆出的&#xff0c;蓝色和橙色是某个Sheet按照某列的不同值拆分的。 代码&#xff1a; # -*- coding: utf-8 -*- """ 拆分excel文件——按照…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...