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

常用SQL语句总结

SQL语句

文章目录

  • SQL语句
  • 1 SQL语句简介
  • 2 DQL(数据查询语句)
  • 3 DML(数据操纵语句)
  • 4 DDL(数据定义语句)
  • 5 DCL(数据控制语句)
  • 6 TCL(事务控制语句)

在这里插入图片描述

1 SQL语句简介

SQL(Structured Query Language)语言用于管理和操作关系型数据库。它包括以下几种主要的语句类型:

  1. 数据查询语句(Data Query Language,简称DQL):用于从数据库中检索数据的语句。常见的DQL语句是SELECT语句,用于从数据库表中查询特定的数据行和列。
  2. 数据操纵语句(Data Manipulation Language,简称DML):用于操作数据库中的数据的语句。常见的DML语句包括INSERT、UPDATE和DELETE,分别用于插入、更新和删除数据库中的数据行。
  3. 数据定义语句(Data Definition Language,简称DDL):用于定义数据库结构的语句。常见的DDL语句包括CREATE、ALTER和DROP,分别用于创建、修改和删除数据库、表、列等对象。
  4. 数据控制语句(Data Control Language,简称DCL):用于控制数据库用户访问权限和安全性的语句。常见的DCL语句有GRANT和REVOKE,用于授予和撤销用户对数据库对象的访问权限。
  5. 事务控制语句(Transaction Control Language,简称TCL):用于控制数据库事务的语句。常见的TCL语句包括COMMIT、ROLLBACK和SAVEPOINT,用于提交、回滚和设置保存点以实现事务的管理。

这些不同类型的SQL语句提供了丰富的功能和灵活性,以满足不同的数据库操作需求。开发人员通过组合和使用这些语句,可以实现数据的查询、更新、定义和安全控制等操作,从而有效地管理数据库。

2 DQL(数据查询语句)

DQL(Data Query Language)是SQL语言的一个子集,用于从数据库中查询数据。以下是一些DQL语句的示例及其应用场景:

  1. SELECT:用于从数据库表中查询数据行和列。SELECT语句可以选择特定列或所有列。

    示例:SELECT * FROM employees; (查询所有员工数据)

  2. WHERE:用于在查询中设置条件,过滤满足条件的数据行。

    示例:SELECT * FROM customers WHERE city = ‘New York’; (查询居住在纽约的客户)

  3. DISTINCT:用于返回查询结果中的唯一值,去除重复的数据行。

    示例:SELECT DISTINCT country FROM customers; (查询唯一的国家列表)

  4. ORDER BY:用于对查询结果进行排序。

    示例:SELECT * FROM products ORDER BY price DESC; (按价格降序排列产品)

  5. GROUP BY:用于对查询结果进行分组汇总,常与聚合函数一起使用。

    示例:SELECT department, AVG(salary) FROM employees GROUP BY department; (按部门计算平均工资)

  6. JOIN:用于将多个表关联起来,通过共同的列进行匹配。

    示例:SELECT * FROM orders JOIN customers ON orders.customer_id = customers.customer_id; (查询订单和相应客户信息)

  7. LIMIT:用于限制查询结果返回的行数。

    示例:SELECT * FROM products LIMIT 10; (查询返回前10行产品数据)

这些是DQL语句的一些常见示例,通过使用DQL语句,可以从数据库中提取所需的数据,并根据需求进行排序、过滤、分组等操作。DQL在应用程序开发中非常常见,可用于构建动态的数据查询与显示功能,提供灵活的数据检索和分析能力

3 DML(数据操纵语句)

DML(Data Manipulation Language)用于操作数据库中的数据。以下是一些DML语句的示例及其应用场景:

  1. INSERT INTO:用于向数据库表中插入新的数据行。

    示例:INSERT INTO employees (name, age, salary) VALUES (‘John’, 30, 5000); (向员工表插入新的员工信息)

  2. UPDATE:用于更新数据库表中已有的数据行。

    示例:UPDATE customers SET city = ‘London’ WHERE customer_id = 1; (将ID为1的客户的城市更新为伦敦)

  3. DELETE FROM:用于删除数据库表中的数据行。

    示例:DELETE FROM orders WHERE order_date < ‘2022-01-01’; (删除早于2022年1月1日的订单数据)

这些DML语句用于对数据库中的数据进行新增、更新和删除操作。在应用程序开发中,DML语句经常用于数据的持久化和维护,例如用户注册、订单处理、数据更新等场景。通过执行这些语句,可以对数据库中的数据进行操作和改变,确保数据库与应用程序的数据一致性。

