学习数据库笔记八

Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (一) 先把这连个都添加到场景中,然后把kinect的depth相机拖到vision sensor中,把kinect的script也拖到vision sensor中,同时要注意修改深度相机的坐标,及修改script,删掉/rgb部分。由于需要导入到仿真场景中PDF文件不能直接导入,所以需要生成图下文件,使用windows自带的画图工具,生成以厘米为单位的图像格式,大小和标定板的设置大小一直。可以生成需要用的标定板的文件,设置标定板的大小,棋盘格的大小,等相关的参数,之后可以保存PDF文件。设置plane的大小。 阅读详情
数据库------------------------
exists型子查询,其它的硬性查询是可以替代它的,并且它稍微不好理解






新手1+N模式查询




这两个没多大用,而且繁琐
—————————————————————




连接查询练习


1.取出所有商品的商品名,栏目名,价格
select goods_name,cat_name,shop_price from   #容易犯错的地方是,如果你这里要列出


cat_id,一定要写明是哪张表的cat_id,不然sql会报错,认为你的条件模糊
goods left join category          #这是决定两张表以什么方式连接
on 
goods.cat_id = category.cat_id;   #这是两张表连接的桥梁,是两张表共有的字段(名字也


许不一样,但描述的内容要一致)!




2.查询第4个栏目下的商品的商品名,栏目名,价格
select goods_name,goods.cat_name,shop_price 
from 
goods left join category
on
goods.cat_id = category.cat_id
where
goods.cat_id = 4;






union查询
union查询就是把2条或多条sql的查询结果,合并成一个结果集


sql1返回N行
sql2返回M行


sql1 union sql2 返回N+M行


场景:2条语句,各自的where条件非常复杂,可以简化成简单条件,再Union




求得的是一个并集,如下
select goods_id,cat_id,goods_name from goods where cat_id = 4 
union
select goods_id,cat_id,goods_name from goods where cat_id = 2;


这样得出了4号栏目和2号栏目的结果集


以上是一张表,如果两张表呢?接着如下
假如user是已经注册的用户表,temp是还未激活的用户表,想要用union查看一共多少用户
SELECT id,name from tmp
UNION
select uid,name from `user`












union的语句必须满足1个条件,各语句取出的列数相同,不然怎么合并显示,三轮车和汽车怎


么拼接,少一个轮。。列名称不一定要一致,但个数一定要一致。


使用union时,完全相等的行将会被合并。
两个表都有id=c  name=张三,那union后,这两条数据只会显示一条。
合并是比较耗时的操作,因为它会进行比较,一般不让union进行合并,使用"union all"可避


免合并,
也就是说我们平时用union时,要用union all。




union的子句中不用写order by
sql合并后得到的总结果,可以order by ,子句order by失去意义,
现在排序了,合并后还需要排序,所以失去意义
如
select id,name from user order by id   #这就是在子句中排序,完全没意义,也不会起作


用
union all
select uid,uname from temp    




如果真想排序,可以这样写
select * from a
union all
select * from b
order by num desc


【union就是把两个sql语句用union (union all) 连接,想排序要在两个结果合并后再排序
想要不把重复的合并掉,就用union all】


union面试题
两张表,把ID相同的num加起来
表如下
A表:
+------+------+
| id   | num  |
+------+------+
| a    |    5 |
| b    |   10 |
| c    |   15 |
| d    |   10 |
+------+------+


B表:
+------+------+
| id   | num  |
+------+------+
| b    |    5 |
| c    |   15 |
| d    |   20 |
| e    |   99 |
+------+------+




要求查询出以下效果:
+------+----------+
| id   |    num   |
+------+----------+
| a    |        5 |
| b    |       15 |
| c    |       30 |
| d    |       30 |
| e    |       99 |
+------+----------+


解
SELECT id,sum(num)
FROM


(SELECT * FROM a
union ALL
SELECT * FROM b)as temp


GROUP BY id;








索引概念
索引是一种高效组织的数据结构,能够加速你的查询


索引是数据的目录,能快速定位行数据在哪。增加了一行数据,同时也需要改索引


索引提高了查询速度,降低了增删改的速度,并非加的越多越好(有的情况会是一张表的索引


文件比那张表的大小还大,成了目录比书还厚)


一般在查询频繁的列上才加索引,而且要加在重复度低的字段加效果好
你给性别加索引意义不大,给身份证号加索引,身份证号不重复,这样就能迅速定义一个人
是给你想要迅速定位的字段加索引!!!性别加索引,一定位也只能定位50%




