【专题】数据库编程

news2024/10/22 10:13:20

1. MySQL编程基础

1.1 常量与变量

字符串常量:

  • 字符串常量指用单引号或双引号括起来的字符序列。

示例:查询表emp中ename值为SCOTT的雇员信息。

SELECT * FROM emp WHERE ename='SCOTT';

数值常量:

  • 数值常量可以分为整数常量和小数常量。

示例:将表emp中,SCOTT雇员的comm值改为1250(要求用科学记数法表示)。

UPDATE emp SET COMM=1.25E+3 WHERE ename='SCOTT';

日期和时间常量:

  • 日期和时间常量使用特定格式的字符日期值表示,用单引号括起来。

示例:查询表emp中1981年以后雇用员工的ename和hiredate信息。

SELECT ename,hiredate FROM emp WHERE hiredate>'1981/12/31';

布尔值常量:

  • 布尔值只有true和false两个值,SQL命令运行结果用1代表true,用0代表false

示例:查询表emp中所有雇员的姓名ename和工资sal是否大于等于2000的判断结果。

SELECT ename,sal>2000 FROM emp;

NULL值:

  • NULL值参与的运算,结果仍为NULL值。

示例:将表emp雇员SCOTT的comm列值改为NULL值,然后再在NULL值的基础上加1250元,请考虑最终comm列值是什么?

UPDATE emp SET comm=NULL WHERE ename='SCOTT';
UPDATE emp SET comm=comm+1250 WHERE ename='SCOTT';
SELECT * FROM emp WHERE ename='SCOTT';

局部变量:

  • 局部变量的定义与赋值:

SET @局部变量名=表达式1[,@局部变量名=表达式2,……];

  • 局部变量的显示:

SELECT @局部变量名[,@局部变量名,……];

示例:查询表emp中雇员'SMITH'的job和hiredate值赋给变量job_v、hiredate_v,并显示两个变量的值。

SELECT job,hiredate INTO @job_v,@hiredate_v FROM emp WHERE ename='SMITH';
SELECT @job_v,@hiredate_v;

全局变量:

  • 全局变量是MySQL系统提供并赋值的变量。

  • 用户不能定义全局变量,只能使用。

全局变量名称说明
@@storage_engine返回存储引擎
@@version返回服务器版本号

示例:查看MySQL的版本信息。

SELECT @@version;

1.2 常用系统函数

字符串函数:

  • 计算字符串字符数的函数和字符串长度的函数。

  • CHAR_LENGTH(str)返回字符串str所包含的字符个数

  • LENGTH(str)返回值为字符串的字节长度。一个汉字是3个字节,一个数字或字母是1个字节。

示例:

SELECT  CHAR_LENGTH('CHINA'),LENGTH('CHINA');
SELECT  CHAR_LENGTH('中国') 字符数,LENGTH('中国') 字符串长度;
  • 合并字符串函数:

    CONCAT(s1,s2,……) ,返回结果为连接参数产生的字符串,如果任何一个参数为NULL,则返回值为NULL。

示例:

SELECT CONCAT('MySQL版本:',@@version) 版本信息

  • 字符串大小写转换函数:

    LOWER(str),是将字符串str中的字母字符全部转换成小写字母。

    UPPER(str),是将字符串str中的字母字符全部转换成大写字母。

示例:

SET @name='sCOtt';
SELECT * FROM emp WHERE UPPER(ename)=UPPER(@name);
  • 删除空格函数:

    LTRIM(str),返回删除前导空格的字符串str;

    RTRIM(str),返回删除尾部空格的字符串str;

    TRIM(str),返回删除两侧空格的字符串str。

示例:

SET @name='  SCOtt  ';
SELECT * FROM emp WHERE UPPER(ename)=TRIM(UPPER(@name));
  • 取子串函数:

    SUBSTRING(str,start,length),返回字符串str从start开始长度为length的子串。

示例:返回emp中ename值以'S'开头的雇员信息。

SELECT * FROM emp WHERE SUBSTRING(ename,1,1)='S';
SELECT * FROM emp WHERE ename LIKE 'S%';

