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

mysql学习记录

关系型数据库:不是把所有的数据全部存储在一起,而是分类存储在一起。
常见的数据库
关系型:oracle大型收费,mysql小型免费。
sql语言(操作数据库)
structured query language 结构化查询语言
1.DDL 数据定义语言
创建数据库 创建表 创建视图 修改数据库 删除数据库 修改表 删除表
create----创建 alter—修改 drop–删除
2.DML数据操作语言
操作数据 插入数据(insert) 修改数据update 删除数据delete
3.DCL数据控制语言(很少用,一般在代码中写)
if-else while
4.DQL 数据查询语言
从表中查询数据select
一.sql语法:
1.1 SQL语句总是以关键字开始,如SELECT、INSERT、UPDATE、DELETE、DROP、CREATE。
1.2 SQL语句以分号结尾。
1.3 SQL不区分大小写,意味着update与UPDATE相同。
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
一.数据库
开启mysql服务(cmd: 以管理员身份运行):net start mysql
连接数据库:mysql -u root -p 或者 mysql -uroot -proot
数据库的创建
基础写法:create database +数据库名称;如:create database esl_factory;(分号必须要加)
正常写法: character set +编码 collate +校对规则;
显示创建的数据库列表: show databases; (分号必须要加)
切换数据库:use+数据库名称;
查询数据库的创建信息:show create database+数据库名称;
查询当前正在使用的数据库: select database();
删除数据库:drop database +数据库名称;
修改数据库:alter database +数据库名称+character set ‘gbk’ collate +‘校对规则’;(数据库名称不能改,只能改编码和校对规则);
二.表结构
创建表:
create table +表名称(
字段1 类型(长度) 约束,
字段2 类型(长度) 约束
);
注意:1.字段之间使用逗号,最后一个字段不能使用逗号
2.如果是字符串数据的类型,长度必须是指定的。
3.int类型的默认长度是11。
创建一张表结构:
create table employee(
id int,
name varchar(30),
birthday date,
entry_date date,
job varchar(50),
salary double,
resume text
);
一.数据库的数据类型:
1.字符串型(常用)
varchar长度是可变的,可节省空间。
char 长度是不可变的。长度不够时使用空格补全。
2.大数据类型(不常用)
BLOB (字节) TEXT (字符文本)
3.数例型(常用):
INT BIGINT FLOAT DOUBLE
3.逻辑型(不常用)
BIT(1或0),在JAVA中是true或false;
4.日期型(常用)
DATE — 只包含日期(年月日)
TIME — 只包含时间(时分秒)
DATETIME —包含日期和时间 ,传入空值时,显示空
TIMESTAMP —包含日期和时间,传入空值时,默认当前系统的时间;
二.表约束
约束的好处:保证数据的完整性。
主键约束:代表记录的唯一标识。
主键约束:primary key 通过该关键字声明某一列为主键。
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
 主键必须包含唯一的值。
 主键列不能包含 NULL 值。
 每个表都应该有一个主键,并且每个表只能有一个主键。
