MySQL之面试真题详解

2023-10-27

目录

1.前言

1.1InnDB存储引擎与MyISAM存储引擎的区别

1.2关系型数据库常用的三个操作

1.3行转列

2.面试题详解

2.1建立数据表

2.1.1要求

2.1.2代码

2.2试题讲解与展示


1.前言

1.1InnDB存储引擎与MyISAM存储引擎的区别

InnoDB 引擎和 MyISAM 引擎是 MySQL 中的两种常见存储引擎,它们在很多方面有着不同的特性,下面是它们之间的主要区别:

        1.事务支持:InnoDB 引擎支持事务(ACID),可以保证数据的一致性和完整性。支持事务意味着可以使用 COMMIT 和 ROLLBACK 语句来控制数据的提交和回滚。

MyISAM 引擎不支持事务,不能进行回滚操作。

        2.锁定粒度:InnoDB 引擎支持行级锁定(row-level locking),允许并发读写不同行。这样可以提高多用户并发访问时的性能。

MyISAM 引擎使用表级锁定(table-level locking),当一个用户在执行写操作时,其他用户无法对同一表进行读写操作,会带来并发性能的限制。

        3.外键支持:InnoDB 引擎支持外键约束(Foreign Key Constraint),可以在表之间建立关联关系,确保数据的完整性。通过外键约束,可以实现级联更新和级联删除操作。

MyISAM 引擎不支持外键约束,无法建立关联关系。

        4.完整性约束:InnoDB 引擎支持各种完整性约束,如主键约束、唯一约束、非空约束等。它可以在数据层面上保证数据的完整性。

MyISAM 引擎在数据层面上对数据的完整性没有强制性要求,不支持主键约束和唯一约束。完整性约束需要在应用层面上进行控制。

        5.性能:通常情况下,对于大量读操作的应用,MyISAM 引擎具有较好的性能表现,因为它使用表级锁定,对于并发读取不会产生冲突。

对于大量写操作和并发写入的应用,InnoDB 引擎通常表现更好,因为它支持行级锁定和事务处理。

综上所述,选择适合的存储引擎应根据应用的具体需求来判断。如果需要事务支持、并发控制和数据完整性,推荐使用 InnoDB 引擎;如果对性能要求比较高,并且没有复杂的事务和约束需求,可以考虑使用 MyISAM 引擎。 

1.2关系型数据库常用的三个操作

DELETE、DROP和TRUNCATE,详解如下:

1.DELETE:

  • 功能DELETE 用于从表中删除一条或多条数据。
  • 影响:DELETE 操作是 DML(数据操作语言)语句,它会触发触发器、产生回滚日志,且可以使用 WHERE 子句对要删除的数据进行筛选。
  • 回滚:DELETE 操作可以通过事务回滚来撤消已删除的行
  • 返回值:DELETE 操作在执行时会返回删除的行数。

2.DROP:

  • 功能DROP 用于删除整个数据库对象(如表、视图、索引等)。
  • 影响:DROP 操作是 DDL(数据定义语言)语句,它会永久性地从数据库中删除对象。
  • 回滚:DROP 操作不可回滚,一旦执行成功,对象将被永久性删除
  • 返回值:DROP 操作不返回任何值。

3.TRUNCATE:

  • 功能TRUNCATE 用于删除表中的所有数据。
  • 影响:TRUNCATE 操作是 DDL 语句,它会将表完全清空,并且比 DELETE 操作更快,因为它不会触发触发器、不写回滚日志,并且不使用 WHERE 子句进行筛选。
  • 回滚:TRUNCATE 操作不可回滚,一旦执行成功,数据将被永久性删除。
  • 返回值:TRUNCATE 操作在执行时不返回删除的行数。

1.3行转列

让我给出一个更具体的MySQL行转列示例,并进行效果展示。

假设有一个名为sales的表格,包含以下字段:product_idmonthquantity。表中的记录表示每个产品在每个月的销售数量。

现在我们想要将每个产品在不同月份的销售数量进行行转列操作,生成一个报表。假设有三个月份:January、February和March。

下面是一个实际的MySQL行转列示例及效果展示:

首先,创建一个示例表格并插入一些数据:

CREATE TABLE sales (
  product_id INT,
  month VARCHAR(20),
  quantity INT
);

INSERT INTO sales (product_id, month, quantity) VALUES
  (1, 'January', 100),
  (1, 'February', 150),
  (1, 'March', 200),
  (2, 'January', 50),
  (2, 'February', 75),
  (2, 'March', 100);