数学函数:

  • ABS(x),返回x的绝对值。

  • PI(),返回圆周率π的值。

  • SQRT(),返回非负数的二次方根。

  • MOD (m,n),返回m被n除后的余数。

  • ROUND(x,y),把x四舍五入到y指定的精度返回。如果y为负数,则将保留x值到小数点左边y位。

示例:

SELECT SQRT(ROUND(ABS(-4.01*4.01),0)),MOD(-10,3),MOD(10,-3);

日期和时间函数:

  • 获取当前系统的日期及取日期的年、月、日函数。

    CURDATE(),返回当前系统日期,格式为'YYYY-MM-DD'。

    YEAR(d)MONTH(d)DAY(d)分别返回日期或日期时间d的年、月、日的值。

示例:查询表emp员工SMITH的工作年限。

SELECT ename 姓名,YEAR(CURDATE())-YEAR(hiredate) 工作年限 
    FROM  EMP WHERE ename='SMITH';
  • 获取当前系统日期时间函数。

    CURRENT_TIMESTAMP()LOCALTIME()NOW()SYSDATE(),4个函数作用相同,均返回当前系统的日期时间

    格式为'YYYY-MM-DD HH:MM:SS'

示例:查询表emp员工SMITH的工作年限。

SELECT ename 姓名,YEAR(SYSDATE())-YEAR(hiredate) 工作年限    
    FROM EMP  
    WHERE ename='SMITH';

系统信息函数:

  • USER(),返回当前登录的用户名。

  • DATABASE(),返回当前使用数据库名。

  • VERSION(),返回MySQL服务器版本号。

示例:查询表emp员工SMITH的工作年限。

SELECT CONCAT('MySQL版本号:',VERSION(),';用户:',USER()) 
    AS 登录信息;

条件控制函数:

  • IF函数:

    IF(条件表达式,v1,v2)

示例:查询表emp前5条记录,显示ename和comm字段的值,当comm字段值为NULL时,显示值为0,否则显示当前字段的值。

SELECT ename,IF(comm IS NULL,0,comm) 奖金
   FROM emp LIMIT 5;
  • CASE()函数:

    CASE 表达式
        WHEN  v1  THEN  r1
        WHEN  v2  THEN  r2
        ……
        [ELSE   rn]
    END

示例:查询'SMITH'所在部门名称。

SELECT ename 姓名,
    CASE deptno
        WHEN  10  THEN  'ACCOUNTING'
        WHEN  20  THEN  'RESEARCH'
        WHEN  30  THEN  'SALES'
        WHEN  40  THEN  'OPERATIONS'
    END  部门名称
    FROM  emp
    WHERE  ename='SMITH';

数据类型转换函数:

  • CAST(x AS 新类型 )

  • CONVERT(x 新类型)

示例:

SELECT CONCAT(@name,'的工资是',CAST(@salary AS CHAR(7))) 信息;

2. 程序控制流语句

2.1 语句块、注释和重置命令结束标记

语句块:

BEGIN
    SQL语句 | SQL语句块
END
  • BEGIN…END语句块包含了该程序块的所有处理操作,允许语句块嵌套。

  • 在MySQL中单独使用BEGIN…END语句块没有任何意义,只有将其封装在存储过程、存储函数等存储程序内部才有意义。

注释:

  • 单行注释:

    使用#符号作为单行语句的注释符,写在需要注释的行或语句后方。

示例:

#取两个数的最大值
SET  @x=5,@y=6;                             #定义两个变量并赋值
SELECT  IF(@x>@y,@x,@y)  最大值;  
  • 多行注释:

    使用/**/括起来可以连续书写多行的注释语句。

示例:

/*在使用MySQL执行update的时候,如果不是用主键当where语句,会报错,使用主键用于where语句中则正常。因为MySQL运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令,执行命令 SET SQL_SAFE_UPDATES = 0修改下数据库模式。*/
SET SQL_SAFE_UPDATES=0;
UPDATE  dept_c  SET  deptno=50 WHERE deptno=10;