它的原理是各种查找方法,如二叉数


二叉树
每个节点最多有两个子树的结构,一个称作左子树,一个称作右子树


先从父节点比较,比父节点大的,去右子树找,比父节点小的到左子树找,到了下一层接着这


样比较下去,最终找到你要的数








索引类型


key普通索引,只提高查询速度
unique key唯一索引,不但提高速度,还约束数据,此数据是唯一的
primary key 主键索引
fulltext 全文索引




建表时建立索引
create table ttt(
name char(10),
email char(20),
key name(name),
unique key email(email)
);


desc可查看你的表的索引
KEY列MUL代表普通索引,UNI代表唯一索引




这个时候email被定义为唯一索引,此列下的内容也就被约束了,不可以重复
原来约束在数据库中就可以实现




如
insert into ttt values ('lisi','lisi@qq.com');这条可以正常插入到ttt表中


你再写一条同样的
insert into ttt values ('lisi','lisi@qq.com');这时再插入就会报错,因为唯一索引 
约束了email字段,不能重复。




在项目中一些字段不可重复,如用户名,email,你就可以给它们加止unique key
既能提高查询速度,也能避免重复






现在来说说主键primary key ,就是我们平时的主键,一张表只能有一个主键索引
原来我们的主键是索引。。。
写法:
create table ttt(
id int,
name char(10),
email char(20),
primary key(id),   #这不用另外声明名字,因为一张表就一个主键
key name(name),
unique key email(email)
);






fulltext全文索引(中文环境下全文索引无效,要分词+索引,一般用第三方解决方案,如


sphinx)
全文索引在中文环境下是无效的,因为是靠英文来检索的
 






查看一张表的索引:show index from 表名 或create table表名也能看到
删除索引:alter table 表名 drop index 索引名;或 drop index from 表名








SQL里面有基本查询、分组+统计函数查询、排序+limit、子查询(where\from\exists)、连接


查询(左连、右连)




启动数据库服务:右击我的电脑--管理--服务--找到MySQL,启动它


解决DOS命令窗口乱码:先看DOS用的什么编码,然后告诉服务器你的DOS数据库客户端用的什么


编码,set names gbk;




清除表的全部内容truncate+表名


给表改名字rename table 旧表名 to 新表名







SAP 关于替代料物料混用问题处理方案简介 电子料很多都是需要进行替代的,并且需要考虑当A物料库存不足时,需要考虑B物料的库存来满足需求,当需求不满足的时候也需要考虑物料的价格因素,同时考虑价格低的物料进行采购。3、还遇到过比较奇葩的处理替代料的解决方案就是将SAP系统中的需求数据用接口的方式全部传输到外围系统,同时还将所有物料的库存信息都通过接口的方式传输到外围系统中,然后通过外围系统进行替代料逻辑的处理,然后在回写回SAP更改BOM中的优先级,然后在重新下单,貌似解决了替代料的问题,但是好像又没有解决。时间:2024-01-27。 阅读详情

相关推荐

AURIX™ TC49x芯片手册中文分享(二)

主要内容为第一章、功能模块的特征

xibaofenqi的博客 1562

第6章 高级数据查询

