SQL常用语句大全

2023-05-16

创建表and插入数据

课程表

create database stuinfo --创建表

use stuinfo				--使用表

create table major(
	mno varchar(20),--设置主键或者  mno varchar(20) primary key,
	mname varchar(20),
	primary key(mno)--设置主键
)
drop table major -- 删除表
insert into major (mno,mname) values(1,'网络工程')
insert into major (mno,mname) values(2,'计算机科学')
insert into major (mno,mname) values(3,'软件工程')
insert into major (mno,mname) values(4,'人工智能')
insert into major (mno,mname) values(5,'计算机科学与技术')

select * from major

学生表

create table stu(
	sno varchar(30), --或者sno varchar(30) primary key ,设置主键  --学号
	sname varchar(30) not null,									--名字
	age smallint,												--年龄
	sex bit,													--性别0女 1男
	mno varchar(20),											--专业号
	primary key(sno),
	foreign key(mno) references major(mno) --foreign key(mno) references major(mno) 外键链接  major表的mno
)
drop table stu
select * from stu

insert into stu values('2020001','小一',18,0,1);
insert into stu values('2020002','小二',18,1,1);
insert into stu values('2020003','小四',18,1,1);
insert into stu values('2020004','小五',18,1,1);
insert into stu values('2020005','小六',18,0,2);
insert into stu values('2020006','小七',18,1,2);
insert into stu values('2020007','小八',18,0,2);
insert into stu values('2020008','小九',18,1,2);
insert into stu values('2020009','小十',19,0,3);
insert into stu values('20200010','小十',20,0,3);
insert into stu values('20200011','小快',19,0,3);
insert into stu values('20200012','小冬',21,0,3);
insert into stu values('20200013','小宇',19,0,null);
insert into stu values('20200014','小点',19,0,4);
insert into stu values('20200015','彭杰',21,0,4);
insert into stu values('20200016','彭小杰',21,0,4);

课程表

create table cou(
	cno varchar(30),			--课程号
	cname varchar(30) not null,	--课程名
	ctime smallint,				--课时
	ccredit decimal(4,2)		--学分
	primary key(cno)
)

drop table cou

insert into cou values('20201','C语言',32,5);
insert into cou values('20202','C#',32,3);
insert into cou values('20203','数据结构',16,5);
insert into cou values('20204','大学英语1',32,3.5);
insert into cou values('20205','大学英语2',32,3.5);
insert into cou values('20206','大学英语3',32,3.5);
insert into cou values('20207','大学英语4',32,3.5);


select * from cou

成绩表

create table sc(
	sno varchar(30),		--学号
	cno varchar(30),		--课程号
	grade decimal(5,2)		--成绩
	primary key (sno,cno)	--主键(两个)
	foreign key(sno) references stu(sno) --外键
)

insert into sc(sno,cno,grade) values('2020006','20201',null);
insert into sc(sno,cno,grade) values('2020005','20201',null);
insert into sc(sno,cno,grade) values('2020001','20201',90);
insert into sc(sno,cno,grade) values('2020002','20201',90);
insert into sc(sno,cno,grade) values('2020003','20201',90);
insert into sc(sno,cno,grade) values('2020004','20201',58);
insert into sc(sno,cno,grade) values('2020004','20202',98);
insert into sc(sno,cno,grade) values('2020004','20203',90);
insert into sc(sno,cno,grade) values('2020005','20203',90);

select * from sc

–对sc表加一个外键

alter table sc add constraint fk_sc foreign key(cno) references cou(cno)

–添加qq字段

alter table stu add qq varchar(20)

select * from stu

–删除qq字段

alter table stu drop column qq

–创建表 删除表

--创建表 
create table t(
	t int 
 )
select * from t

--删除表
drop table t

select * from major

–删除一个专业(外键关联)

--删除一个专业 --失败
delete from major where mno=1
--别的表有外键的先置成NULL update 

update stu set mno=null where mno=1

delete from major where mno=1

更新一条数据

--学号为2020002的同学改名为小一
update stu set sname='小小' where sno='2020002'
select * from stu

升序 降序 查询

--升序
select * from sc order by grade 