接下来,执行行转列的SQL查询语句:

SELECT
  product_id,
  SUM(CASE WHEN month = 'January' THEN quantity ELSE 0 END) AS January,
  SUM(CASE WHEN month = 'February' THEN quantity ELSE 0 END) AS February,
  SUM(CASE WHEN month = 'March' THEN quantity ELSE 0 END) AS March
FROM
  sales
GROUP BY
  product_id;

运行以上SQL查询后,将会得到如下的结果:

+------------+---------+----------+-------+
| product_id | January | February | March |
+------------+---------+----------+-------+
|     1      |   100   |   150    |  200  |
|     2      |   50    |    75    |  100  |
+------------+---------+----------+-------+

以上结果展示了每个产品在不同月份的销售数量,通过行转列的操作,将原来多行的数据转换为了以月份为列的形式。

希望这个示例能够帮助你理解MySQL中的行转列操作以及其效果!需要注意的是,具体的语法和表结构可能会有所不同,适当根据实际情况进行调整。

2.面试题详解

2.1建立数据表

2.1.1要求

-- 1.学生表-t_mysql_student
-- sid 学生编号,sname 学生姓名,sage 学生年龄,ssex 学生性别

-- 2.教师表-t_mysql_teacher
-- tid 教师编号,tname 教师名称

-- 3.课程表-t_mysql_course
-- cid 课程编号,cname 课程名称,tid 教师名称

-- 4.成绩表-t_mysql_score
-- sid 学生编号,cid 课程编号,score 成绩

2.1.2代码

学生表:

insert into t_mysql_student values('01' , '赵雷' , '1990-01-01' , '男');
insert into t_mysql_student values('02' , '钱电' , '1990-12-21' , '男');
insert into t_mysql_student values('03' , '孙风' , '1990-12-20' , '男');
insert into t_mysql_student values('04' , '李云' , '1990-12-06' , '男');
insert into t_mysql_student values('05' , '周梅' , '1991-12-01' , '女');
insert into t_mysql_student values('06' , '吴兰' , '1992-01-01' , '女');
insert into t_mysql_student values('07' , '郑竹' , '1989-01-01' , '女');
insert into t_mysql_student values('09' , '张三' , '2017-12-20' , '女');
insert into t_mysql_student values('10' , '李四' , '2017-12-25' , '女');
insert into t_mysql_student values('11' , '李四' , '2012-06-06' , '女');
insert into t_mysql_student values('12' , '赵六' , '2013-06-13' , '女');
insert into t_mysql_student values('13' , '孙七' , '2014-06-01' , '女');

教师表:

insert into t_mysql_teacher values('01' , '张三');
insert into t_mysql_teacher values('02' , '李四');
insert into t_mysql_teacher values('03' , '王五');

课程表:

insert into t_mysql_course values('01' , '语文' , '02');
insert into t_mysql_course values('02' , '数学' , '01');
insert into t_mysql_course values('03' , '英语' , '03');

成绩表:

insert into t_mysql_score values('01' , '01' , 80);
insert into t_mysql_score values('01' , '02' , 90);
insert into t_mysql_score values('01' , '03' , 99);
insert into t_mysql_score values('02' , '01' , 70);
insert into t_mysql_score values('02' , '02' , 60);
insert into t_mysql_score values('02' , '03' , 80);
insert into t_mysql_score values('03' , '01' , 80);
insert into t_mysql_score values('03' , '02' , 80);
insert into t_mysql_score values('03' , '03' , 80);
insert into t_mysql_score values('04' , '01' , 50);
insert into t_mysql_score values('04' , '02' , 30);
insert into t_mysql_score values('04' , '03' , 20);
insert into t_mysql_score values('05' , '01' , 76);
insert into t_mysql_score values('05' , '02' , 87);
insert into t_mysql_score values('06' , '01' , 31);
insert into t_mysql_score values('06' , '03' , 34);
insert into t_mysql_score values('07' , '02' , 89);
insert into t_mysql_score values('07' , '03' , 98);

2.2试题讲解与展示

01)查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数

查询语句:

SELECT
	st.*,
	s1.score '01课程',
	s2.score '02课程'
FROM
	( SELECT * FROM t_mysql_score WHERE cid = "01" ) s1,
	( SELECT * FROM t_mysql_score WHERE cid = "02" ) s2,
	t_mysql_student st 