重置命令结束标记:

  • DELIMITER符号.

  • 符号可以是一些特殊符号,如两个“#”(##)、两个“@”(@@)、两个“$”($$)、两个“%”(%%)等。

  • 恢复使用分号作为结束标记,执行 DELIMITER ; 命令即可。

示例:

DELIMITER @@
SELECT * FROM emp@@
DELIMITER ;
SELECT * FROM emp;

2.2 存储函数

存储函数的创建:

CREATE FUNCTION 函数名([参数名 参数数据类型[,…]])
RETURNS  函数返回值的数据类型
BEGIN
    函数体;
    RETURN  语句;
END

调用存储函数:

SELECT  函数名([参数值[,…]]);

示例:创建存储函数name_fn,根据所给的部门编号deptno值,函数返回该部门的部门名称dname。

DELIMITER @@
CREATE FUNCTION name_fn(dno  DECIMAL(2))
    RETURNS  VARCHAR(14)
    BEGIN
        RETURN(SELECT dname FROM  dept   WHERE  deptno=dno);  
    END@@

删除存储函数:

DROP FUNCTION 函数名;
# 函数名后面不要加括号。

示例:删除创建的name_fn存储函数。

DROP FUNCTION name_fn;

2.3 条件判断语句

程序中变量的使用:

  • 声明变量:

    DECLARE 局部变量名[,……] 数据类型 [DEFAULT 默认值];

    DECLARE声明的局部变量,变量名前不能加@。

    DEFUALT子句提供了一个默认值,如果没有给默认值,局部变量初始值默认为NULL。

  • 为变量赋值:

    SET 局部变量名=表达式1[,局部变量名=表达式2,……];

示例:创建求任意两个数和的存储函数sum_fn()。

DELIMITER @@                  
CREATE FUNCTION sum_fn(a DECIMAL(5,2),b DECIMAL(5,2))
RETURNS DECIMAL
    BEGIN
        DECLARE x,y DECIMAL(5,2);  
        SET x=a,y=b;              
        RETURN x+y;
    END@@
​
DELIMITER;
SELECT sum_fn(7,3);

IF语句:

  • 形式一:

IF  条件 THEN
    SQL语句块1;
    [ ELSE
    SQL语句块2;
    ]
    END IF;

示例:创建函数,返回两个数的最大值

DELIMITER @@
CREATE FUNCTION max_fn(a int,b int)
    RETURNS  INT
    BEGIN
        IF a>b THEN
        RETURN a;
    ELSE
        RETURN b;
    END IF;
END@@

  • 形式二:

IF 条件 THEN
    SQL语句块1;
    ELSEIF 条件2 THEN
        SQL语句块2;
        # ……
    ELSE
        SQL语句n;
    END IF;

CASE语句:

  • 形式一:

CASE  表达式
    WHEN   表达式值1  THEN   SQL语句块1;
    WHEN   表达式值2  THEN   SQL语句块2;
    ……
    WHEN   表达式值n  THEN   SQL语句块n;
    [ ELSE   SQL语句块n+1;  ]
END;

示例:判断显示emp表中前3条记录的姓名和职务。

SELECT  ename 姓名,
    CASE job
        WHEN 'SALESMAN' THEN '销售员'
        WHEN 'CLERK'          THEN '管理员'
        ELSE '经理'
    END AS 职务
FROM EMP  LIMIT 3;
  • 形式二:

CASE   
    WHEN   条件1  THEN   SQL语句块1;
    WHEN   条件2  THEN   SQL语句块2;
    ……
    WHEN   条件n  THEN   SQL语句块n;
    [ ELSE   SQL语句块n+1;  ]
END;

2.4 循环语句

LOOP循环:

标签:LOOP
    SQL语句块;
    IF <条件表达式> THEN
        LEAVE  标签;
    END IF;
END LOOP;

WHILE循环:

WHILE  条件   DO
    SQL语句块;
END WHILE;

REPEAT循环:

REPEAT
    SQL语句块;
    UNTIL  条件
END REPEAT;

3. 存储过程

