SQL语言(数据库编程)
一.select查询
在数据库编程中,SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库管理系统(RDBMS)的标准编程语言。其中,SELECT 是 SQL 中最常用的查询语句,用于从数据库表中检索数据。
下面是一个基本的 SELECT 查询的示例:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
SELECT:指定要检索的列。FROM:指定要从中检索数据的表。WHERE(可选):指定用于过滤结果的条件。
示例
假设我们有一个名为 employees 的表,其中包含以下列:id, name, age, 和 department。
-
检索所有列和所有行:
SELECT * FROM employees;
-
检索特定列:
SELECT name, age FROM employees;
- 添加条件:
检索所有年龄大于 30 的员工的姓名和年龄:
SELECT name, age FROM employees WHERE age > 30;
- 排序结果:
使用 ORDER BY 子句对结果进行排序。默认是升序(ASC),但也可以指定降序(DESC)。
检索所有年龄大于 30 的员工,并按年龄降序排序:
SELECT name, age FROM employees WHERE age > 30 ORDER BY age DESC;
- 限制返回的行数:
使用 LIMIT 子句限制返回的行数。这对于分页特别有用。
检索前 10 个员工的姓名和年龄:
SELECT name, age FROM employees LIMIT 10;
- 使用聚合函数:
SQL 提供了许多聚合函数,如 COUNT(), SUM(), AVG(), MAX(), 和 MIN(),用于对一组值执行计算,并返回单个值。
计算 employees 表中的员工数量:
SELECT COUNT(*) FROM employees;
- 分组和过滤分组:
使用 GROUP BY 子句将数据分成多个逻辑组,并使用 HAVING 子句对分组进行过滤。
按部门分组并计算每个部门的员工数量,仅显示员工数量大于 5 的部门:
SELECT department, COUNT(*) as employee_count
FROM employees
GROUP BY department
HAVING employee_count > 5;
这只是 SELECT 查询的基本用法。SQL 是一个功能强大的语言,还有许多高级功能和技巧可以探索和学习。
二.函数
在数据库编程中,SQL(Structured Query Language)提供了丰富的内置函数,这些函数可以用于在查询中执行各种计算和转换操作。以下是一些常见的SQL函数分类及其示例:
字符串函数
- CONCAT():连接两个或多个字符串。
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees; - UPPER() 和 LOWER():将字符串转换为大写或小写。
SELECT UPPER(name) FROM employees; - TRIM():去除字符串前后的空格。
SELECT TRIM(' Hello World ') AS trimmed_string; - SUBSTRING() 或 SUBSTR():提取字符串的子串。
SELECT SUBSTRING(name, 1, 3) AS initial_letters FROM employees; - LENGTH() 或 CHAR_LENGTH():返回字符串的长度。
SELECT LENGTH(name) AS name_length FROM employees;
数值函数
- ABS():返回数值的绝对值。
-
SELECT ABS(-10) AS absolute_value; - ROUND():对数值进行四舍五入。
SELECT ROUND(123.4567, 2) AS rounded_value; - CEIL() 或 CEILING():返回大于或等于给定数值的最小整数。
SELECT CEIL(123.456) AS ceiling_value; - FLOOR():返回小于或等于给定数值的最大整数。
SELECT FLOOR(123.456) AS floor_value; - MOD():返回两数相除的余数。
SELECT MOD(10, 3) AS remainder;
日期和时间函数
- NOW():返回当前日期和时间。
SELECT NOW() AS current_datetime; - CURDATE():返回当前日期。
SELECT CURDATE() AS current_date; - CURTIME():返回当前时间。
SELECT CURTIME() AS current_time; - DATE_ADD() 和 DATE_SUB():给日期添加或减去指定的时间间隔。
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS next_day; - DATEDIFF():返回两个日期之间的天数差。
SELECT DATEDIFF('2023-10-23', '2023-10-01') AS days_diff; - EXTRACT():从日期或时间值中提取指定的部分(例如年、月、日)。
SELECT EXTRACT(YEAR FROM CURDATE()) AS current_year;
聚合函数
- COUNT():计算行数。
SELECT COUNT(*) FROM employees; - SUM():计算数值列的总和。
SELECT SUM(salary) AS total_salary FROM employees; - AVG():计算数值列的平均值。
SELECT AVG(salary) AS average_salary FROM employees; - MAX() 和 MIN():返回数值列的最大值和最小值。
SELECT MAX(salary) AS max_salary FROM employees; SELECT MIN(salary) AS min_salary FROM employees; - GROUP_CONCAT():将多个行的值连接成一个字符串。
SELECT department, GROUP_CONCAT(name) AS employees_list FROM employees GROUP BY department;
这些只是SQL中可用函数的一部分。不同的数据库管理系统(如MySQL、PostgreSQL、SQL Server等)可能还提供特定于该系统的额外函数。当编写SQL查询时,最好查阅特定数据库的文档以了解可用的函数及其用法。
三.多表查询
在数据库编程中,多表查询是SQL(Structured Query Language)的一个重要组成部分,它允许用户从多个相关的表中检索数据。多表查询通常涉及连接(JOIN)操作,这些操作可以基于两个或多个表之间的相关列来组合数据。以下是一些常见的多表查询类型及其示例:
1. 内连接(INNER JOIN)
内连接返回两个表中都有的记录
相关文章:
SQL语言(数据库编程)
一.select查询 在数据库编程中,SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库管理系统(RDBMS)的标准编程语言。其中,SELECT 是 SQL 中最常用的查询语句,用于从数据库表中检索数据。 下面是一个基本的 SELECT 查询的示例: SELECT column1…...
C#面向对象(OOPs)中的多态性
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com C#面向对象(OOPs)中的多态性 概述:在编程语言和类型理论中,多态性是为不同类型的实体提供单个接口,或者使用单个符号来表示多个不同的类型。多态对象是能够呈现多种形式的…...
(二十一)从零开始搭建k8s集群——kubernates核心组件及功能介绍
前言 Kubernetes是一个可移植、可扩展、开源的平台,用于管理容器化的工作负载和服务,它促进了声明性配置和自动化。Kubernetes容器可以持续开发、集成和部署:可靠且频繁地构建和部署容器镜像,快速有效地回滚;开发与运…...
[云原生] k8s之存储卷
一、emptyDir存储卷 当Pod被分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件,尽管该卷可以挂载到每…...
【PCL】(二十七)基于法线差的点云分割
(二十七)基于法线差的点云分割 图片来源 提出这个方法的论文:Difference of Normals as a Multi-Scale Operator in Unorganized Point Clouds 算法流程: 在大尺度的范围内(半径 r 1 r_1 r1)估计每个点…...
智慧公厕系统的组成部分有什么?
智慧公厕系统是现代城市管理中一项重要的创新,利用物联网、互联网、大数据、云计算、自动化控制等先进的技术手段,提供高效便捷的公厕服务。从信息系统的角度来看,智慧公厕系统主要由硬件、软件和网络组成,硬件、软件和网络三大部…...
[数据集][目标检测]芒果叶病害数据集VOC+YOLO格式4000张5类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4000 标注数量(xml文件个数):4000 标注数量(txt文件个数):4000 标注…...
Linux: 预备
计算机结构基础 操作系统: 内核 (管理软硬件) shell(给用户使用操作系统的方式) 操作系统的目标 对硬件抽象 原因:操作系统是对软硬件资源管理的应用软件抽象:内存管理, 进程管理, 文件管理, 驱动管理软件:驱动程序(给软件提供访问硬件的软件)硬件:磁盘(对应文件), 网卡等隔离…...
ChatGPT 升级出现「我们未能验证您的支付方式/we are unable to authenticate」怎么办?
ChatGPT 升级出现「我们未能验证您的支付方式/we are unable to authenticate」怎么办? 在订阅 ChatGPT Plus 时,有时候会出现以下报错 : We are unable to authenticate your payment method. 我们未能验证您的支付方式。 出现 unable to a…...
JavaWeb - 3 - JavaScript(JS)
JavaScript(JS)官方参考文档:JavaScript 教程 JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言,是用来控制网页行为的,它能使网页可交互(脚本语言就不需要编译,直接通过浏览器…...
基于springboot+vue的美食烹饪互动平台
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...
linux中操作服务器常用命令
在Linux中操作服务器时,常用的命令包括: ls:列出目录内容。 cd:切换目录。 pwd:显示当前所在的目录路径。 mkdir:创建一个新的目录。 rmdir:删除一个空的目录。 cp:复制文件或目录。…...
最简k8s部署(AWS Load Balancer Controller使用)
问题 我需要在k8s集群里面部署springboot服务,通过k8s ingress访问集群内部的springboot服务,应该怎么做? 这里假设已经准备好k8s集群,而且也准备好springboot服务的运行镜像了。这里我们将精力放在k8s服务编排上面。 一图胜千言…...
差距拉开了!量化大厂最新业绩排行曝光!
经历了一月份的失落和二月份绝地反攻,量化大厂们的整体业绩备受关注。 而今年2月份的量化战绩,甚为关键! 毕竟市场指数“前低后高”,基金经理与投资人开年以来,共同经历了“惊心动魄”的考验。 量化大厂,…...
【Web前端】Vue核心基础
文章目录 1. Vue简介2. Vue官网使用指南3. 初识Vue3.1 搭建Vue开发环境3.2 HelloWorld案例3.3 el与data的两种写法3.4 MVVM模型3.5 模板语法 4. 数据绑定4.1 v-bind单向数据绑定4.2 v-model双向数据绑定 5. 事件处理5.1 v-on绑定事件5.2 事件修饰符5.3 键盘事件 6. 计算属性6.1…...
Linux操作系统项目上传Github代码仓库指南
文章目录 1 创建SSH key2.本地git的用户名和邮箱设置3.测试连接4.创建仓库5.终端项目上传 1 创建SSH key 1.登录github官网,点击个人头像,点击Settings,然后点击SSH and GPG keys,再点击New SSH key。 Title 可以随便取,但是 key 需要通过终端生成。 Linux终端执行…...
机器学习--循环神经网路(RNN)2
在这篇文章中,我们介绍一下其他的RNN。 一.深层RNN 循环神经网络的架构是可以任意设计的,之前提到的 RNN 只有一个隐藏层,但 RNN 也可以是深层的。比如把 xt 丢进去之后,它可以通过一个隐藏层,再通过第二个隐藏层&am…...
sheng的学习笔记-AI-多分类学习:ECOC,softmax
目录:sheng的学习笔记-AI目录-CSDN博客 基本术语: 若我们欲预测的是离散值,例如“好瓜”“坏瓜”,此类学习任务称为“分类”(classification); 若欲预测的是连续值,例如西瓜成熟度0.95、0.37,…...
ChatGPT Plus 支付出现「您的银行卡被拒绝/your card has been declined」怎么办?
ChatGPT Plus 支付出现「您的银行卡被拒绝/your card has been declined」怎么办? 在订阅 ChatGPT Plus 或者 OpenAI API 时,有时候会出现已下报错 : Your card has been declined. 您的银行卡被拒绝 出现这种错误,有以下几个解…...
typescript学习(更新中)
目录 开发环境搭建类型如何声明有哪些类型编译配置文件 开发环境搭建 npm i -g typescripttsc检查是否安装成功 类型如何声明 // 先声明再赋值 let a: number a 1// 直接赋值 let b 1function sum(a: number, b: number): number {return a b } console.log(sum(1, 2))有…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
