MYSQL 项目中的实际运用(一)

2023-10-31

目录

1、CAST

2、select 1

3、CASE  WHEN  THEN  ELSE  END

4、对表字段名的操作

5、派生表

6、嵌套查询

7、while,if

8、临时表

9、读写操作的影响行数

10、NULL相关函数

11、分组聚合

12、时间戳

13、变量赋值

14、备份表

15、DATE函数


 

 

 

 

1、CAST

CAST强转函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为:CHAR(N) ,DATE ,TIME,DATETIME ,DECIMAL,BINARY,SIGNED,UNSIGNED

一般用法:   select cast(Id aschar(64)) as Id from Building_table

 

2、select 1

select  1 from table  

作用一:select 1 from mytable;与select anycol(目的表集合中的任意一行) from mytable;与select * from mytable 作用上来说是没有差别的,都是查看是否有记录,一般是作条件用的。select 1 from 中的1是一常量,查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。

作用二:select id, 'xxxx’   from table  给结果集增加临时列,每行的列值是写在select后的数或字符,这条sql语句中是xxxx

3、CASE  WHEN  THEN  ELSE  END

CASE  WHEN  THEN  ELSE  END

注意:其实从case到end的这段语句完全可以看作一个字段名,后边可以也必须加AS,给结果集中的这个字段添加别名,不然字段名显示的就是从case到end的这段语句!!!!

注意:其实case语句的本质就是对每行记录的某些字段进行比较,然后根据结果,返回一个自定义的新值,最终这些值组成了一个新字段,而行列转换也不过是在这基础上,用了分组聚合!!!!

 

注意:Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略!!!

--比如说,下面这段SQL,你永远无法得到“第二类”这个结果 
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类' 
         WHEN col_1 IN ('a')       THEN '第二类' 
ELSE'其他' END 

 

用法一 :枚举一个字段所有可能的值,然后根据这些值衍生出新的值,这些值将作为一个自定义字段添加到结果集中

SELECT
    NAME '英雄',    
    CASE NAME
        WHEN '德莱文' THEN
            '斧子'
        WHEN '德玛西亚-盖伦' THEN
            '大宝剑'
        WHEN '暗夜猎手-VN' THEN
            '弩'
        ELSE
            '无'
    END '装备'
FROM
    user_info;

这里写图片描述

 

用法二:判断字段范围,根据判断结果的不同衍生出不同的值,这些值将作为一个自定义字段添加到结果集中

-- when 表达式中可以使用 and 连接条件
SELECT
    NAME '英雄',
    age '年龄',
    CASE
        WHEN age < 18 THEN
            '少年'
        WHEN age < 30 THEN
            '青年'
        WHEN age >= 30
        AND age < 50 THEN
            '中年'
        ELSE
            '老年'
    END '状态'
FROM
    user_info;

这里写图片描述

用法三:使用 case when 配合 聚合函数 实现行转列,即行数据变列字段,可以大幅减少结果集的记录量,更符合非程序员用户的阅读习惯,但是想要行列转换,就必须要用聚合函数和分组!!!

举个例子,平时数据库想要查学生成绩,结果集都是三列N行,姓名,科目,成绩,有N个科目就有N行,但是上过学的都知道,平时发的成绩条,哪有那么多行,直接一行搞定,要你是用户你觉得这两种方式哪种看着舒服?

实例代码和详细用法都在下边三个链接里面:

https://blog.csdn.net/u014180504/article/details/79150492

https://blog.csdn.net/qq_30038111/article/details/79611167

https://www.cnblogs.com/clphp/p/6256207.html

 

4、对表字段名的操作

select语句中,对表字段名的所有操作,其实是对字段对应的记录值进行操作,比如+,-,聚合函数,concat拼接函数等

关键点:distinct去重关键字,直接使用即可,例如SELECT DISTINCT stu_id

关键点:+号,在mysql中+号不能作为字符串连接符,如果两个字符串用+连接,会自动把两边转化成数字类型再进行相加操作,如果哪一边字符串不能转为数字,哪一边就返回0。

 

5、派生表

派生表和子查询通常可互换使用。当SELECT语句的FROM子句中使用独立子查询时,我们将其称为派生表。

派生表必须具有别名。

 

6、嵌套查询

嵌套查询
定义:一个内层查询语句(select-from-where)块可以嵌套在另外一个外层查询块的where子句中,其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。子查询一般不使用order by子句,只能对最终查询结果进行排序。

嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。

子查询的语法规则:子查询的select查询总是使用圆括号括起来;任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值;如果某个表只出现在子查询中二不出现在外部查询中,那么该表的列就无法包含在输出中;一般,对于子查询生成的表都给它起个别名。

任何可以使用表达式的地方都可以使用子查询(一般用在WHERE后),这句话是重点,可以分为两种情况:

注意:从本质上来说,这种嵌套查询就是每行的特定字段值代入表达式之后,只有表达式结果为true的那行记录才会被输出。
一、当子查询的返回值只有一个时,可以使用比较运算符如=、<、>、>=、<=、!=等

二、如果子查询的返回值不止一个,而是一个集合时,则不能直接使用比较运算符:(子查询关键字来啦)

any必须与=、>、>=、<、<=、<>结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据。

注意:some是any的别名,用法相同,也就是说知道就行,没卵用

all必须与=、>、>=、<、<=、<>结合是来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据。
例如:

select s1 from t1 where s1 > any (select s1 from t2);

假设表t1中有一行包含(10),t2包含(21,14,6),则表达式为true;如果t2包含(20,10),或者表t2为空表,则表达式为false。如果表t2包含(null,null,null),则表达式为unkonwn。

all的意思是“对于子查询返回的列中的所有值,如果比较结果为true,则返回true”
例如:

select s1 from t1 where s1 > all(select s1 from t2);

假设表t1中有一行包含(10)。如果表t2包含(-5,0,+5),则表达式为true,因为10比t2中的查出的所有三个值大。如果表t2包含(12,6,null,-100),则表达式为false,因为t2中有一个值12大于10。如果表t2包含(0,null,1),则表达式为unknown。如果t2为空表,则结果为true。

 

in查询相当于多个or条件的叠加,这个比较好理解,比如下面的两个等效查询

select * from user where userId in (1, 2, 3);
select * from user where userId = 1 or userId = 2 or userId = 3;

not in与in相反,例如:

select * from user where userId not in (1, 2, 3);
select * from user where userId != 1 and userId != 2 and userId != 3;

总的来说,in查询就是先将子查询条件的记录全都查出来,假设结果集为B,如果父表字段值在B中,就返回true,且返回其对应的那条记录!!!!

值得一提的是,in查询的子条件返回结果必须只有一个字段,例如:

select * from user where userId in (select id from B);

而不能是

select * from user where userId in (select id, age from B);

 

exists表示存在,它常常和子查询配合使用,例如下面的SQL语句

SELECT * FROM `user` 
    WHERE exists (SELECT * FROM `order` WHERE user.id = order.user_id)

exists用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值TrueFalse

当子查询返回为真时,则外层查询语句将进行查询。
当子查询返回为假时,外层查询语句将不进行查询或者查询不出任何记录。

 

7、while,if

while循环

#  while循环语法:
# while 条件 DO
#            循环体;
# end while;
# */
-- 实例:
create procedure sum1(a int) 
begin
    declare sum int default 0;  -- default 是指定该变量的默认值
    declare i int default 1;
while i<=a DO -- 循环开始
    set sum=sum+i;
    set i=i+1;
end while; -- 循环结束
select sum;  -- 输出结果
end

 

IF ELSE 作为流程控制语句使用

IF search_condition Then
    statement_list
[ELSEIF search_condition Then]
[ELSE
    statemeny_list]
END IF;

最关键也是最坑爹的一点,while循环和if只能在存储过程中使用!!!!!

 

但有一种特殊情况:

如果存在表则删除表然后创建

drop table if exists address_book

但是也只能这么写,不能扩展加and什么的!!!!!

 

8、临时表

       临时表主要用于对大数据量的表上作一个子集,提高查询效率

 临时表使用有一些限制条件

  *  不能使用rename来重命名临时表。但是可以alter table rename代替:

             mysql>ALTER TABLE orig_name RENAME new_name;

  *  可以复制临时表得到一个新的临时表,如:

                mysql>create temporary table new_table select * from old_table;

  *  但在同一个query语句中,相同的临时表只能出现一次。如:

               可以使用:mysql> select * from temp_tb;

               但不能使用:mysql> select * from temp_tb, temp_tb as t;

               错误信息:   ERROR 1137 (HY000): Can't reopen table: 'temp_tb'

        同样相同临时表不能在存储函数中出现多次,如果在一个存储函数里,用不同的别名查找一个临时表多次,或者在这个存储函数里用不同的语句查找,都会出现这个错误。

