DDL和DML的区别

在数据库中,DDL(Data Definition Language,数据定义语言)和 DML(Data Manipulation Language,数据操作语言)有以下区别:

一、定义与作用

  1. DDL:

    • 主要用于定义数据库对象的结构,如创建、修改或删除数据库中的表、索引、视图等对象。
    • 例如,使用 DDL 语句可以创建一个新表、添加一列到现有表、删除一个表或者修改表的结构。
  2. DML:

    • 用于对数据库中的数据进行操作,包括插入、更新、删除和查询数据等。
    • 例如,使用 DML 语句可以向表中插入新记录、更新现有记录的值、删除特定的记录或者查询满足特定条件的记录。

二、具体语句类型

  1. DDL 语句:

    • CREATE:用于创建数据库对象。例如,CREATE TABLE students (id INT, name VARCHAR(50));创建一个名为students的表,包含idname两个字段。
    • ALTER:用于修改数据库对象的结构。例如,ALTER TABLE students ADD COLUMN age INT;students表中添加一个age字段。
    • DROP:用于删除数据库对象。例如,DROP TABLE students;删除students表。
  2. DML 语句:

    • INSERT:用于向表中插入新数据。例如,INSERT INTO students (id, name, age) VALUES (1, 'Alice', 20);students表中插入一条记录。
    • UPDATE:用于更新表中的现有数据。例如,UPDATE students SET age = 21 WHERE name = 'Alice';将名字为Alice的学生的年龄更新为 21。
    • DELETE:用于从表中删除数据。例如,DELETE FROM students WHERE age < 18;删除年龄小于 18 岁的学生记录。
    • SELECT:用于从表中查询数据。例如,SELECT * FROM students WHERE age > 20;查询年龄大于 20 岁的学生记录。

三、影响范围与持久性

  1. DDL 操作:

    • 通常会对数据库结构产生永久性的影响,并且这些操作会被记录在数据库的日志中,以便在需要时进行恢复或回滚。
    • 例如,删除一个表后,表中的所有数据和结构都将被永久删除,除非有备份可以恢复。
  2. DML 操作:

    • 主要影响数据库中的数据,而不是结构。
    • 对数据的修改可以通过事务进行控制,可以回滚到操作之前的状态,如果出现错误或需要撤销操作。

四、执行权限要求

  1. DDL 操作:

    • 通常需要较高的数据库权限,因为这些操作会对数据库的结构产生重大影响。一般只有数据库管理员或具有特定权限的用户才能执行 DDL 操作。
  2. DML 操作:

    • 可以根据具体的业务需求分配给不同的用户,以允许他们对数据进行适当的操作。但通常也需要遵循一定的权限控制,以确保数据的安全性和完整性。

综上所述,DDL 和 DML 在数据库中分别用于定义数据库结构和操作数据,它们在作用、语句类型、影响范围和执行权限要求等方面都有明显的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小小懒懒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值