需要注意的是,执行DML语句时应谨慎,遵循数据完整性和安全性的原则,并充分考虑数据修改可能带来的影响。

4 DDL(数据定义语句)

DDL(Data Definition Language)用于定义数据库结构和对象的语句。以下是一些DDL语句的示例及其应用场景:

  1. CREATE TABLE:用于创建数据库表。

    示例:CREATE TABLE employees (id INT, name VARCHAR(50), age INT); (创建一个名为"employees"的表,包含id、name和age字段)

  2. ALTER TABLE:用于修改数据库表的结构,如添加、修改或删除列、约束等。

    示例:ALTER TABLE employees ADD COLUMN salary DECIMAL(10,2); (向"employees"表中添加一个名为salary的列)

  3. DROP TABLE:用于删除数据库表。

    示例:DROP TABLE employees; (删除名为"employees"的表)

  4. CREATE INDEX:用于创建索引,提高数据库查询的性能。

    示例:CREATE INDEX idx_name ON employees (name); (在"employees"表的name列上创建一个索引)

  5. CREATE VIEW:用于创建视图,类似于虚拟表,通过定义查询来简化数据访问。

    示例:CREATE VIEW active_customers AS SELECT * FROM customers WHERE status = ‘active’; (创建一个名为"active_customers"的视图,显示状态为"active"的客户)

  6. CREATE DATABASE:用于创建数据库。

    示例:CREATE DATABASE mydb; (创建名为"mydb"的数据库)

这些DDL语句用于定义数据库的结构和对象,如表、列、索引和视图等。在数据库设计和维护中,DDL语句起着重要的作用。开发人员可以使用DDL语句来创建、修改和删除数据库对象,确保数据库结构与应用程序需求一致。需要注意的是,执行DDL语句时应谨慎,因为对数据库结构的改变可能会对现有的数据和应用程序产生影响。在生产环境中,应谨慎地执行DDL语句,并在必要时备份数据库以防止意外情况的发生。

5 DCL(数据控制语句)

DCL(Data Control Language)用于控制数据库用户访问权限和安全性的语句。以下是一些DCL语句的示例及其应用场景:

  1. GRANT:用于赋予用户或用户组对数据库对象的权限。

    示例:GRANT SELECT, INSERT ON employees TO user1; (将SELECT和INSERT权限授予用户user1,使其对employees表有查询和插入的权限)

  2. REVOKE:用于撤销用户或用户组对数据库对象的权限。

    示例:REVOKE DELETE ON employees FROM user2; (从用户user2撤销对employees表的删除权限)

  3. DENY:用于拒绝用户对数据库对象的权限,与REVOKE不同之处在于,被拒绝的权限不能通过其他权限再次赋予。

    示例:DENY UPDATE ON employees TO user3; (拒绝用户user3对employees表的更新权限)

  4. SET ROLE:用于设置当前会话的角色。

    示例:SET ROLE admin; (将当前会话设置为admin角色)

这些DCL语句用于管理数据库用户的访问权限和安全控制。通过使用这些语句,数据库管理员可以精确地控制用户对数据库对象的操作权限,实施数据安全策略,并确保只有授权的用户能够访问和修改数据。这种权限控制可以防止未经授权的用户访问敏感数据,并提高数据库的安全性。

需要注意的是,在使用DCL语句时,应考虑权限的粒度和数据库安全策略,以确保权限的正确分配和撤销。同时,定期审查数据库权限和角色设置,及时检测和纠正可能存在的安全风险。

6 TCL(事务控制语句)

TCL(Transaction Control Language)用于管理数据库事务的语句。以下是一些TCL语句的示例及其应用场景:

  1. COMMIT:用于提交当前事务,将事务中的所有更改保存到数据库中。

    示例:COMMIT; (提交当前事务)

  2. ROLLBACK:用于回滚当前事务,撤销事务中的所有更改。

    示例:ROLLBACK; (回滚当前事务)

  3. SAVEPOINT:用于设置保存点,使得事务可以在特定点进行部分回滚。

    示例:SAVEPOINT sp1; (设置名为sp1的保存点)

  4. RELEASE SAVEPOINT:用于释放保存点。

    示例:RELEASE SAVEPOINT sp1; (释放名为sp1的保存点)

