常用SQL语句总结

news/2025/1/8 3:51:25/

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语句时,应合理划分事务的范围,选择合适的提交点和保存点,以及根据实际需求进行正确的提交或回滚操作。这有助于维护数据的一致性,并避免不必要的数据损失。


http://www.ppmy.cn/news/1003427.html

相关文章

Jmeter如何添加插件

一、前言 ​ 在我们的工作中&#xff0c;我们可以利用一些插件来帮助我们更好的进行性能测试。今天我们来介绍下Jmeter怎么添加插件&#xff1f; 2023最新Jmeter接口测试从入门到精通&#xff08;全套项目实战教程&#xff09; 二、插件管理器 ​ 首先我们需要下载插件管理器j…

安防视频监控汇聚平台EasyCVR在移动端火狐浏览器中云台显示的优化

安防监控视频EasyCVR视频融合平台基于云边端一体化架构&#xff0c;具有强大的数据接入、视频监控汇聚、处理及分发能力&#xff0c;平台能对前端接入设备进行统一集中管理&#xff0c;支持采用设备树对设备进行分组、分级管理&#xff0c;支持设备状态监测、云端运维等功能&am…

“我要找到你”——主动救助,让乡村重疾儿童看病不再“两眼一抹黑”

走出医院&#xff0c;主动寻找 郑小伟是河北省阜平县妇幼保健院的儿科主任&#xff0c;在这里工作快20年了。从2021年11月开始&#xff0c;她的桌上一直摆着厚厚一叠阜平县重疾儿童住院名单。她对着上面的名字一个个打电话&#xff0c;手机打不通&#xff0c;就换座机再接着打…

通向架构师的道路之tomcat集群

一、为何要集群 单台App Server再强劲&#xff0c;也有其瓶劲&#xff0c;先来看一下下面这个真实的场景。 当时这个工程是这样的&#xff0c;tomcat这一段被称为web zone&#xff0c;里面用springws&#xff0c;还装了一个jboss的规则引擎Guvnor5.x&#xff0c;全部是ws没有se…

【phaser微信抖音小游戏开发005】画布上添加图片

特别注意&#xff1a;真机模拟的时候&#xff0c;尽量使用网络图片资源&#xff0c;不要在小程序源文件里面使用图片&#xff0c;会出现真机加载不成功&#xff0c;小程序包体积过大的问题。我们学习过程中&#xff0c;只是作为演示使用。 推荐使用场景&#xff1a; 背景图片…

谐波失真(HD)

某一固定信号经过电子元器件后会出现谐波信号&#xff0c;在现实世界中&#xff0c;渴望都是线性的系统。比如&#xff1a;某个信号经过运算放大器放大&#xff0c;理想情况下不应该出现其他谐波信号&#xff0c;但实际上有谐波信号出现&#xff0c;HD(harmonic distortion)在一…

矩阵快速幂

简介 矩阵快速幂是一种高效计算矩阵幂的方法。它利用了矩阵的幂运算具有分治性质的特点&#xff0c;可以将矩阵的幂运算时间复杂度从 O(n)降低到 O(logn)。可用于解决线性递推式问题。 经典的斐波那契数列fnfn-1fn-2。当n很大时&#xff0c;你无法快速的计算第n项的值。可以构…

安全学习DAY14_JS信息打点

信息打点——前端JS框架 文章目录 信息打点——前端JS框架小节概述-思维导图JS安全概述什么是JS渗透测试&#xff1f;前后端差异JS安全问题流行的Js框架如何判定JS开发应用&#xff1f; 测试方法&#xff08;JS文件的获取以及分析方法1、手工搜索分析2、半自动Burp分析插件介绍…