常用SQL语句总结

SQL语句

文章目录

  • SQL语句
  • [1 SQL语句简介](#1 SQL语句简介)
  • [2 DQL(数据查询语句)](#2 DQL(数据查询语句))
  • [3 DML(数据操纵语句)](#3 DML(数据操纵语句))
  • [4 DDL(数据定义语句)](#4 DDL(数据定义语句))
  • [5 DCL(数据控制语句)](#5 DCL(数据控制语句))
  • [6 TCL(事务控制语句)](#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语句时,应合理划分事务的范围,选择合适的提交点和保存点,以及根据实际需求进行正确的提交或回滚操作。这有助于维护数据的一致性,并避免不必要的数据损失。

相关推荐
Mephisto.java几秒前
【力扣 | SQL题 | 每日三题】力扣175, 176, 181
sql·算法·leetcode
码爸13 分钟前
hbase merge工具
大数据·数据库·hbase
hong_zc15 分钟前
JDBC 编程
java·数据库·mysql
Leoysq15 分钟前
Oracle 数据库常用命令与操作指南
数据库·笔记·oracle
数据与人16 分钟前
Can‘t connect to local MySQL server through socket
数据库
天蓝蓝2352820 分钟前
MySQL数据库的备份与恢复
数据库·mysql·oracle
踏浪逐行21 分钟前
数据库(mysql)常用命令
数据库·mysql
闲人编程40 分钟前
Oracle 单机和集群环境部署教程
oracle·部署·集群·单机
Leoysq41 分钟前
Navicate 链接Oracle 提示 Oracle Library is not loaded ,账号密码都正确地址端口也对
数据库·oracle
imc.111 小时前
初识linux(2)
java·linux·数据库