这些TCL语句用于管理数据库事务的提交、回滚和保存点控制。事务是数据库中一组操作的逻辑单元,要么全部成功执行提交,要么全部失败回滚。通过使用TCL语句,可以确保数据库操作的原子性、一致性、隔离性和持久性(ACID原则),从而保证数据的完整性和可靠性。

应用程序中经常使用TCL语句来管理数据库事务,尤其是在需要确保数据一致性和完整性的业务操作中,例如转账、订单处理等。通过正确使用TCL语句,可以避免数据丢失、冲突和不一致等问题,保证数据库操作的可靠性和稳定性。

滚和保存点控制。事务是数据库中一组操作的逻辑单元,要么全部成功执行提交,要么全部失败回滚。通过使用TCL语句,可以确保数据库操作的原子性、一致性、隔离性和持久性(ACID原则),从而保证数据的完整性和可靠性。

应用程序中经常使用TCL语句来管理数据库事务,尤其是在需要确保数据一致性和完整性的业务操作中,例如转账、订单处理等。通过正确使用TCL语句,可以避免数据丢失、冲突和不一致等问题,保证数据库操作的可靠性和稳定性。

需要注意的是,在使用TCL语句时,应合理划分事务的范围,选择合适的提交点和保存点,以及根据实际需求进行正确的提交或回滚操作。这有助于维护数据的一致性,并避免不必要的数据损失。

相关文章:

常用SQL语句总结

SQL语句 文章目录 SQL语句1 SQL语句简介2 DQL&#xff08;数据查询语句&#xff09;3 DML&#xff08;数据操纵语句&#xff09;4 DDL&#xff08;数据定义语句&#xff09;5 DCL&#xff08;数据控制语句&#xff09;6 TCL&#xff08;事务控制语句&#xff09; 1 SQL语句简介…...

arm交叉编译lmbench

一、下载lmbench www.bitmover.com/lmbench 官网下载&#xff0c;http://www.bitmover.com/lmbench/lmbench3.tar.gz 我没有下载下来&#xff0c;找的别人的百度云下载 链接: https://pan.baidu.com/s/1tGo1clCqY-jQPN8G1eWSsg 提取码: f6jd 二、修改makefile 修改三个文件…...

ExtJs 7.7.0 下载方法与去除trial水印

背景 最近发现Sencha ExtJs发布了ExtJs7.7.0版本&#xff0c;立刻下载了SDK包&#xff0c;许多朋友不知如何下载&#xff0c;如何去除右上角的trial水印。本文讲下相关下载技巧与方法。 下载SDK 首先需要申请试用&#xff0c;申请地址如下&#xff0c;需要注意可能需要梯子&…...

Android11开发规划

文章目录 规划总结规划 提示:这里可以添加本文要记录的大概内容: 从本文开始,会介绍如何移植瑞芯微提供的Android11源码到自己的RK3568的板子上 下面是整个Android开发的规划: 包括以下部分: … 一、移植部分 下载编译瑞芯微提供的源码 瑞芯微原厂源码目录介绍...

活动隔断在现在酒店运用的方式

活动隔断是一种在酒店内部划分空间的方式&#xff0c;用于实现不同活动的隔离和隐私。现代酒店常用的活动隔断方式有以下几种&#xff1a; 1. 固定隔断&#xff1a;使用墙体、固定屏风或者板材等材料&#xff0c;将空间划分为不同的房间或区域。这种方式常用于划分客房、会议室…...

Jenkins工具系列 —— 插件 钉钉发送消息

文章目录 安装插件 Ding TalkJenkins 配置钉钉机器人钉钉APP配置项目中启动钉钉通知功能 安装插件 Ding Talk 点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins Jenkins 配置钉钉机器人 点击 左侧的 Manage Jenkins &#xff0c;拉到最后 钉…...

LeetCode 26 题:删除有序数组的重复项

思路 在写这一个题时&#xff0c;我突然想到了Python中的 set&#xff08;&#xff09;函数可能会有大用处&#xff0c;便选择了用Python写。 set&#xff08;&#xff09;函数可以将列表转化为集合&#xff0c;集合会保证元素的单一性&#xff0c;所以会自动删去相同字符。 …...

优雅地切换node版本(windows)

文章目录 1、下载并安装nvm2、nvm的使用3、处理npm版本与nodejs版本不匹配问题&#xff08;通常不会有这个问题&#xff09; 1、下载并安装nvm 卸载已安装的node&#xff1a;控制面板-程序-找到node并卸载 通常在控制面板中卸载后&#xff0c;nodejs目录、环境变量、注册表就自…...