存储过程是用于执行特定操作的SQL语句的集合。创建一次,可重复调用任意多次。

存储过程的优点:

  • 执行速度快。

    存储过程在创建时被编译,在第一次执行之后,就驻留在内存中,之后每次执行该存储过程均不需要再重新编译。

  • 减少网络通信流量。

    调用执行仅用一条语句,所以只有少量的SQL语句在网络线上传输。

3.1 创建存储过程

CREATE  PROCEDURE 存储过程名()
BEGIN
    过程体;
END

示例:创建存储过程emp_p,在emp表中查询职工编号为7369员工的姓名和工作。

SET GLOBAL log_bin_trust_function_creators = 1;
DELIMITER @@
CREATE PROCEDURE emp_p()
BEGIN
    SELECT  ename,job FROM  emp   
        WHERE  empno=7369;
END@@

3.2 调用存储过程

CALL 存储过程名();

示例:调用存储过程emp_P。

DELIMITER ;
CALL emp_p();

3.3 存储过程的参数

CREATE PROCEDURE 存储过程名(
    [ IN | OUT | INOUT]  参数1  数据类型,
    [ IN | OUT | INOUT]  参数2  数据类型,
    ……
)
BEGIN
    过程体;
END

IN参数:

  • 输入参数,该参数值由调用者传入。

OUT参数:

  • 输出参数,向调用者返回一个或多个数据。

示例:创建存储过程dept_p2,该过程根据提供的部门编号,返回部门的名称和地址。

DELIMITER @@
CREATE PROCEDURE dept_p2(
    
    IN  i_no   DECIMAL(2,0),
    OUT o_name VARCHAR(14),
    OUT o_loc  VARCHAR(13)
    
    )
    BEGIN
    SELECT dname,loc  INTO o_name,o_loc FROM dept  
        WHERE deptno=i_no;
 END@@

IN OUT参数:

  • 输入输出参数。

3.4 删除存储过程

DROP PROCEDURE 存储过程名;

示例:删除存储过程emp_p。

DROP PROCEDURE emp_p;

4. 游标

通过SELECT语句查询时,返回的结果是一个由多行记录组成的集合。

游标是在存储程序中使用包含SELECT语句声明的游标。

4.1 游标的定义和使用

声明游标:

DECLARE 游标名 CURSOR FOR SELECT语句;

  • 声明游标的作用是得到一个SELECT查询结果集。

打开游标:

OPEN 游标名;

提取数据:

FETCH 游标名 INTO 变量名1[,变量名2,……];

  • 成功打开游标后,游标指针指向结果集的第一行之前。

  • FETCH语句将使游标指针指向下一行。

关闭游标:

CLOSE 游标名;

示例:创建存储过程emp_p,提取emp表中7788雇员的姓名和职务。

DELIMITER @@
CREATE PROCEDURE emp_p()
 BEGIN
    DECLARE v_ename VARCHAR(14);     
    DECLARE v_job   VARCHAR(13);     
    DECLARE emp_cursor CURSOR       
        FOR  SELECT  ename,job  FROM emp  WHERE  empno=7788;
    OPEN emp_cursor;                 
    FETCH emp_cursor INTO v_ename,v_job;   
    CLOSE emp_cursor;                  
    SELECT v_ename,v_job;
 END@@
​
DELIMITER ;
CALL emp_p();

4.2 异常处理

