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

关于SQL

数据库简介:

数据库分类

关系型数据库模型:

优点:易于维护,可以实现复杂的查询

缺点:海量数据 读取写入性能差,高并发下数据库的io是瓶颈

是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

非关系型数据库模型:

包含键值存储数据库、列存储数据库(行存储数据库就是关系型数据库)、面向文档数据库、图形数据库(Neo4j)等。

常用列存储数据库:Cassandra。

文档数据库:存储的是文档结构的数据,json、xml等,常用的文档数据库:MongoDB

oracle连接工具:

提高了sqlplus连接数据库,帮助文档:sqlplus-help

示例:sqlplus usernmae/password@127.0.0.1:1521/orcl

orcl是远程数据库服务名,不是数据库名

SID:标识数据库的一个实例,一般一个数据库对应一个实例(集群时一个数据库可以有多个实例)

SERVICE_NAME:服务名,对应的是一个数据库。

配置tnsname.ora时,可以用SERVICE_NAME(建议用),也可以用SID

PostgreSql连接工具:

自带连接工具-psql

psql时它的一个命令行交互式客户端工具,类似于Orcale的命令行工具sqlplus。

接入PostgreSQL数据库:psql -h IP地址 -p 端口 -U 数据库名

例:psql -h localhost -p 5432 -U postgres

postgresql自带图形化客户端工具-pgAdmin(通过浏览器访问、对浏览器有要求)Chrome 72+、Firefox 65+、Edge 44+、Safari 12+

第三方连接工具-Navicat for PostgreSQL

常用的SQL/函数

关于表连接:

左连接 left-join:

以左表的记录为基础的,左表的记录将会全部表示出来,而右边只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

右连接 right-join:

以右表的记录为基础的,右表的记录将会全部表示出来,而左边只会显示符合搜索条件的记录。左表记录不足的地方均为NULL。

全连接 full-join:

左表和右表都不做限制,所有记录都显示,两表不足的地方用null填充。

内连接 inner-join:

两表都限制,两表都有的数据才显示。

等值连接:

group by、having用法:

group by对查询的结果进行分组,相同组合的分组条件在结果集中只显示一行记录。使用group by从句时候,通过添加聚合函数(COUNT()、SUM、MAX()、MIN()等)可以使数据聚合。

having是在分组的结果的基础上过滤,和where不一样,where是在分组之前的过滤

union 和 union all的用法:

union对两个结果集取并集不包含重复结果同时进行默认规则的排序。而union all对两个结果集去并集,包括重复行,不进行排序。

union需要进行重复值扫描,效率低,如果没有要删除重复行,应该使用union all。

with子句的用法:

使用SQL with子句的优点:

增加了SQL的易读性,如果构造了多个子查询,结果会更清晰。更重要的是:“一次分析,多次使用”。当在一个sql语句中需要多次使用到某个子查询的结果的时候,可以提升sql语句的性能。

分析函数:

是以一定的方法在一个与当前行相关的结果子集中进行计算,也成为窗口函数。

例如聚集函数有:avg、count、min、max、sum等等

字符函数有:concat(str1,str2)字符串拼接函数、length(str)返回表达式中的字符数、lower(str)将字符串转换为小写、upper(str)将字符串转换为大写、nvl(x,value)如果x为null则返回value否则返回x值本身、replace(x,search_string,replace_string)从字符串x中搜搜search_string字符串,用replace字符串替换

数值函数有:abs(value)返回绝对值、ceil(value)返回大于等于value的最小整数、floor(value)返回小于等于value的最大整数、round(value,n)对value四舍五入,保存小数点右侧的n位。

oracle、postgresql常用函数差异:

Oracle创建编写sql时,默认大写,没有使用双引号对表面和列明进行限定的时候,表名不论是大小写,最后都默认成大写。

postgresql创建表和字段时对大小写敏感,编写sql默认小写,如果表面、字段名要大写需要使用双引号。