反诈:吴明军、黄亮领导的WIN生活资金盘,大家警惕防范此类诈骗

消息已经证实&#xff01;“米粒”无法变现&#xff0c;数以万计的会员深套“315万民商城”&#xff0c;维权艰难&#xff0c;血汗钱无法讨回。 其实这一点笔者并不感到太意外&#xff0c;因为万民商城资金传销盘的定性之前就已经发文揭露过&#xff0c;并反复提醒大家小心警惕…...

shell、bash的关系及bash的特性(一)

一、概念 shell是壳&#xff0c;是运行在终端中的文本互动程序。Shell相当于是一个翻译&#xff0c;把我们在计算机上的操作命令&#xff0c;翻译为计算机可识别的二进制命令&#xff0c;传递给内核&#xff0c;以便调用计算机硬件执行相关的操作&#xff1b;同时&#xff0c;计…...

【问题随记】

ubuntu 14.04源更新(sources.list) deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-update…...

Stable Diffusion AI绘画学习指南【常用模型,采样器介绍】

常用采样器、目前有20个采样步骤越多每个步之间的降噪越小&#xff0c;减少采样过程中的截断误差&#xff0c;结果越好 学微分方程求解器 Euler&#xff08;最简单的采样器&#xff0c;采样过程中不加随机噪声&#xff0c;根据采样计划来执行每个步骤中的噪声&#xff0c;并使…...

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…...

RISC-V基础之浮点指令(包含实例)

RISC-V体系结构定义了可选的浮点扩展&#xff0c;分别称为RVF、RVD和RVQ&#xff0c;用于操作单精度、双精度和四倍精度的浮点数。RVF/D/Q定义了32个浮点寄存器&#xff0c;f0到f31&#xff0c;它们的宽度分别为32位、64位或128位。当一个处理器实现了多个浮点扩展时&#xff0…...

前端生成图片验证码怎么做?

##题记&#xff1a;我们实现一个功能首先想一下我们需要做哪些工作&#xff0c;比如我们需要生成一个随机的图片验证码&#xff0c;我们需要一个就是点击事件获取验证码&#xff0c;通过接口我们去获取图片路径进行渲染就行&#xff0c;这里边还要牵扯一件事情就是获取一个随机…...

【Java】springboot框架 粮油质量溯源MES生产加工管理系统源码

粮油质量溯源MES生产加工管理系统源码&#xff0c;实现一物一码&#xff0c;全程追溯&#xff0c;正向追踪&#xff0c;逆向溯源。技术架构&#xff1a;spring bootmybatiseasyuimysql 。 粮油生产质量追溯系统实现种植主体、种植基地、生产计划、压榨、精炼、包装、销售、物料…...

macOS install redis遇到的bug(tar包,homebrew安装,守护进程redis.conf配置)

官网下载tar包再make install 首先是sudo make test的时候一直报 !!! WARNING The following tests failed: *** [err]: trim on SET with big value in tests/unit/type/string.tcl Expected [r memory usage key] < 42000 (context: type source line 478 file /usr/loca…...

面试题:创建JS对象的几种方式?构造函数是什么?new操作符具体干了什么?为什么字符串可以使用length?

内置构造函数还未更新完&#xff0c;待更新。。。 js创建对象的三种方式&#xff1f;构造函数是什么&#xff1f;new操作符具体干了什么&#xff1f;为什么字符串可以使用length&#xff1f; 内置构造函数还未更新完&#xff0c;待更新。。。一、利用对象字面量创建对象二、利用…...

LabVIEW深度相机与三维定位实战(下)

‍‍&#x1f3e1;博客主页&#xff1a; virobotics的CSDN博客&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f384;所属专栏&#xff1a;『LabVIEW深度学习实战』 &#x1f37b;上期文章&#xff1a;『LabVIEW深度相机与三维定位实战&#xff08;上&#xff09;』 &#…...

【基础类】—CSS盒模型的全面认识

一、基本概念&#xff1a;标准IE模型 盒模型&#xff1a;margin border padding content 标准模型&#xff1a;将元素的宽度和高度仅计算为内容区域的尺寸&#xff08;content-box&#xff0c;默认&#xff09; 当CSS盒模型为 标准盒模型 &#xff08;box-sizing: conten…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...