关于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备份还原:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/695905.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费的集成组件有哪些?

集成组件是指将多个软件或系统进行整合,以实现更高效、更可靠的数据处理和管理。在数据管理和分析领域,集成组件是不可或缺的工具之一。 在当今高度信息化的时代,集成组件在各行各业的应用中扮演着举足轻重的角色。集成组件能够将不同来源的…

从头开始学Spring—01Spring介绍和IOC容器思想

目录 1.Spring介绍 1.1Spring概述 1.2特性 1.3五大功能模块 2.IOC容器 2.1IOC思想 ①获取资源的传统方式 ②反转控制方式获取资源 ③DI 2.2IOC容器在Spring中的实现 ①BeanFactory ②ApplicationContext ③ApplicationContext的主要实现类 1.Spring介绍 1.1Sprin…

如何利用甘特图来提高资源的是使用效率?

在项目管理中,甘特图是一种常用的工具,用于规划和跟踪项目进度。它通过条形图的形式展示项目的时间表和任务依赖关系,帮助项目经理和团队成员清晰地了解项目的时间线和进度。通过合理利用甘特图,可以显著提高资源的使用效率&#…

基于SPWM控制策略的二极管钳位型NPC逆变器的并网simulink仿真

本人搭建了二极管钳位型NPC并网逆变器simulink仿真模型,该模型型采用d、q轴,电压前馈解耦控制,三相逆变并网,PI控制,仿真复现,效果优异,适合新手学习使用。 模型获取链接:基于SPWM…

解聘7名教授!高校取消终身教授制度,启动全员“末位淘汰”

如今,高校是越来越卷了,身处其中的每个人似乎都无法避免。 前一段时间,国内某985高校说是要搞职称降级聘任,另一所985高校说要淘汰多少比例的教师,引发学术圈广泛讨论。 国外呢,同样要卷起来了&#xff0…

结构体补充-位段

文章目录 位段介绍位段内存分配位段的使用注意事项结束 位段介绍 为什么会有位段呢? 我们直到一个int是4个字节表示32个bit位,但是比如2,3这样的整数,我们只需要2个bit位就可以了,那30个比特位不就是浪费掉了吗,所以位段就产生了 位段通过结构体来实现,位段表示方法…

嵌入式:基于STM32的RFID访问控制系统

在商业和住宅建筑中,访问控制系统是确保安全的关键组件。使用射频识别(RFID)技术,我们可以创建一个安全、方便的门禁系统。本教程将详细说明如何使用STM32微控制器实现RFID基础的门禁系统,该系统能够控制电子锁并记录访…

WordPress 、Typecho 站点的 MySQL/MariaDB 数据库优化

今天明月给大家分享一下 WordPress 、Typecho 站点的 MySQL/MariaDB 数据库优化,无论你的站点采用是 WordPress 还是 Typecho,都要用到 MySQL/MariaDB 数据库,我们以 MySQL 为主(MariaDB 其实跟 MySQL 基本没啥大的区别&#xff0…

【重大故障】澳大利亚所有大学退休金数据被Google误删除,本地云服务总监被直接解雇

本周Google私有云发生重大故障,在维护UniSuper客户配置,误删除所有数据(包括异地备份数据), 客户最后通过其他供应商备份暂时已经恢复数据,但是系统还处于恢复中。 UniSuper 是一家澳大利亚退休金基金&…

图片转表格的免费软件,这几款值得收藏!

在数字化时代,图片转表格的需求日益增多。无论是工作汇报、数据分析还是学术研究,将图片中的信息转化为表格都能极大地提高工作效率。然而,许多人在面对这一任务时,往往感到无从下手。今天,我将为大家推荐几款免费的图…

react18【实战】tab切换,纯前端列表排序(含 lodash 和 classnames 的安装和使用)

技术要点 动态样式 className{tabItem ${currentType item.value && "active"}}安装 lodash npm i --save lodash使用 lodash 对对象数组排序(不会改变源数组) _.orderBy(dataList, "readNum", "desc")src\De…

5.10.1 Pre-Trained Image Processing Transformer

研究了低级计算机视觉任务(例如去噪、超分辨率和去雨)并开发了一种新的预训练模型,即图像处理变压器(IPT)。利用著名的 ImageNet 基准来生成大量损坏的图像对。 IPT 模型是在这些具有多头和多尾的图像上进行训练的。此…