既然子查询中不能再次打开临时表,那么就使用其他临时表 先把子查询的数据存起来,然后再处理。

  *  但不同的临时表可以出现在同一个query语句中,如临时表temp_tb1, temp_tb2:

                 Mysql> select * from temp_tb1, temp_tb2;

        临时表可以手动删除:

                 DROP TEMPORARY TABLE IF EXISTS temp_tb;

 

9、读写操作的影响行数

读操作的影响行数:select fount_rows();
写操作的影响行数:select row_count();

但切记:只对一次操作有效!!也就是只返回最后一次操作的影响的行数的值.

 

 

10、NULL相关函数

第一步,is NULL要比ISNULL()的比较

SELECT * from 表名 where 字段名 is NULL

SELECT * from 表名 where ISNULL(字段名)

由上面可以看出,is NULL要比ISNULL()快一点。

第二步,is NULL和IFNULL()的比较

SELECT * from 表名 where 字段名 is NULL

SELECT * from 表名 where IFNULL(字段名,'0') = '0';

由上面可以看出,可看出IFNULL()要比is NULL快一点。

综上所述,查询空值的运行速度基本上为IFNULL()>is NULL>ISNULL()。

重点:

 

IFNULL(expr1,expr2)的用法:

假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1;

否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

1

2

3

4

5

6

7

8

9

mysql> SELECT IFNULL(1,0);

-> 1

mysql> SELECT IFNULL(NULL,10);

-> 10

mysql> SELECT IFNULL(1/0,10);

-> 10

mysql> SELECT

IFNULL(1/0,'yes');

-> 'yes'

 

NULLIF(expr1,expr2) 的用法:

如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为 expr1。这和CASE WHEN expr1 = expr2 
THEN NULL ELSE expr1 END相同。

1

2

3

4

5

mysql> SELECT

NULLIF(1,1);

-> NULL

mysql> SELECT NULLIF(1,2);

-> 1 

 

IF(exPR1,expr2,expr3) 的用法:
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

 SELECT IF(1>2,2,3);

11、分组聚合

分组一般和聚合一块出现!!!!!

分组,说白就是找相同,根据字段值(字段组),相同就是一组

分组聚合,在已经分好组的前提上,对每组进行操作,返回对每组操作的结果,也就是一组只有一个结果。比如,如果想知道每组里有多少条记录,可以用count(1)

分组查询,如果查询的字段名和group by 的字段名是一样的,输出结果集就是不同的各个组名(字段名),这很好理解;但如果查询的不光是group by的字段名,那结果集是每组查到的第一条记录,注意是一条,如果你想看每个分组的所有数据,建议你用order by和where。

分组排序:是先排序后分组,造成的结果是,如果查询的不光是group by的字段名,那结果集会因为顺序不同而变化,当然,也只是每个分组里的一条不同记录罢了。

 

12、时间戳

mysql时间戳

获得当前日期+时间(date + time)函数:now()

 

13、变量赋值

在MySQL存储过程中使用SELECT …INTO语句为变量赋值:

  用来将查询返回的一行的各个列值保存到局部变量中。

要求:

  查询的结果集中只能有1行。

SELECT col_name[,...] INTO var_name[,...] table_expr

使用SELECT …INTO语句在数据库中进行查询,并将得到的结果赋值给变量。

  ①col_name:要从数据库中查询的列字段名;

  ②var_name:变量名,列字段名按照在列清单和变量清单中的位置对应,将查询得到的值赋给对应位置的变量;

  ③table_expr:SELECT语句中的其余部分,包括可选的FROM子句和WHERE子句。

 

14、备份表

MySQL不支持Select Into语句直接备份表结构和数据

错误方法: 
MYSQL不支持: 
Select * Into new_table_name from old_table_name; 这是sql server中的用法
替代方法: 
Create table new_table_name (Select * from old_table_name);

 

15、DATE函数

DATE_ADD() 函数向日期添加指定的时间间隔。

语法

DATE_ADD(date,INTERVAL expr type)

date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

type 参数可以是下列值DAY,HOUR,等等一堆

实例

假设我们有如下的表:

OrderId ProductName OrderDate
1 'Computer' 2008-12-29 16:25:46.635

现在,我们希望向 "OrderDate" 添加 2 天,这样就可以找到付款日期。

我们使用下面的 SELECT 语句:

SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2 DAY) AS OrderPayDate
FROM Orders

结果:

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

MYSQL 项目中的实际运用(一) 的相关文章

  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • Mysql 时间匹配连接

    我有两个表cpuinfo和jobinfo 我想使用这两种数据创建报告 tabes CREATE TABLE cpuinfo id int 11 NOT NULL AUTO INCREMENT usagetime datetime DEFAU
  • MySQL - 从临时表插入

    这看起来非常简单 但我坚持使用简单的插入语句 见下文 begin work CREATE TEMPORARY TABLE IF NOT EXISTS insert table AS select r resource id fr file
  • 不允许在 php 中连接到此 MariaDB 服务器

    我尝试在 php 中连接远程服务器数据库 但出现以下错误 Host xx xxx xx xx is not allowed to connect to this MariaDB server in 我的连接代码是这样的 servername
  • 在 MySQL 中对整数字段运行带引号的数字(字符串)查询时会发生哪些复杂情况

    在 SQL 中 不应引用整数 因为如果引用 它将是一个字符串 但我很好奇如果我这样做会出现什么问题 并发症 例如 SELECT FROM table WHERE id 1 正确的 vs SELECT FROM table WHERE id
  • MySQL 8 用逗号分割字符串并将其转换为JSON ARRAY

    我有以下字符串 a b c d 我想将它转换成一个 json 数组 像这样 a b c d MySQL 8 有什么函数可以实现这个功能吗 Try SELECT CAST CONCAT REPLACE a b c d AS JSON See
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • Google Cloud SQL 在重新启动时卡住

    我的云 sql 实例长时间处于重新启动状态 在操作窗格中 重新启动的状态显示为待处理 并且还发生了导出 其状态仍为Running 有没有办法可以强制重新启动或取消重新启动或从常规备份中恢复数据 不 没有办法 如果您向 Google 支付高级
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • PHP 和 MySQL - 高效处理多个一对多关系

    我正在寻求一些有关使用 MySQL 和 PHP 检索和显示数据的最佳方法的建议 我有 3 个表 所有一对多关系如下 Each SCHEDULE有很多覆盖每个覆盖都有很多地点 我想检索这些数据 以便它可以全部显示在单个 PHP 页面上 例如列
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • 错误代码:1305。函数或过程不存在

    因此 我在 MySQL 中创建一个函数 然后尝试向用户授予使用该函数的权限 但我无法这样做 这就是我正在做的 DELIMITER USE rxhelp36 scbn DROP FUNCTION IF EXISTS businessDayDi
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主