--降序
select * from sc order by grade  desc

聚集函数 count

select COUNT(sno) from sc

查询学生人数 去掉重复的sno学号 distinct

select COUNT(distinct sno) from sc

查询20201课程的学生平均成绩

select AVG(grade) from sc where cno='20201' 

查询课程号20201 最高成绩的分数 最小值 最大值 min max

select min(grade) from sc where cno='20201'
select max(grade) from sc where cno='20201'

求各个课程号以及相应的选修人数 group by

//group by 根据什么划分 根据cno划分前面一定要有cno
select cno,COUNT(distinct sno) as num from sc group by cno

查询平均成绩大于等于90的学生号和平均成绩

--注意where字句不能用聚集函数作为条件表达式 
--如果一定要使用 聚集函数 要使用 having 而且还要搭配 group by 使用
select sno ,AVG(grade) from sc group by sno having AVG(grade)>=90

查询选修了‘20201’学生的姓名sname

select sname from stu,sc where stu.sno=sc.sno and cno='20201'

多表查询

链接查询 (等值链接)

--查询每个学生的信息和选修课程的信息
select stu.*,sc.* from stu,sc where stu.sno=sc.sno

查询选修了‘20201’学生的姓名sname

select sname from stu,sc where stu.sno=sc.sno and cno='20201'

–多表链接

--查询每个学生的信息和选修课程信息和学时
select stu.*,sc.*,ctime from stu,sc,cou where stu.sno=sc.sno and sc.cno=cou.cno

左外链接

(当需要保存一个表的信息时就需要用到左外链接)left outer join 条件是用的 on

--查询所有的学生信息和选课信息,但是没有选修的学生也要显示出来
select stu.*,sc.* from stu left outer join sc on stu.sno=sc.sno

查询每个专业的学生人数,假设每个专业都有学生

select mno,COUNT(sno) from stu group by mno having mno between 1 and 4

–查询每个专业的人数,但有的专业可能没有人

select * from major
select major.mno,COUNT(sno) as num from major left outer join stu on major.mno=stu.mno group by major.mno

嵌套查询

不相关嵌套查询(子查询不依赖父查询)

--查询选修‘20201’学生的姓名sname
select sname from stu where sno in (select sno from sc where cno='20201') --查询有多条信息用in

select sname from stu where sno = (select sno from sc where cno='20202')  --查询只有一条信息可以用 =   建议统一用in

相关嵌套查询

--查询选修‘20201’学生的姓名和学号
select sname from stu where '20201' in(select cno from sc where stu.sno=sc.sno)
--查询选择'C语言'课程的学号
select sno from sc where 'C语言' in(select cname from cou where sc.cno=cou.cno)
--查询每个学生超过他的平均分的课程号  第二种方法用派生表实现
select  sno,cno
from sc x
where 
grade > (select AVG(grade) from sc y group by sno having x.sno=y.sno) --x和y 为别名
--派生表方式 就是在创建一个表(并不是在数据库中创建一个表而是查询中创建的表)
select sno,cno
from sc,(select sno,AVG(grade)from sc group by sno) as avg_sc(avg_sno,avg_grade)
where sc.sno=avg_sc.avg_sno and grade>avg_grade
--查询选修’20301‘课程 学生的姓名sname
select sname from stu where sno in (select sno from sc where cno='20201')
select sname from stu where exists(
	select *from sc where cno='20201' and stu.sno=sc.sno
)--返回true false,每次取一个sno链接

---集合查询 union intersect except
--查询年龄是十八的学生学号 intersect
select sno from stu where age=18 and mno=1
select sno from stu where age=18 intersect select sno from stu where mno=1
select sno from stu where age=18 except select sno from stu where mno!=1

--查询选修'20201'号课程或'20203'的学生号
select * from sc
select distinct sno from sc where cno='20201' intersect select distinct sno from sc where cno='20203'

查看表的主键

select "COLUMN_NAME" FORM "ALL_CONS_COLUMS" WHERE "TABLE_NAME"=‘TABLE_NAME’ AND ("CONSTRAINT_NAME" LIKE%_PKEY’ OR "CONSTRAINT_NAME" LIKE ‘PK_%);