WHERE
	s1.sid = s2.sid 
	AND s1.sid = st.sid 
	AND s1.score > s2.score

运行结果如下:

02)查询同时存在" 01 "课程和" 02 "课程的情况

查询语句:

SELECT
	s.*,
	( CASE WHEN s1.cid = "01" THEN s1.score END ) '01课程',
	( CASE WHEN s2.cid = "02" THEN s1.score END ) '02课程' 
FROM
	( SELECT * FROM t_mysql_score WHERE cid = "01" ) s1,
	( SELECT * FROM t_mysql_score WHERE cid = "02" ) s2,
	t_mysql_student s 
WHERE
	s1.sid = s2.sid 
	AND s1.sid = s.sid

运行结果如下:

03)查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )

查询语句:

SELECT
	s1.sid,
	s1.cid,
	s1.score '01课程',
	s2.score '02课程'
FROM
	( SELECT * FROM t_mysql_score sc WHERE sc.cid = "01" ) s1
	LEFT JOIN ( SELECT * FROM t_mysql_score sc WHERE sc.cid = "02" ) s2 ON s1.sid = s2.sid

运行结果如下:

04)查询不存在" 01 "课程但存在" 02 "课程的情况

查询语句:

SELECT
	* 
FROM
	t_mysql_score 
WHERE
	sid IN ( SELECT sid FROM t_mysql_student WHERE sid NOT IN ( SELECT sid FROM t_mysql_score WHERE cid = '01' ) ) 
	AND cid = '02'

运行结果如下:

05)查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

查询语句:

SELECT
	s.sid,
	s.sname,
	ROUND( AVG( c.score ), 2 ) '平均成绩' 
FROM
	t_mysql_student s,
	t_mysql_score c 
WHERE
	s.sid = c.sid 
GROUP BY
	s.sid,
	s.sname 
HAVING
	avg( c.score ) >= 60

运行结果如下:

 06)查询在t_mysql_score表存在成绩的学生信息

查询语句:

SELECT
	s.* 
FROM
	t_mysql_score sc,
	t_mysql_student s 
WHERE
	sc.sid = s.sid 
GROUP BY
	s.sid

运行结果如下:

07)查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null )

查询语句:

SELECT
	s.sid,
	s.sname,
	count( sc.cid ) '选课总数',
	sum( sc.score ) '总成绩'
FROM
	t_mysql_student s,
	t_mysql_score sc 
WHERE
	s.sid = sc.sid 
GROUP BY
	s.sid,
	s.sname

运行结果如下:

08)查询「李」姓老师的数量

查询语句:

SELECT
	* 
FROM
	t_mysql_teacher t 
WHERE
	tname LIKE '李%'

运行结果如下:

09)查询学过「张三」老师授课的同学的信息 

查询语句:

SELECT
	* 
FROM
	t_mysql_student 
WHERE
	sid IN (
SELECT
	sc.sid 
FROM
	t_mysql_teacher t,
	t_mysql_score sc,
	t_mysql_course c 
WHERE
	t.tid = c.tid 
	AND sc.cid = c.cid 
	AND t.tname = "张三" 
GROUP BY
	sc.sid)

运行结果如下:

10)查询没有学全所有课程的同学的信息

查询语句:

SELECT
	s.*,
	count( sc.score ) '课程数量'
FROM
	t_mysql_student s,
	t_mysql_score sc 
WHERE
	s.sid = sc.sid 
GROUP BY
	s.sid,
	s.sname 
HAVING
	count( sc.score ) < ( SELECT count( 1 ) FROM t_mysql_course )

运行结果如下:

11)查询没学过"张三"老师讲授的任一门课程的学生姓名

查询语句:

SELECT
	sname 
FROM
	t_mysql_student 
WHERE
	sid NOT IN (
SELECT
	sc.sid 
FROM
	t_mysql_score sc,
	t_mysql_course c,
	t_mysql_teacher t 
WHERE
	t.tid = c.tid 
	AND sc.cid = c.cid 
	AND t.tname = "张三" 
	)

运行结果如下:

12)查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

查询语句:

SELECT
	s.sid,
	s.sname,
	ROUND( AVG( sc.score ), 2 ) 平均成绩 
FROM
	t_mysql_student s,
	t_mysql_score sc 
WHERE
	sc.sid = s.sid 
	AND sc.score < 60 GROUP BY s.sid, s.sname HAVING count( sc.score ) >= 2