DECLARE 错误处理类型 HANDLER FOR 错误条件 错误处理程序;

  • 异常处理语句必须放在所有变量及游标定义之后,所有MySQL表达式之前;

  • 错误处理类型,只有CONTINUE和EXIT两种。

  • CONTINUE表示错误发生后,MySQL立即执行自定义错误处理程序,然后忽略该错误继续执行其它MySQL语句。

  • EXIT表示错误发生后,MySQL立即执行自定义错误处理程序,然后立刻停止其它MySQL语句的执行。

  • 错误条件,定义了自定义错误处理程序运行的时机。

    1. SQLSTATE 'ANSI标准错误代码':包含5个字符的字符串值

      DECLARE EXIT HANDLER FOR SQLSTATE '42S02' SET @info='NO_SUCH_TABLE';

    2. MySQL错误代码:匹配数值类型的错误代码

      DECLARE EXIT HANDLER FOR 1146 SET @info='NO_SUCH_TABLE';

    3. SQLWARNING:匹配所有以01开头的SQLSTATE错误代码

      DECLARE EXIT HANDLER FOR SQLWARNING SET @info='ERROR';

    4. NOT FOUND:匹配所有以02开头的SQLSTATE错误代码

      DECLARE EXIT HANDLER FOR NOT FOUND SET @info='NO_SUCH_TABLE';

    5. SQLEXCEPION:匹配所有没有被SQLWARNING或NOT FOUND捕获的SQLSTATE错误代码

      DECLARE EXIT HANDLER FOR SQLEXCEPTION SET @info='ERROR';

  • 错误处理程序,错误发生后,MySQL会立即执行自定义错误处理程序中的MySQL语句。

    DECLARE EXIT HANDLER FOR NOT FOUND SET @info='NO_SUCH_TABLE';

5. 嵌入式SQL

5.1 区分主语言语句与SQL语句

在嵌入式SQL中,为了能够快速区分SQL语句与主语育语句,所有SOL语句都必须加前缀。当主语言为C语言时,语法形式如下:

EXEC SQL SQL语句;

5.2 嵌人式SOL语句与主语言的通信

  1. SQL语句将执行状态信息传递给主语言。

    主语言得到该状态信息后,可根据此状态信息来控制程序流程,以控制后面的SQL语句或主语言语句的执行。向主语言传递SQL执行状态信息,主要用SQL,通信区(SQL Communication Area,SQLCA)实现,

  2. 主语言需要提供一些变量参数给SQL语句。

    该方法是在主语言中定义主变量(Host Variable),在SQL语句中使用主变量,将参数值传递给 SQL语句。

  3. 将SQL语句查询数据库的结果返回给主语言做进一步处理。

    如果SQL语句向主语言返回的是一条数据库记录,可使用主变量;若返回值为多条记录的集合,则使用游标。

5.3 主变量的定义和使用

主变量的定义:

在使用主变量之前,必须在SQL语句BEGIN DELARE DECLARE SECTION之END DECLARE SECTION间进行声明。

在声明之后,主变量可以在SQL语句中任何一个能够使用表达式的地方出现,为了与数据库对象名(例如表名、视图名、列名等)区别,应在SQL语句中的主变量名前加冒号(:)。

使用主变量的注意事项:

  1. 主变量在使用前,必须在嵌入SQL语句的说明部分明确定义。

  2. 主变量在定义时,所用的数据类型应为主语言提供的数据类型,而不是SQL的数据类型。同时要注意主变量的大小写。

  3. 在SQL语句中使用主变量时,必须在主变量前加一个冒号(:),在不含SQL语句的主语言语句中,则不需要在主变量前加冒号。

  4. 主变量不能是SQL命令的关键字,例如SELECT 等;

  5. 在一条SQL语句中,主变量只能使用一次。

主变量的定义:

EXEC SQL BEGIN DECLARE SECTION; /* 说明主变量 */
    char msno[4],mcno[3],givenson[5];
    int mgrade;
    char SQLSTATE[6];
EXEC SQL END DECLARE SECTION;

在SELECT语句中使用主变量:

  • 在嵌入式SQL中,如果查询结果为单记录,则SELECT语句需要用INTO子句指定查询结果的存放地点—主变量。

在INSERT语句中使用主变量:

  • 在INSERT语句的VALUES子句中,可以使用主变量指定插人的值。

在UPDATE语句中使用主变量:

  • 在UPDATE语句的SET子句和WHERE子句中,均可以使用主变量。

在DELETE语句中使用主变量:

  • 在DELETE语句的WHERE子句中,可以使用主变量指定删除条件。

5.4 嵌入式SOL中游标的定义与使用

声明游标:

EXECT SQL DECLARE 游标名 CURSOR
    FOR SELECT 语句;

打开游标:

EXEC SQL OPEN 游标名;

