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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】有关栈和队列相互转换问题

文章目录 用队列实现栈思路实现 用栈实现队列思路实现 用队列实现栈 Leetcode-225 用队列实现栈 思路 建立队列的基本结构并实现队列的基本操作 这部分这里就不多说了,需要的可以看笔者的另一篇博客 【数据结构】队列详解(Queue) 就简单带过一下需要实现的功能 …

分布式光伏管理系统的意义与核心技术

分布式光伏管理系统遵循安全可靠、经济合理原则,满足电力系统自动化总体规划要求,且充分考虑光伏发电的因素,对分布式光伏发电、用电进行集中监控、统一调度、统一运维。为用户提供运维服务,实现能源互联,信息互通&…

从使用教程、实现原理、差异对比全方面带你玩转业务系统中高频使用的过滤器与拦截器

1.概述 在Java Web开发中,**过滤器(Filter)和拦截器(Interceptor)**是两种常见的组件,用于在请求到达目标资源之前或之后执行一些操作,如日志记录、权限控制、字符编码处理等。虽然它们的作用有…

【Qt】demo示例--通过定时器实现时间刷新

【Qt】demo示例--通过定时器实现时间刷新 1.背景2.代码3.运行 1.背景 Qt Creator版本:4.2.0 ,如下图: 即安装qt-opensource-windows-x86-msvc2013_64-5.7.1.exe 后自带得Qt编程IDE; 2.代码 项目结构如下: mydial…

Navicat Premium数据库新建函数报错问题

1.问题产生原因: (1)可能是软件 Navicat Premium 的版本不一样 (2)可能是与某些字符集不一样 2.找出解决办法: (1)参考对照系统自带sys数据库表的函数找出的区别(后面遇到同样问题可以这样排查) (2)不加 DETERMINISTIC 声明&a…

js图片回显的方法

直接上代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body>// HTML部分<input type"file" id"fileInput"><button onclick"show…

Nginx内网环境开启https

文章目录 前言一、open-ssl1. 验证2. 安装3.生成ssl证书 一、nginx1. 验证支持模块2. 安装必要模块2.1 重新编译nginx2.2 替换原文件 3. 配置https 总结 前言 nginx开启https前提&#xff1a; 服务器支持open-sslnginx 包含--with-http_ssl_module --with-stream --with-stre…

融知财经:期货和现货的区别是什么?哪个风险大?

期货和现货在交易对象等方面存在明显的区别。期货交易是一种衍生金融工具&#xff0c;主要用于价格发现、风险管理和投机&#xff0c;而现货交易则是商品和服务的实际买卖。在选择进行期货交易还是现货交易时&#xff0c;投资者需要根据自己的需求和市场情况来决定。 期货和现货…

In Context Learning(ICL)个人记录

In Context Learning&#xff08;ICL&#xff09;简介 In Context Learning&#xff08;ICL&#xff09;的关键思想是从类比中学习。上图给出了一个描述语言模型如何使用 ICL 进行决策的例子。首先&#xff0c;ICL 需要一些示例来形成一个演示上下文。这些示例通常是用自然语言…

C++牛客周赛题目分享(2)小红叕战小紫,小红的数组移动,小红的素数合并,小红的子序列求和

目录 ​编辑 1.前言 2.四道题目 1.小红叕战小紫 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思路 2.小红的数组移动 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思路 3.小红的素数合并 1.题目描述 2.输入描述 3.输出描述 4.示例 5.题解与思…

华东政法大学公布2024《负面清单期刊目录》,附目录

近日&#xff0c;华东政法大学公布2024《负面清单期刊目录》&#xff0c;包括《齐齐哈尔大学学报(哲学社会科学版)》《景德镇学院学报(社科)》《九江学院学报(社科)》《北京印刷学院学报》《江西电力职业技术学院学报》《中国多媒体与网络教学学报》《吉林省教育学院学报》《开…

pyqt动画效果放大与缩小

pyqt动画效果放大与缩小 QPropertyAnimation介绍放大与缩小效果代码 QPropertyAnimation介绍 QPropertyAnimation 是 PyQt中的一个类&#xff0c;它用于对 Qt 对象的属性进行动画处理。通过使用 QPropertyAnimation&#xff0c;你可以平滑地改变一个对象的属性值&#xff0c;例…

【新手入门】Github与Git使用教程

Github与Git 一、Github基础教程 1.1 基本操作 点击代码文件可以直接查看文件的内容&#xff0c;支持在线修改文件&#xff0c;只需要点击(文件内容)右上角的编辑按钮即可进行编辑。 README.md一般介绍项目的功能&#xff0c;用法&#xff0c;注意事项&#xff1b;有时还有…

二、安装、使用Grafana

目录 一、安装Grafana 二、使用grafana 一、安装Grafana 官网&#xff1a;https://grafana.com/ 账号&#xff1a;admin 密码&#xff1a;xxxxxx [rootrabbitmq_2 prometheus]# [rootrabbitmq_2 prometheus]# wget https://dl.grafana.com/enterprise/release/grafana-enter…

kubernetes集群开启ipvs模式

1&#xff09; 需要在所有节点机器安装ipvsadm&#xff1a; apt install ipvsadm 2) 加载ipvs模块 modprobe ip_vs modprobe ip_rr modprobe ip_wrr modprobe ip_sh修改k8s集群内的kube-proxy cm kubectl edit cm kube-proxy -n kube-system修改模式为ipvs&#xff1a; 如图 …

重大升级 | OpenSCA SaaS全面接入供应链安全情报!

结合社区用户反馈及研发小伙伴的积极探索&#xff0c; OpenSCA 项目组再次发力&#xff0c;SaaS版本重大升级啦&#xff01; 用户的需求是OpenSCA前进的动力&#xff0c;欢迎更多感兴趣的朋友们积极试用和反馈~ 更 新 内 容 1.全面接入云脉XSBOM供应链安全情报 2.强大的资产…

太速科技-基于VU3P的双路100G光纤加速计算卡

基于VU3P的双路100G光纤加速计算卡 一、板卡概述 基于Xilinx UltraScale16 nm VU3P芯片方案基础上研发的一款双口100 G FPGA光纤以太网PCI-Express v3.0 x16智能加速计算卡&#xff0c;该智能卡拥有高吞吐量、低延时的网络处理能力以及辅助CPU进行网络功能卸载的能力…

【董晓算法】竞赛常用知识之字符串2

前言&#xff1a; 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列&#xff08;还没学完&#xff09; 【董晓算法】动态规划之线性DP问题-CSDN博客 【董晓算法】动态规划之背包DP问题&#xff…

通往糊涂之路 The road to serfdom

最近被推送了一本书&#xff0c;哈耶克的............ 试一试&#xff0c;看看能不能看懂&#xff0c;也许是通往糊涂之路。

AI游戏外挂为何违法?

尊敬的读者们&#xff0c;大家好&#xff01;今天我想和大家探讨一个备受争议的话题——AI游戏外挂的合法性。近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI外挂逐渐成为游戏领域的一大毒瘤。那么&#xff0c;为什么AI游戏外挂会被视为违法行为呢&#xff1f;本…