6.1般数据査询功能扩展 6.1.1使用TOP限制结果集 当使用 SELECT 语句进行查询时,使用 TOP 谓词来限制输出的结果。使用 TOP 谓词的语法格式为: TOP n [percent][WITHTIES]——其中,n 为非负整数。 ①TOP n 取查询结果的前 n 行数据; ②TOP n percent:取查询结果的前 n%行数据; ③WITHTIES:表示包括最后一行取值并列的结果。 TOP 谓词写在 SELECT 单词的后边(如果有 DISTINCT 的话,则 TOP 写在 D...

修罗神的海岛 906

别再让步进电机‘发烧’了!用FOC闭环驱动实现精准力矩控制(基于P0斩波恒流版)

本文详细介绍了如何利用FOC闭环驱动技术(基于P0斩波恒流版)解决步进电机过热和力矩控制不精准的问题。通过对比传统开环控制的缺陷,展示了FOC在降低温度、提升精度和能效方面的显著优势,并提供了硬件配置、软件实现及性能优化的完整方案。

weixin_30872157的博客 566

数据库 夺标查询2

--等值连接--查询所有产品及它们的供应商名称。select ProductName,CompanyName fromdbo.Products inner join dbo.Supplierson dbo.Products.SupplierID=Suppliers.SupplierID--非等值连接--查询所有价格高于20的商品名及供应商select ProductName,CompanyNa

senlininthesky的专栏 672

KDD 2025 | 人大团队提出多任务贝叶斯联邦学习算法,同时处理分类和回归

©PaperWeekly 原创 ·作者 |吕俊良单位 |中国人民大学统计学院本文介绍了中国人民大学统计学院的一篇关于多任务贝叶斯联邦学习的文章“Task Diversity in Bayesian Federated Learning: Simultaneous Processing of Classification and Regression”,本文被 KDD 2025 接收,代码已经...

Paper weekly 2746

SAP BTP开发入门:从PaaS到CAP/UI5的30天学习路线

在云计算与数字化转型的大背景下,企业系统集成与云端扩展需求激增,传统的单点开发模式正面临深刻变革。PaaS(平台即服务)作为云原生的核心概念,将基础设施、开发环境与应用服务统一封装,为企业提供了灵活的扩展能力。SAP BTP正是SAP生态中的PaaS平台,它承载着系统集成、低代码开发、AI服务与数据管理,成为连接S/4HANA等核心业务系统与创新应用的桥梁。对于ABAP开发者而言,掌握BTP不仅是技能升级,更是应对从传统部署向云端订阅模式转型的必由之路。本文从平台基础出发,梳理BTP的核心服务与开发模型(如

weixin_31766003的博客 282

8、 IS NULL:空值查询

MySQL 提供了 IS NULL 关键字,用来判断字段的值是否为空值(NULL)。空值不同于 0,也不同于空字符串。 如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。 使用 IS NULL 的基本语法格式如下: IS [NOT] NULL 其中,“NOT”是可选参数,表示字段值不是空值时满足条件。 例 1 下面使用 IS NULL 关键字来查询 tb_students_info 表中 login_date 字段是 NULL 的记录。 mysql> S

you can you up up up的博客 4111

Figma做原型设计一篇教会你,全栈软件开发必备技能,前后端岗位锐减找工作的底牌

本文介绍了使用Figma进行前端应用原型设计的方法与优势。Figma作为主流设计工具,能够满足大多数应用系统的原型设计需求,强调系统设计应保持简洁合理。文章详细说明了Figma的基本操作流程,包括创建Frame页面、组件使用、交互设置等核心功能,并指出命名规范的重要性。同时对比了Axure、墨刀等其他设计工具的特点,建议根据具体需求选择合适的平台。最后强调原型设计主要关注交互功能展示,业务逻辑应通过需求文档表述。整体而言,Figma凭借其简洁高效的特点,已成为原型设计的优选工具。

有问题或资源连接有缺失的可以私信公众号新潮看世界获取 458

MySQL查询最大值(max)、平均值(avg)、最小值(min)

MySQL的最大值、平均值、最小值查询 如有问题,请多指教! 软检测试 DDL:数据定义语言 DML:数据操作语言 DQL:数据查询语言 格式:select 查的值(查的字段) 查名 from 表; 最大值(MAX) 查询tb_users表中age字段最大值(maxage:自定义的最大值名): select max(age) maxage from tb_users; 最小值(Min) 查询tb_users表中age字段最小值(minage): select min(age) mina

Swordsman4978 2万+

国产FPGA高云GW1NSR-4C,集成ARM Cortex-M3硬核

从板子整体角度来看,这是一款国产化程度很高的板子,从主控FPGA,到JTAG芯片,存储芯片、电源芯片等,都是使用的国产半导体公司的产品。板子整体尺寸也比较迷你,属于小而美类型的,可以认为是一款FPGA核心板,当然也预留了排针接口,给用户足够的扩展空间。对于想了解高云小蜜蜂SoC软硬件开发,以及对云源软件、MCU开发环境做个深度评测来说足够了。JTAG调试器固件可以增加虚拟串口功能,对于板子本来来说面积不会有改动,只需要添加两根信号线即可。

whik1194的博客 6393

22h2版本的win10安装Docker Desktop时页面空白

摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。

猿小白的博客 650

mysql系统复习-燕十八老师提供

mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用户名 -p 密码 -h host主机 2:库级知识 2.1 显示数据库: show databases; 2.2 选择数据库: use dbname; 2.3 创建数据库: create data

縋景彡 ...留给我的,永远是你的影子 2474

YOLO26原创自研: 魔改Bottleneck,具备多尺度和特征通道融合的结构

魔改Bottleneck,具备多尺度和特征通道融合的结构,该模型在检测准确性方面都取得了良好的效果,尤其在缺陷检测方向。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 314

数据仓库学习笔记八

窗口的定义由窗口子句“[<window_ clause>]" 来实现,用于进一步细分分组结果并应用分析函数。窗口子句不支持的函数包括: RANK、NTILE、DENSE RANK、CUME DIST、PERCENT RANK、LEAD及LAG。窗口分为两类:行类型窗口(行窗口)与范围类型窗口(范围窗口)。

m0_73799023的博客 401

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Python 学习笔记(八)—— 数据库操作

数据库编程接口、常见的数据库函数及其参数说明、数据库操作、游标对象、创建数据表

歆歆~黯了 1973

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Python学习笔记(八)之数据库编程

数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映客观事物间的本质联系。数据库管理系统数据库管理系统(Database Management System,DBMS)是用来定义和管理数据的软件。数据库应用程序。

bewhyw的博客 1060

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql数据库学习笔记(八)

mysql用户、权限管理 1.管理用户 1.添加用户 语法: CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; -- 创建用户 示例: CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '123'; CREATE USER 'lisi'@'%' IDENTIFIED BY '123'; 2.删...

fangye945a的博客 375

MySQL学习笔记——优快云学习记录八:数据库编码

自主学习

HaJucy的博客 266

Flask 学习笔记(八)-模型Model连接数据库

flask-sqlalchemy 文档:http://flask-sqlalchemy.pocoo.org/2.3/ 安装:pip install flask-sqlalchemy 这次使用Pycharm创建一个Flask项目,目录结构如下: models.py from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() def init...

Sajor的博客 1065

数据库学习笔记八、数据库索引

一、选择唯一性索引 1、唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。 2、为经常需要排序、分组和联合操作的字段建立索引。 3、为常作为查询条件的字段建立索引。 4.限制索引的数目: 越多的索引,会使更新表变得很浪费时间。 尽量使用数据量少的索引 6.如果索引的值很长,那么查询的速度会受到影响。 尽量使用前缀来索引 7、如果索引字段的值很长,最好使用值的前缀来索引。 8、删除不再使用或者很少使用的索引 9、最左前缀匹配原则,非常重要的原则 10 、尽量选择区分度高的列作为.

promiseful的博客 145

数据库学习笔记(八)

--对数据库的其他操作 --创建表 CREATE TABLE student1 (column_grade int)  GO --查看表的信息 EXEC sp_help student1 GO --添加列 ALTER TABLE student1 ADD column_class VARCHAR(20) NULL GO EXEC sp_help stu

杨鑫newlife的专栏 1293

数据库学习笔记八 —— 修改和删除数据字段

数据库学习笔记八 —— 修改和删除数据字段 修改 修改表名 alter table 原表名 rename as 新表名 增加列字段 alter table 表名 add 新列字段名 数据类型(长度) 修改表的字段 修改约束 alter table 表名 modify 列字段名 新数据类型(长度) 重命名(也可以同时修改约束) alter table 表名 change 原列字段名 新列字段名 新数据类型(长度) 删除 删除表的列字段 alter table 表名 drop 列字段名

影龙武的博客qq_43594119 937

(八)数据库连接池_数据库_学习笔记

#个人学习记录,如发现有错误之处,欢迎与我交流

weixin_44138481的博客 229

(八)DbUtils_数据库_学习笔记

一、简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对 JDBC 的简单封装,学习成本极低,使用 dbutils 可以简化 jdbc 编码的工作量,同时也不会影响程序的性能。 使用 DBUtils 需要导入 commons-dbutils-1.7.jar。DBUtils 有三个核心的组件: QueryRunner:该类提供了 DML 和 DQL 的 API。 ResultSetHandler:该接口定义如何封装结果集。 DbUtils:一个简单的工具类,简

weixin_44138481的博客 216

JDBC学习笔记(八)—— 数据库连接池

关于数据库连接池的学习,主要是对三种数据库连接池进行连接访问

kuaixiao0217的博客 439

Oracle数据库学习笔记(八)--序列的使用

序列的概念 在很多数据库中都存在一个自动增长的列,如果现在要想在 Oracle 中完成自动增长的功能,则只能依靠序列完成。所有的自动增长操作,需要用户手工完成处理。简单来说,序列主要用来给主键赋值使用。 序列默认从 1 开始,依次递增。序列实际上不属于任何一张表,但是可以和表做逻辑上的绑定。 学习笔记 1、序列创建语法 CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE/ NOMINVAL

java阳旭的博客 4143
上一篇: 数据库总结--数据库练习题及自己的理解
下一篇: 学习Spring笔记一
CodingAlarm
博客等级 码龄12年 28粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值