运行结果如下:

13)检索" 01 "课程分数小于 60,按分数降序排列的学生信息

查询语句:

SELECT
	s.*,
	sc.score 
FROM
	t_mysql_student s,
	t_mysql_score sc 
WHERE
	s.sid = sc.sid 
	AND sc.cid = "01" 
	AND sc.score < 60 
ORDER BY
	sc.score DESC

运行结果如下:

 14)按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

查询语句:

SELECT
	s.sid,
	s.sname,
IF
	(
	max( CASE WHEN sc.cid = '01' THEN sc.score END ) > 0,
	max( CASE WHEN sc.cid = '01' THEN sc.score END ),
	0 
	) 语文,
IF
	(
	max( CASE WHEN sc.cid = '02' THEN sc.score END ) > 0,
	max( CASE WHEN sc.cid = '02' THEN sc.score END ),
	0 
	) 数学,
IF
	(
	max( CASE WHEN sc.cid = '03' THEN sc.score END ) > 0,
	max( CASE WHEN sc.cid = '03' THEN sc.score END ),
	0 
	) 英语,
	ROUND( AVG( sc.score ), 2 ) 平均成绩 
FROM
	t_mysql_student s,
	t_mysql_score sc 
WHERE
	s.sid = sc.sid 
GROUP BY
	s.sid,
	s.sname

运行结果如下:

 

15)查询各科成绩最高分、最低分和平均分:以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
查询语句:

SELECT
	c.cid,
	c.cname,
	max( sc.score ) '最高分',
	min( sc.score ) '最低分',
	ROUND( AVG( sc.score ), 2 ) '平均分',
	CONCAT(ROUND(sum( IF ( sc.score >= 60, 1, 0 ) ) / COUNT( sc.score ) * 100,2 ),'%' ) 及格率,
	CONCAT(ROUND(sum( IF ( sc.score >= 70 AND sc.score < 80, 1, 0 ) ) / COUNT( sc.score ) * 100,2 ),'%' ) 中等率,
	CONCAT(ROUND(sum( IF ( sc.score >= 80 AND sc.score < 90, 1, 0 ) ) / COUNT( sc.score ) * 100,2 ),'%' ) 优良率,
	CONCAT(ROUND(sum( IF ( sc.score >= 90, 1, 0 ) ) / COUNT( sc.score ) * 100,2 ),'%' ) 优秀率,
	COUNT( sc.score ) 选修人数 
FROM
	t_mysql_score sc,
	t_mysql_course c 
WHERE
	sc.cid = c.cid 
GROUP BY
	sc.cid 
ORDER BY
	选修人数 DESC,
	c.cid ASC;

运行结果如下:


 

最后MySQL之面试真题详解就到这里,祝大家在敲代码的路上一路通畅!