随机推荐

  • Spring boot 注册过滤器的方式

    方式一 import jakarta servlet import jakarta servlet annotation WebFilter import java io IOException WebFilter public class
  • mysql 多线程查询全部数据_python使用多线程查询数据库的实现示例

    一 背景 当数据量过大时 一个程序的执行时间就会主要花费在等待单次查询返回结果 在这个过程中cpu无疑是处于等待io的空闲状态的 这样既浪费了cpu资源 又花费了大量时间 当然这里主要说多线程 批量查询不在考虑范围 总会存在不能批量查询的情
  • 使用Windows的cmd命令打包java项目为jar文件

    在操作前请确保你的电脑已配置java环境 即在环境变量中添加jdk的bin的路径 首先运行java文件检查源码是否有误 生成 class后在当前目录下打开cmd窗口 输入jar help检查环境是否配置好 如出现 无法将 jar help
  • 为什么使用$.ajax()中的data传参到后台取值为null

    注意 在调试时可以使用FF浏览器 因为他可以在调试时查看到请求中的内容和详情 场景如下 ajax url business RuleDef getKylinChartData 请求地址 type POST 请求类型 cache false
  • deepfake-faceswap第一篇论文-2016摘要

    核心目标 给定一个人的单张图片A 另一个人的单张图片B 在保持姿势 面部表情 视线方向 发型和光照不变的条件下 将A图片中的人物换成B图片中的人物 2016年 文章 1 实现了这个目标 德国的蒂宾根大学L A Gatys小组实现了对图片艺术
  • 2023华为od机试B卷【计算误码率】

    题目描述 误码率是最常用的数据通信传输质量指标 它可以理解为 在多少位数据中出现一位差错 移动通信 网络中的误码率主要是指比特误码率 其计算公式如下 比特误码率 错误比特数 传输总比特数 为了简单 我们使用字符串来标识通信的信息 一个字符错
  • 计算机组成原理大题简答题,常见问题总结(必背)

    计算机中采用二进制主要原因 技术实现简单 计算机由逻辑电路组成 逻辑电路通常只有两个状态 开关的接通与断开 这两种状态正好可以用 1 和 0 表示 简化运算规则 两个二进制数和 积运算组合各有三种 运算规则简单 有利于简化计算机内部结果 提
  • 环球新材国际:新业务增长点不断凸显 未来业绩增长稳定可期

    11月13日 环球新材国际 6616 HK 发布自愿性公告 披露了业务发展最新情况 从公告内容不难发现 未来公司有几大强力增长点 首先 在新能源电池业务方面年内已实现重大突破 尤其是在中期业绩报告中已有初具规模的收入体现 且具有十分乐观的未
  • base64编码上传图片java后台接收实例

    思路 前台传以data image jpeg base64 开头的base64编码的String字符串 后台接收字符串以后先进行base64解码 decodeBuffer 转换成二进制编码 然后使用字节输出流FileOutputStream
  • 杂记——记录一次参加华为OD研发岗位的面试过程

    流程 一 在线机试 二 性格测试 三 技术一面 四 技术二面 五 技术三面 六 资格面试 七 综合面试 关于od 自己去论坛上面看吧 褒贬不一 自个儿衡量 一 在线机试 1 在 牛客网 上完成三道题目 多是字符串和排列相关的题目 总分在15
  • GRIDVIEW多行多列合并单元格(合并列)

    GitHub项目地址 https github com mingceng merge gridviewcell 去年的时候 我写了两篇文章 GridView多行多列合并单元格 完整代码和例子 和 GridView多行多列合并单元格 指定列合
  • 13.Linux下sbt编译打包Spark程序 和 Maven编译打包Scala程序

    本案例软件包 链接 https pan baidu com s 1zABhjj2umontXe2CYBW DQ 提取码 1123 若链接失效在下面评论 我会及时更新 目录 1 sbt编译打包 1 创建文件夹 2 在 sparkapp src
  • 无法将“gulp”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 gulp报错

    最近在项目中使用到Gulp 官网https www gulpjs com cn docs getting started 在用vscode去打包项目过程中 执行在gulpfile文件中定义的指令 gulp clean 报错如下 gulp 无
  • LeetCode-在O(1)时间删除链表结点

    本题没有给出前驱节点 所以不能采用让前驱节点的next指针指向当前节点的next指针这种方法 因为当前节点不是最后一个节点 所以下一个节点一定不是空节点 我们可以采用 用下一个节点的值把当前节点的覆盖掉 并且把下一个节点删掉 效果与删除当前
  • (一)图像的表示与通道数问题、读取并展示图片

    图像的表示与通道数问题 数字图像的基本概念 对于一幅的数字图像 我们看到的是 肉眼可见的一幅真正的图片 但是计算机看来 这副图像只是一堆亮度各异的点 一副尺寸为 M N 的图像可以用一个 M N 的矩阵来表示 矩阵元素的值表示这个位置上的像
  • Git基本介绍

    一 Git简介 Git是一个版本控制的工具 我们可以把每天的工作代码放到Git上 同时Git的特点是分布式的 可以搭建集群 以保证一个Git宕机 导致数据丢失 可以实现本地提交 避免网络问题造成不可使用的状况 SVN和Git的区别 1 SV
  • WebSocket 动态获取

    initSocket function initSocket webSocket new WebSocket ws window location host header soc imageSocket new WebSocket ws w
  • 目标检测应用竞赛

    点击上方 AI算法修炼营 选择加星标或 置顶 标题以下 全是干货 目标检测应用竞赛 天池铝型材表面瑕疵 数据集下载链接 https tianchi aliyun com competition entrance 231682 informa
  • 数据结构KMP算法配图详解(超详细)

    KMP算法配图详解 前言 KMP算法是我们数据结构串中最难也是最重要的算法 难是因为KMP算法的代码很优美简洁干练 但里面包含着非常深的思维 真正理解代码的人可以说对KMP算法的了解已经相当深入了 而且这个算法的不少东西的确不容易讲懂 很多
  • MYSQL 项目中的实际运用(一)

    目录 1 CAST 2 select 1 3 CASE WHEN THEN ELSE END 4 对表字段名的操作 5 派生表 6 嵌套查询 7 while if 8 临时表 9 读写操作的影响行数 10 NULL相关函数 11 分组聚合