被引用(和外键一起来使用)
唯一约束(unique) 值就不能相同
每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
非空约束(not null) 值也不能为空
索引约束:快速创建检索数据
default约束:默认值
DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。
外键约束:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
check约束:
三.操作表
删除表:drop table +表名
查看标签:
show tables -----查看当前数据库中所有的字段
desc + 表名 -----查询表的信息
sow create table +表名 -----查看表的创建的信息
四.操作表结构:
1.添加一个新字段
alter table +表名称 +add +字段名称 +数据类型(长度) 约束;
2.修改字段的数据类型,长度或者约束
alter table 表名称 modify 字段名称 数据类型(长度) 约束;
3.删除某一个字段
alter table 表名称 drop 字段名称;
4.修改字段的名称
alter table 表名称 change 旧字段 新字段 数据类型(长度) 约束;
5.修改表的名称
rename table 旧表名 to 新表名;
五.向表中添加数据
1.添加数据,使用insert关键字来添加数据
insert into 表 (字段1,字段2,字段3) values (值1,值2,值3)
或者 insert into 表 values (值1,值2,值3)
注意事项:插入的数据与字段数据的类型相同;数据的大小 应该在规定的范围内,数据中的列的位置和字段位置是相同的;字符串和日期类型的数据,必须要使用单引号括起来。
如:insert into user_info (username,job,entry_date,age) values (‘chenxiaoyun’,‘teacher’,‘2019-10-11’,20);
六.解决中文乱码问题
插入中文,会产生乱码问题;
修改MYSQL客户端的编码即可;
1.停止MYSQL服务器;
2.找到MYSQL安装路径,找到my.ini的配置文件;
3.修改客户端的编码,改成GBK;
[client]
port=3306
[mysql]
default-character-set=gbk
4.重启MYSQL服务;
七.修改数据的sql语句
update 表名称 set 字段1=值1,字段2=值2 where 条件;
如果没有where,默认选择所有记录,如果有where,修改符合条件的记录。
1.所有员工薪水修改为5000元: update user set salary=5000;
2.将姓名为‘熊大’的员工修改为2000:update user set salary=2000 whre username=‘熊大’;
3.将姓名为‘熊二’的员工薪水改为4000,job改为‘保洁’:update user set salary=4000,job=‘保洁’ where username=‘熊二’;
4.将小明的薪水在原来基础上加300:update user set salary=salary+300 where username=‘小明’;
八.删除数据的sql语句。
1.删除语句:delete from 表 where 条件;
例:delete from user where username=“Allen”;
2.删除所有的数据
2.1 delete from 表;
一行一行的数据;支持事务的操作。
start transaction;
delete from user where username=“Allen”;
rollback;
(Allen被删除后,回滚恢复)
2.2.truncate 表: 先把整个表删除,再创建一个与原来一样的空数据的表。
truncate user;
九.查询语句(重点)
1.select * from 表;(检索所有列)
2.select 字段1,字段2 from 表;(检索多列,逗号隔开)
select 字段1 from 表(检索单列)
3.distinct 去掉重复的关键字 select distinct name from user;
4.limit限制返回的数量
SELECT prod_name from products limit 5;
limit 3,4代表从第3行开始的4行,limit5代表从第0行开始的5行,0省略。
5.可以对查询的列进行运算;
查询语句可以使用as作关键字起别名(alias),as常被省略;列名和表名均可起别名。
练习
select * from stu;
select username,role from user;
select distinct english from user;
select username,math+10,english+10,chinese+10 from stu;
select username,(math+english+chinese) as t from stu;
select * from stu where username=“chenchen”;
select username,english from stu where english > 90;
select uername,(math+english+chinese) from stu where (math+english+chinese) > 150;
十.查询语句(where子句)
select 字段1,字段2 | * from 表 where 条件的过滤; WHERE 子句用于过滤记录。
WHERE 子句用于提取满足指定标准的记录。
where 子句后可以使用的运算符有: > < >= <= = <> (不等于) in(代表的范围),like,between,
like运算符-----模糊查询
与like一起使用的通配符(%表示一个或多个字符,代表单个字符)
select * from stu where username like '张
’; (_占位符,代表一个位置,结果可以是张飞,但不不能是张翼德);
select * from stu where username like ‘张%’;(%占位符,可以代表多个位置,结果是张开始的,张飞,张三四);
select * from stu where username like ‘%张’;(以张结尾的,李张);
select * from stu where username like ‘%张%’;(username中有带张字的);
and ----与
or -----或
not ----非
between …… and 在……之间(值可以是数字,文本或日期)
SELECT * FROM Orders WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;
IN指定条件范围 (功能与or相同)
select prod_name from where price in(1002,1003)查询价格是1002或者1003的商品名称。
select prod_name from products where id not in (1002,1003);
SQL 中,NULL 用于表示缺失的值。数据表中的 NULL 值表示该值所处的字段为空。使用IS NULL来查找空值
SELECT column_names FROM table_name WHERE column_name IS NULL;
SELECT column_names FROM table_name WHERE column_name IS NOT NULL;
练习:
select username,english from stu where english >= 60 and english <=90;
相当于select username,english from stu where english between 60 and 90;
select username,english from stu where english in (60,70,80);
MySQL 的 WHERE 子句的字符串比较是不区分大小写的。
你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
SELECT * from runoob_tbl WHERE BINARY runoob_author=‘RUNOOB.COM’;
select prod_name from products where prod_price IS MULL
十一.查询语句(order by对结果进行排序)
order by 字段 asc | desc; (asc 代表升序,desc代表降序); order by 放在select 语句末尾。
select username,math from stu order by math desc;(对数学成绩排序后输出);
select username,(math+english+chinese) as t from stu order by t desc;
select * from stu order by english desc,math desc; (按照英语降序排,英语相同的按照数学降序排);
select * from stu where username like ‘陈%’;
十二.聚集函数(Aggregate function)基于一组数据进行计算,返回一个输出结果
聚集函数:excel表格:求数量,求和,平均值,最大值,最小值;
聚焦函数操作的都是某一列的数据。
1.求数量:count()
select count(*) from stu where (math+english+chinese) > 220;(统计总分大于220的人数有多少?)
select count(distinct sno) from sc; //从sc中求数量,去重sno相同的内容。
2.求某一列数据的和:sum(),sum只对数值类型起作用;
select sum(math),sum(chinese),sum(english) from stu;
select sum(math+chinese+english) from stu;
3.求平均分avg()
select avg(chinese) from stu;
4.max()—最大值;
5.min()—最小值;
十三.标量函数(Scalar function)针对每个输入参数,返回一个输出结果
1.UPPER()或者UCASE()----转换成大写字母
2.LOWER()或者LCASE()—转换成小写字母
select upper(sno) from student;
select upper(sno) from student;
3.MID(column_name,start,length); //column_name和start必填。start不从0开始,从1开始,length可选。
MID() 函数用于从文本字段中提取字符。
select mid(sname,1,2) from student;
4.LENGTH() 函数返回文本字段中值的长度。
5.ROUND() 函数用于把数值字段舍入为指定的小数位数。
SELECT ROUND(column_name,decimals) FROM table_name; //column_name必填,decimals必填(小数位)
6.SELECT NOW() FROM table_name; //NOW() 函数返回当前系统的日期和时间。
7.FORMAT() 函数用于对字段的显示进行格式化。
SELECT FORMAT(column_name,format) FROM table_name; //column_name必填,format必填,格式
SELECT FORMAT(100.3111,0);//取整,得出:100
8.DATA_FORMAT() //日期格式化
select DATE_FORMAT(NOW(),‘%Y-%m-%d’) from sc; //date_format用于日期格式化
9.SQRT() // 函数用于计算得出任何数值的平方根。
10.RAND 函数,用于产生 0 至 1 之间的随机数
11.CONCAT 函数用于将两个字符串连接为一个字符串;
select concat(column1,column2,column3) from student;
12.REPLACE()字符串替换函数
replace(original-string,search-string,replace-string) original-string: 被搜索的字符串。可为任意长度 。search-string: 要搜索并被 replace-string 替换的字符串。replace-string: 该字符串用于替换 search-string
select replace(title,‘陈小芸’,‘金瑜辉’);
13.TRIM()函数去除字符串头尾空格,ltrim去掉左边空格,rtrim去掉右边空格。
select trim(tname) from student;
十四.查询语句(分组查询group by)使用关键字group by ** 根据字段进行分组。
select * from orders group by product; 按照商品归类查询
select product,sum(price) from orders group by product having sum(price) > 100; 查询总共有几类商品,并且每类商品总价大于100的商品
select product,sum(price) from orders where price > 40 group by product having sum(price) > 100; 查询购买了几类商品,并且商品的价格大于40,每类总价大于100的商品
注意:使用where的条件,如果有分组,where的条件是分组之前的条件;
新的关键字,having关键字(子句)进行分组的条件过滤;
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与 Aggregate 函数一起使用。
HAVING子句已添加到SQL中,因为WHERE关键字不能用于聚合函数。
//where后面不能使用聚合函数,having可以使用聚合函数。
十四.单表约束
1.主键约束(非空,唯一,作为一条记录的标识被引用),声明主键用primary key,主键可以用auto_increment自增长,自增长只能使用int和bigint类型。开发中,主键基本上是必须要设置的。
2.唯一约束,使用关键字unique;
3.非空约束not null;
create table person(
id int primary key auto_increment,
username varchar(30) unique,
email varchar(30) not null
);
外键约束
目的是保证表结构中的数据完整性。
create table emp(
id int primary key auto_increment,
name varchar(30),
salary double,
dno int,
foreign key(dno) references esl_factory(id);
);
十五.一对多表结构设计
表结构设计常用方式:一对一,一对多,多对多;
一对一(很少用),两张表主键一致;
一对多(最常用)
两张表,主表(一方),从表(多方)
比如下部门表和员工表中,一个部门下有多个员工,每个员工只属于一个部门。那么部门是一方,员工是多方。
建表原则:在多方表中添加字段,把该字段作为外键,指向一方表的主键。
多对多(较常用)
场景:用户与角色,一个用户有多个角色,一个角色被多个用户所拥有。
建表原则:多对多拆分成2个一对多场景,创建一张中间表,存储数据关系。