感谢大家的观看 !

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL之面试真题详解 的相关文章

  • 使用 PHP 代码和 HTML 表单将 Excel (.csv) 导入 MySQL

    我知道还有其他类似的帖子 但每个人都建议直接在 PHPMyAdmin 中将其导入 MySQL 这工作完美 但我需要通过 HTML 表单导入 PHP 到 MySQL 我想要一个收集文件的 HTML 表单 然后将该文件传递给 PHP 脚本 我想
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • Spark SQL/Hive 查询通过 Join 永远持续下去

    所以我正在做一些应该很简单的事情 但显然它不在 Spark SQL 中 如果我在 MySQL 中运行以下查询 查询将在不到一秒的时间内完成 SELECT ua address id FROM user u inner join user a
  • MySQL“选择更新”行为

    根据 MySql 文档 MySql 支持多粒度锁定 MGL case 1 开放航站楼 1 连接到mysql mysql gt start transaction Query OK 0 rows affected 0 00 sec mysql
  • 物理写入文件已满 - mysql 错误

    我正在使用xampp 每次启动mysql时 我都会在xampp中收到以下错误 Error MySQL shutdown unexpectedly 13 16 14 mysql This may be due to a blocked por
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • Laravel Group By 和 Order By 不起作用

    我尝试制作一个Laravel 5 8项目 项目中的数据是这样的 id purch name prcvalue 1 10234 Nabila 100 2 10234 Nadeera 450 3 10234 Nabila 540 4 10234
  • 如何使用 PHP 从 MySQL 检索特定值?

    好吧 我已经厌倦了 过去一周我花了大部分空闲时间试图解决这个问题 我知道 SQL 中的查询已更改 但我无法弄清楚 我能找到的所有其他帖子似乎都已经过时了 如果有人能帮助我 我将非常感激 我想做的就是使用手动输入数据库的唯一 密码 来检索行的
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com
  • SQLSTATE[HY000] [2002] 资源暂时不可用 - mysql - innodb 和 pdo

    在我的错误日志中得到大量结果 如下所列 数据库中的所有表都是 innodb 并且就与这些表的任何交互而言 一切都是带有准备好的语句的 pdo 正如我所说 所有错误几乎与下面列出的错误相同 但发生在几个不同的页面上 无论页面如何 错误行始终指
  • “警告:mysql_query():提供的参数不是有效的 MySQL-Link” - 为什么?

    我的代码有什么问题吗 我不断收到此错误 Warning mysql query supplied argument is not a valid MySQL Link resource in functions php on line 4
  • 在JavaFX中如何在表视图中添加带有数据的组合框

    我已经尝试了很多 但无法将数据库中的所有值填充到我的组合框表格单元格中 控制器 java public class controller GetConnection gc new GetConnection PreparedStatemen
  • 如何在 MacOS 上卸载 Mysql Shell

    我错误地安装了 MySql Shellhttps dev mysql com doc mysql shell 8 0 en https dev mysql com doc mysql shell 8 0 en 在我的 MacBook Pro
  • 如何使用 PATCH 更新简单的数据库字段?

    我是 php 和 API 的新手 我正在尝试学习这些方法 但我无法执行 PATCH 或 PUT 来更新我的简单 mysql 数据库 我使用了以下代码 if isset PATCH con mysqli connect localhost r
  • 将此 MySQL 查询转换为 PyGreSQL

    我正在开发一个 Ruby 应用程序 它使用 mysql 函数 XOR 和 BIT COUNT 不过 我现在需要在运行 PyGreSQL 的 Heroku 上运行该应用程序 我找不到任何可以帮助我的 PyGreSQL 文档 那么任何人都可以翻
  • 如何编写 bash 函数来包装另一个命令?

    我正在尝试编写一个函数包装器mysql command If my cnf存在于 pwd 中 我想自动附加 defaults file my cnf到命令 这就是我正在尝试的 function mysql if e my cnf then
  • MySQL 中非空值的计数和分组

    我需要计算按特定 ID 分组的非空 我的意思是至少包含 1 个字符的字符串 行 例如 我的数据可能如下所示 form id mapping 1 value 1 1 1 value 2 2 2 NULL 3 value 3 我想计算每个表单的
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp

随机推荐

  • 网络地址转换的类型

    网络地址转换好贴 请看以下的百度图文 http zh wikipedia org wiki E7 BD 91 E7 BB 9C E5 9C B0 E5 9D 80 E8 BD AC E6 8D A2 http wenku baidu com
  • Android 广播 [adb 命令模拟发送广播]

    Android 使用 adb 模拟发送广播 做 Android 开发的时候 有时候需要插入耳机进行测试 但是又想在按下耳机键的同时看一下打印的 log 此时就可以使用 adb 命令模拟发送广播进行 将编译好的 apk push 到手机上之后
  • Android模拟器所支持的OpenGL ES扩展

    Android 1 6 模拟器使用了1 0版本的eGL 没有扩展GL ARB vertex buffer object 却有GL ANDROID vertex buffer object 貌似使用了PixelFlinger渲染器的Andro
  • 这条路,真的可以走下去-------Day91

    离开这么久 今天我终于回来了 如果说最开始是愤怒和不甘 那现在心里剩下的应该只是庆幸了 从没想到过 我人生第一次说走就走的旅行就这样献给工作了 没有美好的回忆 仓促的要人命 也没想过转行为程序员了 还需要兼顾着售后和实施的工作 更可笑的是还
  • Vue.js中的Render函数和模板语法

    Vue js中的Render函数和模板语法 在Vue js中 有两种主要的方式来构建组件 使用模板和使用render函数 模板语法是Vue js中最常见的方式 它是一种基于HTML的语法 能够直接在HTML文件中定义组件的结构和行为 而re
  • centos7.1下yum安装并使用apache web服务器

    一 centos7 1下yum安装apache web服务器 首先安装Apache 查看系统是否安装httpd和apr apr util并卸载 rpm qa grep apr apr util 1 5 2 6 el7 x86 64 apr
  • 5款主流开源数据库的比较

    开源数据库使得信息处理的成本降低 强有力的数据库解决方案进入更多的企业 特别是中小型企业 同时 随着开源数据库在功能上的日益强大和完善 以及人们对其了解的深入 开源数据库在中小型企业中将会有更广泛地应用 下面 笔者为大家介绍5款主流开源数据
  • 【笔记】OpenCV3 人脸识别

    人脸识别就是一个程序能识别给定图像或视频中的人脸 OpenCV是用一系列分类好的图像来训练程序 并基于这些图像来进行识别 它的每个识别 都有置信评分 在实际应用中通过对其设置阈值来进行筛选 为了简单实现人脸识别的功能 写了几个函数从文件夹的
  • shell之单行和多行注释方法

    shell注释有单行和多行 单行注释以 开头至行尾结束 如下代码部分 echo 这行是单行注释 多行注释 1 可以在需要注释的内容前面增加 lt
  • 软考考点之Mccabe度量计算及路径覆盖

    McCabell 主要是度量程序的复杂度 环形复杂度 度量程序的逻辑复杂度 描绘程序控制流的流图之后 可以用下述3种方法中的任何一种来计算环形复杂度 1 流图中的区域数等于环形复杂度 2 流图G的环形复杂度V G E N 2 其中 E是流图
  • win7+python3.7离线安装selenium4.0.0

    selenium下载地址 将selenium 4 0 0 py3 none any whl放到Python37 Lib site packages目录下 使用pkginfo工具查看whl依赖包 C Users lvliang Downloa
  • 从用户家里采集IPTV码流

    具体的方法是通过在机顶盒和电视信号接口ONU之间增加一个镜像路由器 截取数据 再通过Wireshark软件或者自行开发的软件分析数据 WireShark抓取数据包 分析结果 机顶盒 机顶盒实质上是一个网页浏览器 每次开机之后会访问固定的网页
  • pytorch 神经网络构造

    call 在python中 类的 call 方法可以使得类对象具有类似函数的功能 这一点在pytorch经常有应用 理解这一点才能理解pytorch中forward函数等的作用 call 方法的使用示例 class A def call s
  • C语言malloc与calloc区别

    C语言malloc与calloc区别 区别 开门见山 malloc与calloc在内存分配时 前者分配一整块 后者分配n块 并且后者在分配时会将内存置为0 前者不会内存里是垃圾数据 另外它们参数不同 malloc参数只有一个无符号整型的nu
  • C语言如何自定义头文件——一看就废!!!

    为什么要自定义头文件 如果在一个文件中 写上成百上千行的代码 那么这些代码让人阅读起来是真的烦 因此 我们可以引入头文件 把自己写的函数放入头文件中 然后直接调用到主程序中 这样在主程序中看起来就比较清晰 那如何自定义头文件呢 第一步 我们
  • 开源堡垒机jumpserver的搭建与使用

    目录 一 准备 Python3 和 Python 虚拟环境 二 安装 Jumpserver 三 安装 SSH Server 和 WebSocket Server Coco 四 安装 Web Terminal 前端 Luna 五 安装 Win
  • 2080Ti NVIDIA显卡安装教程记录

    1 硬件安装 找到卡槽 顺位安装 找到电源插头 配套孔位即可 2 软件安装 搞个NVIDIA控制面板 此外 安装CUDA和cuDNN win10下CUDA和CUDNN的安装 超详细 亲测有效 u011473714的专栏 CSDN博客
  • Centos6.5下搭建nagios详解

    一 LAMP环境部署 1 安装php 1 安装yum源 rpm Uvh http download fedoraproject org pub epel 6 x86 64 epel release 6 8 noarch rpm rpm Uv
  • 用于灵敏性分析的方法模型(Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 1 概述 本代码用于灵敏性分析的方法模型 2 运行结果 3 参考文献 1 姚宏亮 苌健 王浩 李俊照 灵敏性分析下的因果网络参数的扰动学习研究 J 计算机科学与探索 2012
  • MySQL之面试真题详解

    目录 1 前言 1 1InnDB存储引擎与MyISAM存储引擎的区别 1 2关系型数据库常用的三个操作 1 3行转列 2 面试题详解 2 1建立数据表 2 1 1要求 2 1 2代码 2 2试题讲解与展示 1 前言 1 1InnDB存储引擎