提取数据:

EXEC SQL FETCH FROM 游标名 INTO 主变量[,主变量,...];

关闭游标:

EXEC SQL CLOSE 游标名;

5.5 动态SQL语句

动态SQL预备语句:

EEXEC SQL PREPARE 动态SQL语句名 FROM 共享变量或字符串;

动态SQL执行语句:

EXEC SQL EXECUTE 动态SQL语句名;

当预备语句中组合而成的SQL语句只需执行一次时,预备语句和执行语句可合并成一个语句:

EXEC SQLEXECUTE IMMEDIATE 共享变量或字符串;

当预备语句中组合而成的SQL语句的条件值尚缺时,可以在执行语句中用USING 短语补上:

EXEC SOL EXECUTE 动态SQL语名 USING 共享变量;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费插件集-illustrator插件-Ai插件-创建外接圆

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;实现创建图形中的创建外接圆功能。首先从下载网址下载这款插件https://download.csdn.net/download/m0_67316550/…

Java消息摘要:SHA验证数据完整性、密码的加密

1、SHA 算法家族 SHA&#xff08;Secure Hash Algorithm&#xff0c;安全散列算法&#xff09;是一个密码散列函数家族&#xff0c;被美国国家安全局&#xff08;NSA&#xff09;设计&#xff0c;并由美国国家标准与技术研究院&#xff08;NIST&#xff09;发布为联邦数据处理…

无人机之自主飞行关键技术篇

无人机自主飞行指的是无人机利用先进的算法和传感器&#xff0c;实现自我导航、路径规划、环境感知和自动避障等能力。这种飞行模式大大提升了无人机的智能化水平和操作的自动化程度。 一、传感器技术 传感器是无人机实现自主飞行和数据采集的关键组件&#xff0c;主要包括&a…

sql server 行转列及列转行

图1 图2 1.行转列 &#xff08;图1->图2&#xff09; 1.方法一 (数据库通用&#xff09;&#xff0c;使用max 加case when 函数 -- 行转列 图1->图2 SELECT name,MAX(CASE WHEN subject语文 THEN score ELSE 0 END) AS "语文",MAX(CASE WHEN subject数学 …

OpenSEMBA :一个用于电磁场模拟的开源软件框架

OpenSEMBA 是一个用于电磁场模拟的开源软件框架&#xff0c;主要针对时域有限差分法&#xff08;FDTD&#xff09;和其他数值方法。以下是 OpenSEMBA 的主要特点、功能和应用领域的详细介绍&#xff1a; 主要特点 开源平台 &#xff1a; OpenSEMBA 是一个开源项目&#xff0…

2025全网最全计算机毕业设计选题推荐:计算机毕设选题指导及避坑指南√

博主介绍&#xff1a;✌全网粉丝50W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HLM…

处理文件上传和进度条的显示(进度条随文件上传进度值变化)

成品效果图&#xff1a; 解决问题&#xff1a;上传文件过大时&#xff0c;等待时间过长&#xff0c;但是进度条却不会动&#xff0c;只会在上传完成之后才会显示上传完成 上传文件的upload.component.html <nz-modal [(nzVisible)]"isVisible" [nzTitle]"文…

跨浏览器免费书签管理系统

随着互联网信息的爆炸式增长&#xff0c;如何有效管理我们日常浏览中发现的重要网页&#xff0c;成为了每个重度互联网用户的需求。一个跨平台的书签管理网站能够帮助用户在不同设备之间无缝同步和管理书签。本文将分享如何使用 Python 和 SQLite 构建一个简单、易于维护的跨平…

MySQL数据库操作——(4)

目录 8 视图 8.1 常见的数据库对象 8.2 视图概述 8.2.1 为什么使用视图&#xff1f; 8.2.2 视图的理解 8.3 创建视图 8.3.1 创建单表视图 8.3.2 创建多表联合视图 8.3.3 基于视图创建视图 8.4 查看视图 8.5 更新视图的数据 8.5.1 一般情况 8.6 修改、删除视图 8.…