十六.多表查询之内链接
笛卡尔积
内连接:
1.普通内链接:……inner join ……on 条件
select * from dept inner join emp on did=dno;
2.隐式内链接
语法:select …… from 表1,表2 where 表1.字段1=表2.字段2;
语句:select * from dept,emp where dept.did=emp.dno;
别名:select * from dept d,emp e where d.did=e.dno;
指定字段:select d.dname,e.ename,e.sal from dept d,emp e where did=e.dno;
十七.多表查询之外链接
左外链接:使用关键字select * from 表1 left outer join 表2 on 条件;
outer关键字可以省略不写;
select * from dept left outer join emp on dept.did=emp.dno;
右外链接:select * from 表1 right outer join 表2 on 条件;
select * from dept right outer join emp on dept.did=emp.dno;
内连接查询的是2张表交集数据,主外键关联的数据。
左外连接查询的是左表中所有的数据和2张表主外键关联的数据。
右外连接查询的是右表中所有的数据和2张表主外键关联的数据。
十八.子查询:把查询语句的结果作为另一条查询语句的条件。
select username,english from stu where english > (select avg(english) from stu);

相关文章:

mysql学习记录

关系型数据库&#xff1a;不是把所有的数据全部存储在一起&#xff0c;而是分类存储在一起。 常见的数据库 关系型&#xff1a;oracle大型收费,mysql小型免费。 sql语言&#xff08;操作数据库&#xff09; structured query language 结构化查询语言 1.DDL 数据定义语言 创建数…...