常见语句差异:

-decode

oracle中:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

postgresql:CASE WHEN condition1 THEN result1

WHEN condistion2 THEN result2

...

WHEN condistionN THEN resultN

ELSE default_result

END

-merge into

(-用的很少)

分页:

rownum :

是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列。

它总是从1开始排起,所以选出的结果不可能跳过1,而有其他大于1的值。

rownum仅仅针对新的结果集动态标记,而排序并不会产生新的结果集。

limit:

select * from persons limit A offset B;

A就是需要多少行,B就是查询的起点位置。

备份还原(小数据量)

oracle备份还原:

postgresql备份

还原-pgadmin

postgresql备份还原:

相关文章:

关于SQL

数据库简介: 数据库分类 关系型数据库模型: 优点:易于维护,可以实现复杂的查询 缺点:海量数据 读取写入性能差,高并发下数据库的io是瓶颈 是把复杂的数据结构归结为简单的二元关系(即二维表…...

大模型时代下两种few shot高效文本分类方法

介绍近年(2022、2024)大语言模型盛行下的两篇文本分类相关的论文,适用场景为few shot。两种方法分别是setfit和fastfit,都提供了python的包使用方便。 论文1:Efficient Few-Shot Learning Without Prompts 题目:无需提示的高效少…...

Linux0.11 中全局描述符表(GDT)

在Linux内核中,全局描述符表(Global Descriptor Table,简称GDT)是一个关键的数据结构,主要用于管理处理器的内存段和相关的权限与属性。它属于x86架构中的保护模式特性,允许操作系统对内存访问进行更精细的…...

搜维尔科技:数据手套用于外固定虚拟现实模拟 、外固定增强现实模拟

数据手套用于外固定虚拟现实模拟、外固定增强现实模拟 搜维尔科技:数据手套用于外固定虚拟现实模拟、外固定增强现实模拟...

《三》菜单栏_工具栏_状态栏动作与实现

上期我们创建了辣么多的动作,那么这次我们要是开始实现这些动作,撸起袖子来吧: //菜单动作(ACtion)QAction *newAct;//新建QAction *openAct;//打开QAction *saveAct;//保存QAction *saveAsAct;//另存为QAction *prin…...

基于NTP服务器获取网络时间的实现

文章目录 1 NTP1.1 简介1.2 包结构1.3 UNIX 时间戳和NTP时间戳 2 代码实现2.1 实现步骤2.2 完整代码 3 结果 在某些场景下,单片机需要通过网络获取准确的时间进行数据同步,例如日志记录、定时任务等。然而,单片机本身无法直接获得准确的标准时…...

Web APIs(获取元素+操作元素+节点操作)

目录 1.API 和 Web API 2.DOM导读 DOM树 3.获取元素 getElementById获取元素 getElementsByTagName获取元素 H5新增方法获取 获取特殊元素 4.事件基础 执行事件 操作元素 修改表单属性 修改样式属性 使用className修改样式属性 获取属性的值 设置属性的值 移除…...

Android adb shell关于CPU核的命令

Android adb shell关于CPU核的命令 先使用命令: adb shell 进入控制台。 然后,直接在$后面输入下面命令,针对CPU的命令。 cat /proc/cpuinfo | grep ^processor | wc -l 查看当前手机的CPU是几核的。 cat sys/devices/system/cpu/online …...

基于springboot+mybatis+vue的项目实战之页面参数传递

如图所示&#xff0c;删除操作可以用按钮实现&#xff0c;也可以用超链接来实现。 1、第一种情况&#xff0c;用按钮实现。 html页面相关&#xff1a; <button type"button" click"deleteId(peot.id)">删除</button> <script>new Vue(…...

CSS-浮动

float (浮动) 作用&#xff1a;盒子的顶点是一样的&#xff0c;具备行内块的特征&#xff0c;能设置宽高 属性&#xff1a;float 属性值&#xff1a;left 浮动在网页左边 right 浮动在网页右边 .a{width: 100px;height: 100px;float:left;background-color: red;}.b…...

MFC:字符串处理

例子 //多字节char* szTest "abc多字节";int nLen strlen(szTest);//9//宽字节wchar_t* szTest2 L"abc多字节";int nlen2 wcslen(szTest2);//6//测试项目配置为Unicodewchar_t* szTesz3 TEXT("abcd");//char* -> CStringCString strTes…...

虚拟仿真云平台在教育应用中的优势和意义

虚拟仿真云实验教学平台作为一种新型的教学方法&#xff0c;近年来在高校教育中得到了十分广泛的应用。它通过模拟真实的实验场景和实验操作&#xff0c;让学生在计算机上进行实验操作和数据处理&#xff0c;为学生提供了更加便捷、可靠、有效的实验学习环境。本文&#xff0c;…...

CPU的的处理流程如何快速记忆

为了快速记忆CPU的处理流程&#xff0c;可以将其简化成五个主要阶段&#xff0c;通常称为“冯诺依曼架构”的五个基本步骤&#xff0c;或者是流水线处理的几个阶段。下面是一种便于记忆的简化版本&#xff1a; CPU处理流程的五个阶段&#xff1a; 取指令&#xff08;Instructi…...

AI视频教程下载:基于OpenAl、LangChain、 Replicate开发AI应用程序

欢迎来到令人兴奋的 AI 应用世界&#xff01;在这门课程中&#xff0c;你将学习到创建一个能够与用户互动、理解自然语言、处理音频输入&#xff0c;甚至分析图像的真正智能应用所需的技能和技术。 AI 工具和技术 你将获得使用几个知名 AI API 和技术的实际经验。这些行业领先…...

【C++】继承相关(基类与派生类的继承关系以及细节整理)

目录 00.引言 01.继承的定义 02.基类和派生类对象 03.继承中的作用域 04.派生类的默认成员函数 05.友元、静态成员 00.引言 继承是面向对象编程中的一个重要概念&#xff0c;它的作用是创建一个新的类&#xff0c;该类可以从一个已存在的类&#xff08;父类/基类&#x…...

【Web后端】监听器Listener

1、简介 用来监听Servlet组件对象状态发生变化的组件可以监听的源包括:ServetRequest、HttpSession、ServletContext当监听到事件源状态发生变化时&#xff0c;会有对应的响应行为 2、使用方法 在web.xml文件中配置 <listener> <listener-class>com.coder.util.…...

C/C++ 初级球球大作战练手

效果演示&#xff1a; https://live.csdn.net/v/385490 游戏初始化 #include <stdbool.h> #include<stdio.h> #include<stdlib.h> #include<time.h> #include<graphics.h> #include <algorithm> #include<math.h> #include<mmsy…...

ES6之字符串的扩展

字符串的扩展 关键的扩展点及其示例&#xff1a; Unicode 表示与处理 JavaScript 共有6种方法可以表示一个字符。codePointAtpos&#xff1a;String.fromCodePoint…codePoints&#xff1a; **字符串的遍历 for … of **字符串方法的增强 includessearchString[, position]&…...

微信小程序开发,构建NPM报错解决

报错信息如下&#xff1a; message&#xff1a; NPM packages not found. Please confirm npm packages which need to build are belong to miniprogramRoot directory. Or you may edit project.config.jsons packNpmManually and packNpmRelationList appid: wx7144a5d5411…...

【异常】SpringBoot整合RabbitMQ-发送消息报错

错误信息 reply-code406, reply-textPRECONDITION_FAILED - inequivalent arg ‘x-message-ttl’ for queue ‘hello-queue’ in vhost ‘/lq’: received none but current is the value ‘10000’ of type ‘signedint’, class-id50, method-id10 错误原因 hello-queue这…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...