Skip to main content

DDL?? DML?? D...??

MarshioAbout 2 minMySQLbinlogMySQL

DML(数据操纵语言)

  • 目的:用于对数据库中的数据进行检索、插入、更新和删除。
  • 常用语句:
    • SELECT:从数据库中检索数据。
    • INSERT:向数据库表中添加新的数据行。
    • UPDATE:修改数据库表中的现有数据。
    • DELETE:从数据库表中删除数据。
  • 特点:DML操作直接影响数据库的数据内容,但不改变表的结构。

DDL(数据定义语言)

  • 目的:用于定义和修改数据库的结构,包括创建、修改和删除数据库对象(如表、索引、视图、存储过程等)。
  • 常用语句:
    • CREATE:创建新的数据库对象。
    • ALTER:修改现有数据库对象的结构。
    • DROP:删除数据库对象。
    • TRUNCATE:快速删除表中的所有行,但保留表结构。
  • 特点:DDL操作改变数据库的结构定义,通常不涉及数据本身的修改。

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

  • 目的:用于定义数据库的安全策略和访问权限,控制用户对数据库的访问。
  • 常用语句:
    • GRANT:授予用户或角色对数据库对象的特定权限。
    • REVOKE:撤销用户或角色的数据库对象权限。
  • 特点:DCL操作定义了谁可以执行哪些数据库操作。

TCL(Transaction Control Language,事务控制语言)

  • 目的:用于管理数据库事务,确保数据的完整性和一致性。
  • 常用语句:
    • BEGINSTART TRANSACTION:开始一个新的事务。
    • COMMIT:提交当前事务,使所有更改永久生效。
    • ROLLBACK:回滚当前事务,撤销所有更改。
    • SAVEPOINT:设置事务的保存点,允许部分回滚。
  • 特点:TCL操作控制事务的边界和行为,确保事务的原子性、一致性、隔离性和持久性(ACID属性)。

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

  • 目的:通常被视为DML的一部分,专注于从数据库中检索数据。
  • 常用语句:
    • SELECT:查询数据库并返回结果集。
  • 特点:DQL操作用于查询,不修改数据库中的数据。