视图

视图是从一个或几个基本表(或视图)到出的表。不同的是,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表中。所以一旦基本表改变,从视图中查询出的数据也随之改变。
作用之一: 视图更加方便用户的查询。

视图的基本操作

  1. 创建视图在这里插入代码片
create view v_stul as select sno,sname,age from stu
  1. 查询视图
select * v_stul
  1. 删除视图
drop view v_stul
  1. 删除原表的数据试图视图,从视图中查询出的数据也随之改变。
create view v_major as select * from mojor

select * from v_major

delete from major whele mno=5
再次查询,视图查询内容以改变
create view v_stul as select sno,sname,age from stu
  1. 查询学生的信息(sno,sname,mname)
创建视图
create view v_stu2
as
select sno,sname,mname from stu ,major where stu.mno=major.mno

select * from v_stu
  1. 查询学生的信息(sno,avg(grade))
select sno,AVG(grade) from sc group by sno

create view v_stu3
as
select sno,AVG(grade) as avg_grade from sc group by sno

select * from v_stu3

平均分小于70
select * from v_stu3 whele avg_grade<70
  1. 查询每个同学较自己平均分高的课程cno
每个同学的平均分视图:v_stu3
select sc.sno,cno from sc,v_stu3 whele sc.sno=v_stu3.sno and sc.grade>v_stu3.avg_grade

存储过程

存储过程是事先经过编译并保存在数据库中的一段spl语句集合,使用时调用即可。

  1. 返回学号2020005学生的成绩情况 储存名为p1
select * from sc where sno='2020005'

--创建存储过程
create proc p1
as
begin
	select * from sc where sno='2020005'
end

--调用存储过程
exec p1
  1. 查询某学生指定的课程号的成绩和学分 alter 存储名 p1
--alter 修改存储过程
alter proc p1 @sno varchar(13),@cno varchar(13)
as
begin
	select sc.* ,cou.ccredit from sc,cou whele sno=@sno and sc.cno=@cno and sc.cno=cou.cno
end

exec p1 '2020004','20203'
  1. 删除存储过程 p1
drop proc p1

触发器

定义: 监视某种情况,并出发某种操作,当对一个表格进行增删改就能自动激活执行它

create trigger t1 on stu
after insert of 
insert delete update
as
begin
---触发器内容 代码
end
  1. 创建触发器

学生的人数不能大于17

create trigger t1 on stu after insert ---after insert 插入完之后触发
as
begin
	if(select COUNT(*) from stu)>17
	begin
		print 'error'
		rollback tran
	end
	else
	begin
		pring 'right'
	end
end

---select COUNT(*) from stu 查询人数
---drop trigger t1 删除触发器t1
  1. 触发器的使用
---插入超过17 自动出发 
insert into stu(sno,sname) values('20200018','kk')

打印 ‘error’
并返回取消执行
在这里插入图片描述

  1. 触发器(先判断后执行)
---先判断后执行
alter trigger t1 on stu instead of insert
as
begin
	select * from inserted
	select * from deleted
	if(select COUNT(*) from stu)>17
	begin
		print 'error'
		rollback tran
	end
	else
	begin
		print 'right'
		--insert
		declare @sno varchar(13)
		declare @sname varchar(30)
		declare @age int
		select @sno=sno from inserted
		select @sname=sname from inserted
		select @age=age from inserted
		insert into stu(sno,sname,age) values(@sno,@sname,@age)
	end
end
  1. 触发器
create trigger t1 on stu after delete---after insert 插入完之后触发
as
begin
	if(select COUNT(*) from stu)<16
	begin
		print 'error'
		rollback tran
	end
	else
	begin
		pring 'right'
	end
end

删除学生触发触发器

delete from stu where sno='20200016'

在这里插入图片描述

当新增学生成绩为55-59 改为60分

alter trigger t1 on stu instead of insert
as
begin
		--insert
		declare @sno varchar(13)
		declare @cno varchar(13)
		declare @arade decimal(5,2)
		select @sno=sno from inserted
		select @cno=cno from inserted
		select @grade=grade from inserted
		if @grade>=55 and @argde<50
		begin
			set @grade = 60
		end
		insert into sc values(@sno,@sno,@grade)