基于SpringBoot+Vue景区酒店点评系统【提供源码+答辩PPT+参考文档+项目部署】

&#x1f4a5; 这两年毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的JavaWeb项目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff01; ❗如何解决这类问题&#xff1f; 让我们能够顺利通过毕业&#xff0c;我也一直在不断思考、努力、精进。通过2024年…

计算机网络基本命令

实验内容&#xff1a; 1. **ipconfig命令** - **用途**&#xff1a;显示和配置TCP/IP网络设置。 - **常用选项**&#xff1a; - ipconfig&#xff1a;显示所有网络适配器的IP地址、子网掩码、默认网关等信息。 - ipconfig /all&#xff1a;显示所有网络适配器…

汽车预约维修系统ssm+论文源码调试讲解

2相关技术 2.1微信小程序 小程序是一种新的开放能力&#xff0c;开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。尤其拥抱微信生态圈&#xff0c;让微信小程序更加的如虎添翼&#xff0c;发展迅猛。 2.2 MYSQL数据…

Redis在实践的关键点

Redis键值设计 优雅的key结构 Redis的Key虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过44字节不包含特殊字符例如:我们的登录业务,保存用户信息,其key可以设计成如下格式: 这样设计的好处: 可读性强避免key冲突…

通过比较list与vector在简单模拟实现时的不同进一步理解STL的底层

cplusplus.com/reference/list/list/?kwlist 当我们大致阅读完list的cplusplus网站的文档时&#xff0c;我们会发现它提供的接口大致上与我们的vector相同。当然的&#xff0c;在常用接口的简单实现上它们也大体相同&#xff0c;但是它们的构造函数与迭代器的实现却大有不同。…

YOLOv11[基础]】热力图可视化实践① | 视频版 | 输入为视频文件

目录 一 热力图 二 安装YOLOv11 三 实践 一 热力图 使用Ultralytics YOLO11生成的热图将复杂的数据转换为充满活力的彩色编码矩阵。这个可视化工具使用一系列颜色来表示不同的数据值,其中较暖的色调表示较高的强度

探索 SVG 创作新维度:svgwrite 库揭秘

文章目录 **探索 SVG 创作新维度&#xff1a;svgwrite 库揭秘**背景介绍库简介安装指南基础函数使用实战场景常见问题与解决方案总结 探索 SVG 创作新维度&#xff1a;svgwrite 库揭秘 背景介绍 在数字艺术和网页设计领域&#xff0c;SVG&#xff08;Scalable Vector Graphic…

如何有效维护您的WordPress在线商店内容:提高客户参与度与转化率的实用技巧

在电子商务领域&#xff0c;内容为王。新鲜、相关且有吸引力的内容能显著提升客户参与度和转化率。本文将探讨如何有效更新和维护您的在线商店内容&#xff0c;确保客户始终获得最佳体验。 定期更新产品信息 产品描述 产品描述是吸引客户和促成销售的关键。定期检查并更新产…

PyCharm借助MobaXterm跳板机连接服务器

服务器信息&#xff1a; Step 1 MovaXterm→Session→SSH输入服务器信息 Step 2 MovaXterm→Session→SSH→Network setting→SSG gateway(jump host) 输入跳板机信息 键入密码即可 Step 3 MovaXterm→Tunneling→New SSH tunnel 依次输入&#xff1a;A本机端口&#xff0c…

基于RBF神经网络的双参数自适应光储VSG构网逆变器MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 此模型源侧部分采用光伏发电系统与混合储能系统&#xff08;蓄电池超级电容&#xff09;&#xff0c;并网逆变器采用虚拟同步发电机&#xff08;VSG&#xff09;控制&#xff0c;为系统提供惯量阻尼…

Numpy基础01

目录 1.array创建对象 1.1定义一维数组 1.2定义二维数组 2.Numpy的数据类型 3.数据类型标识码 4.array的API 4.1astype() 4.2max() 4.3min() 4.4sum() 4.5reshape() 4.6random.rand() 5.数组属性 5.1ndim 5.2shape 5.3itemsize 5.4flags 6.创建数组方法 6.1a…