【SQL】SQL语言的分类:从定义到实践

目录

前言

SQL语言核心概念速览:从DDL到DCL全面解析

DDL (Data Definition Language) - 数据定义语言

 DML (Data Manipulation Language) - 数据操作语言

DQL (Data Query Language) - 数据查询语言

DCL (Data Control Language) - 数据控制语言


前言

      SQL,全称Structured Query Language,是数据库操作的标准语言,允许用户以一种简单而有效的方式与数据库进行交互。SQL语言被设计为易于理解且功能强大,被分为四个主要类别,分别是DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)。

SQL语言核心概念速览:从DDL到DCL全面解析
类别英文全称功能描述示例命令
DDL (数据定义语言)Data Definition Language用于定义和管理数据库的结构,如创建、修改或删除数据库对象CREATE, ALTER, DROP
DML (数据操作语言)Data Manipulation Language用于对数据库中的数据进行操作,包括插入、更新和删除数据记录INSERT, UPDATE, DELETE
DQL (数据查询语言)Data Query Language用于从数据库中检索数据,是最常见的数据读取操作SELECT
DCL (数据控制语言)Data Control Language用于授予或收回访问数据库的权限,以及管理事务GRANT, REVOKE, COMMIT, ROLLBACK

详细解释

  • DDL (数据定义语言): DDL语句主要用于创建、修改和删除数据库中的各种对象,比如数据库本身、表、视图、索引、存储过程等。这类操作是数据库架构设计和管理的基础。例如,CREATE TABLE语句用来创建新表,ALTER TABLE语句可以修改现有表的结构,而DROP TABLE语句则会删除一个表及其所有数据。

  • DML (数据操作语言): DML语句用于管理数据库中的数据记录,即对数据进行增删改操作。INSERT语句用来插入新的数据行,UPDATE语句可以更新已存在的数据行的内容,而DELETE语句则是用来删除不需要的数据行。

  • DQL (数据查询语言): DQL是SQL中用于查询数据的主要部分,允许用户从数据库中检索所需的信息。SELECT语句是最核心的DQL命令,可以单独使用或结合其他诸如WHEREORDER BYGROUP BY等子句来完成复杂的查询需求,如筛选、排序和分组数据。

  • DCL (数据控制语言): DCL语句用于管理数据库的安全性和事务控制。通过GRANTREVOKE命令,数据库管理员可以控制用户对数据库对象的访问权限,确保数据的安全。而COMMITROLLBACK则用于管理事务,确保数据操作的原子性和一致性,即要么全部执行成功,要么全部不执行,防止数据处于不一致状态。

DDL (Data Definition Language) - 数据定义语言

DDL负责定义数据库的结构,包括创建、修改和删除数据库对象,如数据库、表、视图、索引等。是数据库管理员用来构建数据库框架的工具。

示例代码

  • 创建数据库
CREATE DATABASE MyDatabase;
  • 创建表
CREATE TABLE Employees (
    ID INT PRIMARY KEY,
    Name VARCHAR(100),
    Department VARCHAR(50),
    Salary DECIMAL(10,2)
);
  • 修改表结构
ALTER TABLE Employees
ADD COLUMN JoinDate DATE;
  • 删除表
    DROP TABLE Employees;

    :DDL语句是立即执行的,直接作用于数据库的结构而不涉及数据内容。DDL操作是不可逆的,一旦执行了如DROP TABLE这样的语句,表及其数据就会永久丢失,除非事先进行了备份。

 DML (Data Manipulation Language) - 数据操作语言

DML用于对数据库中的数据进行增删改查以外的直接操作,如插入、更新、删除数据记录。是日常数据管理中最常用的SQL部分。

示例代码

  • 插入数据
INSERT INTO Employees (ID, Name, Department, Salary)
VALUES (1, 'Alice Smith', 'Sales', 50000.00);
  • 更新数据
UPDATE Employees
SET Salary = Salary + 1000
WHERE Department = 'IT';
  • 删除数据
    DELETE FROM Employees
    WHERE ID = 2;

    :DML语句影响的是数据库中的数据内容,而非结构。使用这些语句时,可以通过WHERE子句精确指定操作的记录,以避免误操作。

    DQL (Data Query Language) - 数据查询语言

    DQL是SQL中用于检索数据的部分,最常见的就是SELECT语句。允许用户根据不同的条件和要求提取数据,是数据分析和报表制作的基础。

    示例代码

  • 基本查询
SELECT Name, Salary
FROM Employees;
  • 条件查询
SELECT *
FROM Employees
WHERE Department = 'HR' AND Salary > 60000;
  • 分组与排序
    SELECT Department, AVG(Salary) AS AverageSalary
    FROM Employees
    GROUP BY Department
    ORDER BY AverageSalary DESC;

    :DQL非常灵活,通过组合JOINGROUP BYHAVINGORDER BY等子句,可以实现复杂的数据筛选、分组和排序,是SQL学习的重点之一。

    DCL (Data Control Language) - 数据控制语言

    DCL用于设置和管理数据库用户权限,以及控制事务处理过程。主要包括GRANTREVOKE语句来授权和取消用户对数据库对象的操作权限,以及COMMITROLLBACK来管理事务。

    示例代码

  • 授权权限
GRANT SELECT, INSERT ON Employees TO 'new_user'@'localhost';
  • 撤销权限
REVOKE UPDATE ON Employees FROM 'new_user'@'localhost';
  • 事务控制
    BEGIN TRANSACTION;
    
    -- 执行一系列DML操作
    
    COMMIT; -- 或者 ROLLBACK;

    :DCL对于保障数据库安全至关重要,通过精细的权限管理,可以防止未经授权的访问和操作,保护数据不被非法篡改或泄露。事务控制则确保数据的一致性和完整性,即便在执行过程中遇到错误,也能回滚到事务开始前的状态。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何遇mirror

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值