Hdoop学习笔记(HDP)-Part.11 安装Kerberos

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

浅谈UML的概念和模型之UML九种图

1、用例图&#xff08;use case diagrams&#xff09; 【概念】描述用户需求&#xff0c;从用户的角度描述系统的功能 【描述方式】椭圆表示某个用例&#xff1b;人形符号表示角色 【目的】帮组开发团队以一种可视化的方式理解系统的功能需求 【用例图】 2、静态图 类图&…...

杨志丰:OceanBase助力企业应对数据库转型深水区挑战

11 月 16 日&#xff0c;OceanBase 在北京顺利举办 2023 年度发布会&#xff0c;正式宣布&#xff1a;将持续践行“一体化”产品战略&#xff0c;为关键业务负载打造一体化数据库。OceanBase 产品总经理杨志丰发表了《助力企业应对数据库转型深水区挑战》主题演讲。 以下为演讲…...

版本控制系统Git学习笔记-Git分支操作

文章目录 概述一、Git分支简介1.1 基本概念1.2 创建分支1.3 分支切换1.4 删除分支 二、新建和合并分支2.1 工作流程示意图2.2 新建分支2.3 合并分支2.4 分支示例2.4.1 当前除了主分支&#xff0c;再次创建了两个分支2.4.2 先合并test1分支2.4.3 合并testbranch分支 2.5 解决合并…...

分布式系统中最基础的 CAP 理论及其应用

对于开发或设计分布式系统的架构师、工程师来说&#xff0c;CAP 是必须要掌握的基础理论&#xff0c;CAP 理论可以帮助架构师对系统设计中目标进行取舍&#xff0c;合理地规划系统拆分的维度。下面我们先讲讲分布式系统的特点。 分布式系统的特点 随着移动互联网的快速发展&a…...

计算机视觉(OpenCV+TensorFlow)

计算机视觉&#xff08;OpenCVTensorFlow&#xff09; 文章目录 计算机视觉&#xff08;OpenCVTensorFlow&#xff09;前言3.图像金字塔3.1 高斯金字塔3.2 拉普拉斯金字塔 4.图像轮廓图像边缘和图像轮廓的区别检测图像绘制边缘 5.轮廓近似外接矩形外接圆 6. 模板匹配6.1 什么是…...

shell语法

概论 shell是我们通过命令行与操作系统沟通的语言 shell脚本可以直接在命令行中执行&#xff0c;也可以将一套逻辑组织成一个文件&#xff0c;方便复用。 DA Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。 1.脚本示例 新建一个test.sh文件&#xff0c;内容如…...

JAXB的XmlAttribute注解

