• MySQL语言分类


     

    目录

    DDL

    1.创建表:

    2.修改表结构,添加列:

     3.删除表:

    4.创建索引:

    5.创建视图:

    6.修改表名:

    7.修改列名:

    8.删除索引:

    DML

    1.插入数据:

    2.更新数据:

    3.删除数据:

    4.查询数据:

    5.条件查询:

    6.排序查询:

    7.聚合函数查询:

    8.连接查询:

    DQL

    1.查询所有数据:

    2.指定列查询:

    3.条件查询:

    4.排序查询:

    5.分组查询:

    6.聚合函数查询:

    7.连接查询:

    8.子查询:

    DCL

    1.授权用户:

    2.撤销用户权限:

    3.创建角色:

    4.授权角色:

    5.将用户添加到角色:

    6.撤销角色权限:

    7.删除角色:

    8.创建视图:

    9.修改视图:

    10.删除视图:

    总结


    当谈到MySQL数据库时,你会想到什么?索引、键、表、视图、触发器还是开源性。那么你知道MySQL中SQL语言的分类吗?下面我们将会介绍到SQL语言。当谈到MySQL中的四种语言(DDL、DML、DQL、DCL)时,可以使用表格进行简洁的介绍:

    语言类型           全称                                                 作用
    DDLData Definition Language(数据定义语言)用于定义数据库结构和模式的操作,包括创建、修改和删除数据库对象。常见命令有CREATE、ALTER和DROP。
    DMLData Manipulation Language(数据操作语言)用于对数据库中的数据进行操作,如插入、更新和删除数据。允许用户对表中的数据进行增删改操作。常见命令有INSERT、UPDATE和DELETE。
    DQLData Query Language(数据查询语言)用于从数据库中检索数据,执行查询操作。允许用户根据条件查询数据库中的数据,并返回满足条件的结果集。常见命令是SELECT。
    DCLData Control Language(数据控制语言)用于控制数据库的访问权限和安全性。包括授权用户对数据库对象的访问权限以及撤销权限。常见命令有GRANT和REVOKE。

    这个表格简明扼要地列出了每种语言的全称和作用。通过使用这些语言,可以在MySQL中定义数据库结构、操作数据、查询数据以及控制数据库的访问权限和安全性。

    DDL

    DDL是数据定义语言(Data Definition Language)的缩写,它是SQL语言的一部分,用于定义数据库的结构和模式。DDL命令可以创建、修改和删除数据库对象,如表、索引、视图、存储过程等。

    下面是一些常用的DDL命令:

    • CREATE:用于创建数据库对象,如表、索引、视图等。CREATE TABLE语句用于创建表,CREATE INDEX语句用于创建索引,CREATE VIEW语句用于创建视图。

    • ALTER:用于修改数据库对象的结构,如添加、删除、修改列、约束、索引等。ALTER TABLE语句用于修改表结构,ALTER INDEX语句用于修改索引结构。

    • DROP:用于删除数据库对象,如表、索引、视图等。DROP TABLE语句用于删除表,DROP INDEX语句用于删除索引,DROP VIEW语句用于删除视图。

    • TRUNCATE:用于删除表中的所有数据,但保留表的结构。TRUNCATE TABLE语句用于删除表中的所有数据。

    • RENAME:用于重命名数据库对象,如表、列、索引等。RENAME TABLE语句用于重命名表,RENAME COLUMN语句用于重命名列。

    DDL命令对数据库结构和模式进行操作,因此需要谨慎使用。在执行DDL命令之前,应该先备份数据,以免误操作导致数据丢失。同时,DDL命令也需要满足数据库的安全性要求,只有授权用户才能执行DDL命令。

    以下是一些使用SQL代码表示的DDL示例:

    1.创建表:

    1. CREATE TABLE students (
    2. id INT PRIMARY KEY,
    3. name VARCHAR(50),
    4. age INT,
    5. grade VARCHAR(10)
    6. );

    2.修改表结构,添加列:

    1. ALTER TABLE students
    2. ADD COLUMN email VARCHAR(100);

     3.删除表:

    DROP TABLE students;
    

    4.创建索引:

    CREATE INDEX idx_students_name ON students (name);
    

    5.创建视图:

    1. CREATE VIEW student_details AS
    2. SELECT id, name, age, grade FROM students WHERE grade = 'A';

    6.修改表名:

    ALTER TABLE students RENAME TO new_students;
    

    7.修改列名:

    ALTER TABLE students RENAME COLUMN grade TO class;
    

    8.删除索引:

    DROP INDEX idx_students_name;

    DML

    DML(Data Manipulation Language)是SQL语言的一部分,用于对数据库中的数据进行操作。DML命令用于插入、更新、删除和查询数据,它是数据库应用中最常用的一类命令。

    以下是DML的一些主要操作:

    • 插入数据(INSERT):通过INSERT语句将新的数据行插入到数据库表中。可以指定要插入的列和对应的值,也可以使用SELECT语句从其他表中选择数据插入。

    • 更新数据(UPDATE):使用UPDATE语句修改表中的现有数据行。可以指定要更新的列和对应的新值,并使用WHERE子句指定要更新的数据行。

    • 删除数据(DELETE):使用DELETE语句从表中删除数据行。可以使用WHERE子句指定要删除的数据行。

    • 查询数据(SELECT):使用SELECT语句从表中检索数据。可以指定要检索的列,使用FROM子句指定要检索的表,使用WHERE子句指定检索条件。

    • 排序数据(ORDER BY):使用ORDER BY子句对查询结果进行排序,可以按照一个或多个列进行升序或降序排序。

    • 聚合函数(Aggregate Functions):DML支持一些聚合函数,如COUNT、SUM、AVG、MIN和MAX等,用于计算数据的总数、总和、平均值、最小值和最大值。

    • 连接查询(JOIN):通过连接多个表,可以根据关联条件从多个表中检索相关的数据。

    DML命令允许开发人员对数据库中的数据进行灵活的操作和处理。通过组合不同的DML命令,可以实现复杂的数据操作和查询需求。在使用DML命令时,需要注意数据的完整性和安全性,并根据具体的业务需求编写正确的DML语句。

    以下是一些使用SQL代码表示的DML(数据操作语言)示例:

    1.插入数据:

    1. INSERT INTO students (id, name, age, grade)
    2. VALUES (1, 'Alice', 18, 'A');

    2.更新数据:

    1. UPDATE students
    2. SET age = 19
    3. WHERE id = 1;

    3.删除数据:

    1. DELETE FROM students
    2. WHERE id = 1;

    4.查询数据:

    SELECT * FROM students;
    

    5.条件查询:

    1. SELECT * FROM students
    2. WHERE grade = 'A' AND age > 18;

    6.排序查询:

    1. SELECT * FROM students
    2. ORDER BY age DESC;

    7.聚合函数查询:

    SELECT COUNT(*) FROM students;
    

    8.连接查询:

    1. SELECT students.name, grades.grade
    2. FROM students
    3. JOIN grades ON students.id = grades.student_id;

    DQL

    DQL(Data Query Language)是SQL语言的一部分,用于从数据库中检索数据。DQL命令主要用于查询和获取数据,而不是对数据进行修改。

    以下是DQL的一些主要操作:

    • 基本查询(SELECT):使用SELECT语句从数据库表中检索数据。可以指定要检索的列,使用FROM子句指定要检索的表,使用WHERE子句指定检索条件。

    • 条件查询:使用WHERE子句过滤查询结果,根据指定的条件筛选出符合要求的数据行。可以使用比较运算符(如等于、大于、小于等)、逻辑运算符(如AND、OR、NOT)和通配符(如LIKE)来构建条件。

    • 排序查询(ORDER BY):使用ORDER BY子句对查询结果进行排序,可以按照一个或多个列进行升序或降序排序。

    • 分组查询(GROUP BY):使用GROUP BY子句对查询结果进行分组,可以根据指定的列将数据分组,并使用聚合函数(如COUNT、SUM、AVG、MIN和MAX)对每个组进行计算。

    • 连接查询(JOIN):通过连接多个表,可以根据关联条件从多个表中检索相关的数据。常见的连接类型包括内连接(INNER JOIN)、左连接(LEFT JOIN)和右连接(RIGHT JOIN)等。

    • 子查询:在查询中嵌套使用子查询,子查询是一个嵌套在主查询中的查询语句,可以用来获取更复杂的查询结果。

    DQL命令允许开发人员根据需求灵活地从数据库中检索数据。通过组合不同的DQL命令和使用各种查询条件,可以实现复杂的数据查询和过滤需求。在编写DQL查询时,需要注意查询的效率和性能,并根据具体的业务需求编写正确的查询语句。

    以下是一些使用SQL代码表示的DQL(Data Query Language)示例:

    1.查询所有数据:

    SELECT * FROM students;
    

    2.指定列查询:

    SELECT name, age FROM students;
    

    3.条件查询:

    1. SELECT * FROM students
    2. WHERE grade = 'A' AND age > 18;

    4.排序查询:

    1. SELECT * FROM students
    2. ORDER BY age DESC;

    5.分组查询:

    1. SELECT grade, COUNT(*) FROM students
    2. GROUP BY grade;

    6.聚合函数查询:

    SELECT COUNT(*) FROM students;
    

    7.连接查询:

    1. SELECT students.name, grades.grade
    2. FROM students
    3. JOIN grades ON students.id = grades.student_id;

    8.子查询:

    1. SELECT * FROM students
    2. WHERE age > (SELECT AVG(age) FROM students);

    DCL

    DCL(Data Control Language)是SQL语言的一部分,用于控制数据库中的数据访问和权限管理。DCL命令允许开发人员授权和撤销用户对表、视图和其他数据库对象的操作权限,创建和管理角色以及定义访问控制策略。

    以下是一些常见的DCL命令:

    • GRANT:授权用户或角色对指定的数据库对象进行操作。可以授予SELECT、INSERT、UPDATE、DELETE等操作权限,也可以授予管理权限(如CREATE、ALTER、DROP等)。

    • REVOKE:撤销用户或角色对指定数据库对象的操作权限。

    • CREATE ROLE:创建角色,角色是一组权限的集合,可以将多个用户添加到同一个角色中,从而方便地管理用户权限。

    • DROP ROLE:删除角色。

    • ALTER ROLE:修改角色的属性,如名称、描述等。

    • GRANT ROLE:将角色授予给用户。

    • REVOKE ROLE:从用户中撤销角色。

    • CREATE VIEW:创建视图,视图是一种虚拟表,可以通过查询其他表或视图来创建,提供了一种更高层次的数据抽象。

    • ALTER VIEW:修改视图的定义。

    • DROP VIEW:删除视图。

    DCL命令对数据库的结构和安全性具有重要影响,因此在使用DCL命令时需要谨慎操作,以确保数据的完整性和安全性。需要注意的是,只有具有足够权限的用户才能执行DCL操作。数据库管理员通常拥有最高权限,可以执行所有DCL命令。

    以下是一些使用SQL代码表示的DCL(Data Control Language)示例:

    1.授权用户:

    GRANT SELECT, INSERT, UPDATE ON employees TO user1;
    

    2.撤销用户权限:

    REVOKE INSERT, UPDATE ON employees FROM user1;
    

    3.创建角色:

    CREATE ROLE manager;
    

    4.授权角色:

    GRANT SELECT, UPDATE ON employees TO manager;
    

    5.将用户添加到角色:

    GRANT manager TO user1;
    

    6.撤销角色权限:

    REVOKE SELECT, UPDATE ON employees FROM manager;
    

    7.删除角色:

    DROP ROLE manager;
    

    8.创建视图:

    1. CREATE VIEW employee_view AS
    2. SELECT name, age, salary
    3. FROM employees
    4. WHERE department = 'IT';

    9.修改视图:

    1. ALTER VIEW employee_view
    2. AS
    3. SELECT name, age, salary
    4. FROM employees
    5. WHERE department = 'HR';

    10.删除视图:

    DROP VIEW employee_view;
    

    总结

    • DDL操作可能会对数据库产生重大影响,请在操作之前务必进行充分的备份和谨慎评估。
    • DML操作时要小心,确保对数据的操作符合预期,并且遵循数据库的安全性和完整性要求。

    • DQL查询时要小心,确保查询结果符合预期,并且遵循数据库的安全性和完整性要求。

    • DCL命令执行时需要谨慎操作,以确保数据的完整性和安全性。

  • 相关阅读:
    juc 之 一文看懂 CyclicBarrier、CountDownLatch、Semaphore的使用
    myabtis的缓存级别
    快速拿下 AI Prompt 工程师证书攻略!
    百日刷题计划 ———— DAY2
    盒子模型-css
    计算机视觉系列-轻松掌握 MMDetection 中常用算法 :Cascade R-CNN(二)
    计算机毕业设计Java蛋糕网店(源码+系统+mysql数据库+lw文档)
    FPGA高端项目:解码索尼IMX327 MIPI相机+图像缩放+视频拼接+HDMI输出,提供开发板+工程源码+技术支持
    [活动(深圳)] .NET Love AI 之 .NET Conf China 2023 Party 深圳
    ubuntu18.04安装F4PGA教程
  • 原文地址:https://blog.csdn.net/weixin_72610956/article/details/134007414