end

函数

自定义函数

函数和存储过程很像,不同之处就是函数多了一个return

  1. 例1:计算某门课程的平均分
create function fun1(@con varchar(13))
returns int
as
begin
	declare @avgscore int
	select @avgsore=avg(grade)from sc where con=@ano
	returns @avgscore
end

调用函数fun1()

---需要加dbo.来执行fun1函数
select dbo.fun1('20202');
  1. 例2:输入专业号,返回学生号和姓名
--create function fun2(@mno int)--创建
alter function fun2(@mno int)--修改
returns @snoSname table(
	sno varchar(13)
	sname varchar(30)
)
as
begin
	insert into @anoSname(ano,sname) select sno,sname from stu where mno=@mno
end

--执行函数
select * from dbo.fun2(1)
  1. 例3:输入专业号,返回这个专业所有学生的每个课程对应成绩的一个表
create function fun3(@mno int)--修改
returns @snoSname table(
	sno varchar(13)
	cno varchar(13)
	grade decimal(5,2)
)
as
begin
	insert into @mSc select stu.sno,cno,grade from major,stu,sc where major.mno=stu.mno and stu.sno=sc.sno and stu.mno=@mno
	return
end

--执行函数fun3
select * from fun3(1)

在这里插入图片描述

索引

定义:索引是对数据库表中的一列或者多列值进行排序的一种结构
目的:加快查询的速度(目录)select
但是占用一定的存储空间,

不建议创建索引:

  1. 频繁更新的字段或者经常增删改的表
  2. 表数据太少,不需要创建索引
  3. 如果某些数据包含大量重复数据,因此建立索引就没有太大的效果,例如性别字段,只有男(0)女(1)

QSL Sever默认主键为聚集索引
聚集索引:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引

--sc表按学号升序和课程号降序创建唯一索引
create unique index scno on sc(sno asc,cno desc)

--删除索引scno
drop index scno on sc

游标

定义:
用来操作查询的一个结果集,是一个用户数据缓冲区

具体描述(光标)
fetch
在这里插入图片描述
优点:
保存查询结果,以便以后使用。游标结果集是select执行结果,需要的时候,只需一次,不用重复查询。
缺点:
数据缓冲区,如果游标数据量大则会造成内存不足。
所以,在数据量小时才使用游标

语法:

declare 游标名 cursor for select ...

步骤

  1. 声明游标
declare my_cursor cursor for select *from major
  1. 打开游标
open my_sursor
  1. 取数据(循环)
--首先定义变量
declare @mname varchar(30) 

fetch next from my_cursor into @mname
while @FETCH_STATUS=0
begin
	select @mname as 'mname'
	fetch next from my_cursor into @mname
end
  1. 关闭游标 或者 deallocate
deallocate my_cursor

–对sc表添加一个等级列,若学生成绩80以上等级A,70-79分为B,其余为C,null仍为null

select * from sc

declare my_cursor cursor for select cno,sno,grade from sc
declare @cno varchar(13)
declare @sno varchar(13)
declare @grade decimal
open my_cursor
fetch next from my_cursor into @cno,@sno,@grade
while @@FETCH_STATUS=0
begin
	if @grade >=80
		update sc set sc_rank='A' where cno=@cno and sno=@sno
	else if @grade>=70
		update sc set sc_rank='B' where cno=@cno and sno=@sno
	else if @grade>=0
		update sc set sc_rank='C' where cno=@cno and sno=@sno
	fetch next from my_cursor into @cno,@sno,@grade
end
deallocate my_cursor
select * from sc


--查询所以学生的专业名和姓名
select * from stu
select * from stu left outer join major 
on stu.mno=major.mno

declare my_cursor cursor for select sname,mname from stu left outer join major on stu.mno=major.mno
declare @sname varchar(30)
declare @mname varchar(30)
open my_cursor
fetch next from my_cursor into @sname,@mname
while @@FETCH_STATUS=0
begin
	select @sname as 'sname',@mname as 'mname'
	fetch next from my_cursor into @sname,@mname