JAXB的XmlAttribute注解&#xff0c;将一个JavaBean属性映射到一个XML属性。 例如&#xff0c;下面的Java代码&#xff0c;将属性currency映射到了XML的属性currency&#xff1a; package com.thb;import jakarta.xml.bind.annotation.XmlAttribute; import jakarta.xml.bind…...

【代码】基于改进差分进化算法的微电网调度研究matlab

程序名称&#xff1a;基于改进差分进化算法的微电网调度研究 实现平台&#xff1a;matlab 代码简介&#xff1a;了进一步提升差分进化算法的优化性能,结合粒子群(PSO)算法的进化机制,提出一种混合多重随机变异粒子差分进化算法(DE-PSO)。所提算法不仅使用粒子群差分变异策略和…...

计算机基础知识63

Django的条件查询&#xff1a;查询函数 exclude exclude&#xff1a;返回不满足条件的数据 res Author.objects.exclude(pk1) print(res) # <QuerySet [<Author: Author object (2)>, <Author: Author object (3)>]> order_by 1、按照 id 升序排序 res …...

springboot虚拟请求——测试

springboot虚拟请求 表现层测试 web环境模拟测试 虚拟请求状态匹配——执行状态的匹配 Testvoid testStatus(Autowired MockMvc mvc) throws Exception { // //http://localhost:8080/books// 创建一个虚拟请求&#xff0c;当前访问的是booksMockHttpServletRequestBui…...

计算机视觉各个方向概述

计算机视觉发展很长时间了&#xff0c;由传统的计算机视觉到现在如火如荼的计算机视觉多模态&#xff0c;有很多的方向&#xff0c;每一个方向都是一个研究门类&#xff0c;有些已经比较成熟&#xff0c;有些还处于一个开始的阶段&#xff0c;相对于文本语言的处理&#xff0c;…...

AIGC: 关于ChatGPT中API接口调用相关准备工作

ChatGPT之API接口相关 通过页面和GPT交流获取信息相比直接调用GPT的API而言是非常有限的 页面上的GPT是比较封闭的&#xff0c;而且只允许我们去输入文本的信息 我们需要借助GPT的API开发来激发AI工具的无限可能&#xff0c;实现更多个性化需求 1 &#xff09;使用API 使用A…...

【Java Web学习笔记】 1 - HTML入门

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/html 零、网页的组成 HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息&#xff0c;可以包含文字、图片视频等。 CSS样式是表现。就像网页的外衣。比如&#xff0c;标题字体、…...

基于windows系统使用Python对于pc当前的所有窗口的相关操作接口

对于windows系统的电脑使用Python可以对其当前的窗口进行宏观的查询等操作 派生博客1:python对pc的窗口进行操作(windows) 派生博客2python获取当前pc的分辨率(windows) 派生博客3使用uiautomation模块来对基于windows系统的pc中的前端界面进行自动化测试(查找控件&#xff…...

30秒搞定一个属于你的问答机器人,快速抓取网站内容

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 文章目录 简介运行效果GitHub地址 简介 爬取一个网站的内容&#xff0c;然后让这个内容变成你自己的私有知识库&#xff0c;并且还可以搭建一个基于私有知识库的问…...

JPA数据源Oracle异常记录

代码执行异常 ObjectOptimisticLockingFailureException org.springframework.orm.ObjectOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleSta…...

抽奖送平板是骗局!!!

在街上被派传单&#xff0c;然后扫了码抽奖中了平板&#xff0c;被领到卖电器门店兑奖。他们给我在宜嘉商城上充值4980&#xff0c;我现场给他们付了4980元&#xff0c;签了他们的业务办理单&#xff0c;上面有违约者赔款30%违约金字样。我领走了荣耀畅玩40plus手机一台。第二天…...

json.decoder.JSONDecodeError: Extra data: line 1 column 332 (char 331)

项目场景&#xff1a; 提示&#xff1a;扩充数据集时&#xff0c;同步修改json标签中的"imagePath"字段的值&#xff0c;出现json文件读写不一致问题。 采用open函数读写模式修改json文件字段。open(jsonF.json, r)。 问题描述 运行修改json文件报错&#xff1a;j…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

leetcode73-矩阵置零

leetcode 73 思路 记录 0 元素的位置&#xff1a;遍历整个矩阵&#xff0c;找出所有值为 0 的元素&#xff0c;并将它们的坐标记录在数组zeroPosition中置零操作&#xff1a;遍历记录的所有 0 元素位置&#xff0c;将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...