end
close my_cursor


与视图比较

  1. 本质不同:一个是作为指针操作,一个是作为数据库对象
  2. 占用资源:多和少
  3. 工作方式:一个行处理,一个整个表(查询结果
  4. 数据库操作不同
    在这里插入图片描述

视频教程见 B站 @DJ同学

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

SQL常用语句大全 的相关文章

  • 用android代码实现一个可以万能播放器

    要实现一个万能播放器需要使用多媒体库 xff0c 可以使用Android自带的MediaPlayer类以及ExoPlayer库 以下是一个简单的示例代码 xff1a 在XML布局文件中添加一个SurfaceView和几个按钮 xff1a s
  • 初出茅庐的小李第108篇博客二进制打印

    二进制打印介绍 C语言在格式化打印的时候有很多格式控制 xff0c 比如十进制打印用 d输出 xff0c 十六进制用 x输出 xff0c 八进制用 o格式输出 xff0c 但是当我们期望看一个数据的二进制的时候就必须借助计算器或者其他比较不
  • QGroundControl 自定义命令小工具的使用

    Custom Command Widgets 不用编译qgc的源码 xff0c 仅仅需要编写一个QML UIs文件这个小工具窗口可以被加载 xff0c 并且从重启之后仍然可以使用 xff0c 而且不受操作系统的限制主要有两个用途 xff11
  • HTTP请求方式GET和POST代码示例

    HTTP请求方式GET和POST代码示例 1 HTTP名词解释1 2 HTTP传输方式1 2 1GET名词解释1 2 1POST名词解释 1 3Http中Post 和Get代码实现 1 HTTP名词解释 HTTP大名叫做超文本传输协议 xf
  • Postman工具常见操作

    Postman常见操作 1 新建GET或POST请求 xff08 1 xff09 打开Postman xff0c 选择File gt New xff08 2 xff09 选择Request xff0c 进入 xff08 3 xff09 输入
  • Ubuntu18.04+ROS melodic 跑通VINS-MONO的一些踩坑记录

    VINS MONO的一些踩坑记录 0 本机环境 笔者的环境为Ubuntu 18 04 43 ros melodic 43 opencv 4 1 1 43 Eigen 3 3 9 43 ceres solver 1 14 跟VINS MONO
  • GPIO库函数开发和寄存器开发的区别

    函数原型为 xff1a void GPIO SetBits GPIO TypeDef GPIOx uint16 t GPIO Pin xff08 1 xff09 gt 箭头操作符要求左操作数必须是个指针GPIO TypeDef GPIOx
  • C++ 编译

    C 43 43 编译原理 参考博客 https www cnblogs com kevinWu7 p 10163443 html C C 43 43 编译就是要将C C 43 43 的代码映射到相应的机器码 xff0c 以及讨论其中的内存管
  • STM32串口中断的方式发送

    我将其改为真正的中断发送 步骤一 xff1a 初始化GPIO GPIO InitTypeDef GPIO InitStructure GPIO InitStructure GPIO Pin 61 GPIO Pin 10 LED1 PC10
  • 什么是大端小端 and 如何判断大端小端

    1 为什么会有大小端模式之分呢 xff1f 这是因为在计算机系统中 xff0c 我们是以字节为单位的 xff0c 每个地址单元都对应着一个字节 xff0c 一个字节为8bit 但是在C语言中除了8bit的char之外 xff0c 还有16b
  • python中串口通信的步骤及实现

    python内置的库函数确实很强大 xff0c serial库中包含了串口通信所用到的一些函数 本文用python实现了串口的一种简单通信 代码实现 xff1a span class token keyword import span se
  • 结构体作用(STM32)

    结构体作用 xff08 STM32 xff09 来源 xff1a 正点原子 MDK 中很多地方使用结构体以及结构体指针 xff0c 下面总结一下其使用结构体的主要作用 1 结构体是将不同的数据类型整合为一个有机整体 xff0c 方便数据管理
  • 两轴舵机云台的一点实践

    两轴舵机云台的一点实践 效果演示硬件使用情况定时器中断代码计算机体系下的云台角代码舵机控制代码工程源码下载 简介 xff1a 为了学习姿态解算相关知识 xff0c 最近做了一个作品 xff0c 模仿炮塔跟随系统 xff0c 用陀螺仪使两个舵
  • 栈的使用场景

    当数据的处理顺序要与接收顺序相反时 xff08 LIFO xff09 last in first out xff0c 就可以用栈 像文字处理器的 撤销 动作 xff0c 或网络应用程序的函数调用 xff0c 你应该都会需要栈来实现 在处理括
  • 如何重装Ubuntu 系统

    如果你弄坏了你的 Ubuntu 系统 xff0c 并尝试了很多方法来修复 xff0c 你最终放弃并采取简单的方法 xff1a 重新安装 Ubuntu 我们一直遇到这样一种情况 xff0c 重新安装 Linux 似乎比找出问题并解决来得更好
  • 精华:QinQ基础,VLAN双层TAG

    QinQ 是 802 1Q in 802 1Q 的简称 xff0c 是基于 IEEE 802 1Q 技术的一种比较简单的二层 VPN 协议 QinQ简介 IEEE 802 1Q 定义的 VLAN ID 域有 12 个比特 xff0c 最多可
  • Ubuntu更换默认终端

    终端是任何Linux系统的关键部分 它允许您通过shell访问Linux系统 虽说现在的Linux发行版 xff0c 比如Ubuntu xff0c CentOS等已经基本上可以采用GUI来完成绝大部分一般性的任务 但是 xff0c 终端程序
  • vim编辑器如何删除一行或者多行内容

    如何从Vim中删除行 xff1f 如何删除多行 xff1f 本文介绍在Vim编辑器中删除行的不同方法 安装vim 在Ubuntu Debian中的安装方式 sudo apt install vim 在RHEL Centos中的安装方式 yu
  • Linux系统入门命令学习经验

    此时此刻我想和大家分享一下我在学习linux过程中的一些经验和教训 xff0c 如果有人能够正好看到我的这篇文章 xff0c 希望能够让想学习linux的同学多少获得一点经验 xff0c 少走一些弯路 能够比较简单 快捷的迅速掌握知识是我们
  • CloudBeaver 参考架构

    CloudBeaver 是一个基于 Web 的云数据库管理工具 xff0c 支持 PostgreSQL MySQL MariaDB SQLite 和 Firebird 等数据库 server osgi 模式 xff0c 依赖dbeaver

随机推荐

  • 如何修改Vim默认注释

    在Linux下vim被注释掉的字体颜色默认为非常刺眼的蓝色 xff0c 看上去很不清晰 xff0c 我们可以通过设置用户根目录下 vimrc文件 xff0c 可以更改颜色的配置 Vim默认注释颜色如下图 xff1a 找到vim的配置文件 x
  • yum install 与 yum groupinstall 的区别

    yum 提供二种安装软件的方式 1 xff0c yum install 它安装单个软件 xff0c 以及这个软件的依赖关系 2 xff0c yum groupinstall 它安装一个安装包 xff0c 这个安装包包涵了很多单个软件 xff
  • 自制正点原子四轴遥控器无法连接minifly

    最近在群里有群友问自制遥控器无法对频的问题 xff0c 我过去也踩过这个坑 xff0c 已经解决了 我已经在群里回答四五次了 xff0c 但可能群友没注意或者进群较晚没看到 xff0c 正好今晚有空 xff0c 把这个坑填上 18年国庆后自
  • 红旗Linux系统安装教程

    用惯了Windows系统的您 xff0c 会不会想尝尝鲜 xff0c 试试Linux的系统呢 以下经验在虚拟机和实机都适用的哦 工具 原料 电脑 Linux系统镜像包 方法 步骤1 首先将镜像写到光盘或者U盘 xff0c 然后到bios设置
  • 安装CentOS7出现dracut:/#……time解决办法

    当选择install CentOS7以后一会就会出现错误 报错信息 xff1a 就是dracut xff1a timeout一大堆 我本来以为是我的启动盘没做好 xff0c 后来我又重做了好几次都是这问题 解决 通过搜索引擎检索 xff0c
  • 【PID控制 Ⅱ】在代码中实现PID控制算法的思路以及伪代码

    一 实现思路 定义PID控制器 xff1a 在代码中定义一个PID控制器 xff0c 包括三个参数 xff1a 比例系数 xff08 Kp xff09 积分系数 xff08 Ki xff09 和微分系数 xff08 Kd xff09 这些参
  • 使用ZED-stereo相机配合SURF算法识别目标并测距

    这是以前做的小项目里的一部分 xff0c 由于时间久远 xff0c 在这里整理以下 xff0c 也方便自己以后查阅 使用ZED stereo相机配合SURF算法识别目标并测距 ZED stereo是很好用功能强大的双目相机 xff0c 可以
  • 联合标定单目相机和imu,使用工具Kalibr

    使用Kalibr工具标定单目相机和IMU的外参 xff0c 操作过程和联合标定双目相机和IMU类似 xff0c 以下介绍不同部分 最后标定时所需要的相机参数由双目变成了单目 xff0c 以下是配置文件的格式 xff1a cam0 camer
  • DETR3D的关键:feature_sampling(3D到2D的图像特征采样)

    流程 xff1a 坐标转换 gt 归一化坐标 gt grid sample 方法 gt mask 坐标转换 gt 归一化坐标 gt grid sample 方法 span class token comment 特征采样部分 xff0c I
  • extern “C”的用法和作用

    extern 34 C 34 的主要作用就是为了能够正确实现C 43 43 代码调用其他C语言代码 xff0c 实现C 43 43 与C及其它语言的混合编程 加上extern 34 C 34 后 xff0c 会指示编译器这部分代码按C语言的
  • Qt中常用的控件详细介绍

    这里写目录标题 1 容器的布局系统提供的布局控件利用 widget 做布局 2 QListWidget xff08 列表控件 xff09 3 QTreeWidget xff08 树控件 xff09 4 QTableWidget xff08
  • Qt中三种定时器的触发方式

    定时器QTimer控件 定时器触发方式3种所需api资料 1 定时器事件 触发案例1 xff1a 定时器事件案例2 xff1a 同时启动多个定时器 2 定时器对象 触发案例3 xff1a 通过定时器对象 定时 3 静态成员函数 触发案例4
  • shell脚本语言(超全超详细)

    shell脚本语言 1 shell的概述2 脚本的调用形式打开终端时系统自动调用 xff1a etc profile 或 bashrc 3 shell语法初识3 1 定义以开头 xff1a bin bash3 2 单个 34 34 号代表注
  • post请求百度网址内容和访问本地springmvc工程controller

    1 xff0c 访问百度 import java io BufferedReader import java io InputStreamReader import java io PrintWriter import java net U
  • 音乐播放器mplayer的简单使用

    mplayer 1 mplayer的安装2 mplayer的键盘模式基本控制键 xff1a 3 Slave模式 xff1a 启动方法一 xff1a 在终端下敲命令来启动mplayerMplayer 在slave模式下常用的命令 xff1a
  • AJAX和CGI 技术的应用

    AJAX xff0c CGI 一 AJAX1 AJAX的概述AJAX局部更新网页流程图 xff1a 异步流程 xff1a 2 AJAX的通信过程2 1 创建xmlHttpRequest对象2 2 设置服务器响应的回调函数标准的XMLHttp
  • W25QXX使用教程

    W25QXX是华邦公司生产的一块FLASH储存芯片 那W25Q256为例 xff1a 驱动方式 xff1a 单路双路四路SPI QSPI xff1b 擦写周期 xff1a 10W次 支持电压 xff1a 2 7 3 6V 频率 xff1a
  • QT串口通信

    QT串口的使用 1 添加头文件2 串口通信的7个步骤3 发送接收数据 1 添加头文件 span class token macro property span class token directive keyword include sp
  • Qt存储图片到数据库&&从数据库读取图片

    使用Qt将图片存储到sqlite my sql span class token double colon punctuation span span class token function my sql span span class
  • SQL常用语句大全

    创建表and插入数据 课程表 span class token keyword create span span class token keyword database span stuinfo span class token comm