数据库管理系统(Database Management System, DBMS)是建立在计算机系统上,用来管理大型数据编制和处理的软件系统。DBMS中有两类SQL语句:DDL语句和DML语句。DDL语句包括创建(create)、修改(alter)和删除(drop)等操作,在操作过程中会更新数据库的结构;DML语句包括查询(select)、插入(insert)、更新(update)和删除(delete)等操作,对数据库中的数据进行操作。本文将从多个角度分析DDL语句和DML语句的区别,希望能帮助读者更好地理解DBMS的工作原理。
ddl语句和dml语句的区别
1. 操作对象
DDL语句是对数据库的结构信息进行定义和修改,比如创建一个新的表格、删除一个已有的表格、修改表格的结构(增加/删除/修改列)、创建索引等。DML语句是对数据进行增删改查操作,比如查询某个表格中符合特定条件的数据、向某个表格中插入一条新数据、更新某个数据行的值或者删除数据行等。
2. 自动提交
在执行DDL操作时,系统会自动提交所有修改请求,这是由于DDL操作可能会导致数据库结构的改变,因此必须提交到数据库系统中;而在执行DML操作时,系统不会自动提交,用户需要手动进行确认。默认情况下,如果没有显式地使用COMMIT语句提交DML操作,那么这些操作是不会被保存到数据库系统中的。
3. 生效时间
DDL语句的执行对所有等待时间片的进程都生效;而DML语句的执行只对它执行的事务(transaction)生效。这是因为DDL语句对整个数据库系统的结构进行了更新,因此必须让所有进程都知道这个更新;而DML语句只对当前事务进行了数据的操作,只需要对当前事务进行更新即可。
4. 影响范围
由于DDL语句对整个数据库进行的操作,因此在执行DDL语句时,会有许多影响范围。例如,创建一个新表时,你可能需要为表格指定适当的列,这样才能正确创建一个新的表。而在DML语句中,这些影响范围可能更小,只影响少数数据。
5. 使用频率
在实际操作中,DML语句的使用频率比DDL语句要高得多,因为大多数的操作是对数据进行操作。DDL语句更多地用于创建、配置和维护数据库,这些操作相对较少。
综上所述,DDL语句和DML语句的主要区别在于:DDL语句让你对数据库结构进行创建、修改和删除操作,而DML语句则用于对数据进行增删改查操作。在执行DDL语句时,系统会自动提交所有修改请求,生效时间对所有进程都生效,影响范围通常比较大;而在执行DML语句时,系统不会自动提交,生效时间只对当前事务生效,影响范围可能比较小。
不懂自己或他人的心?想要进一步探索自我,建立更加成熟的关系,不妨做下文末的心理测试。平台现有近400个心理测试,定期上新,等你来测。如果内心苦闷,想要找人倾诉,可以选择平台的【心事倾诉】产品,通过写信自由表达心中的情绪,会有专业心理咨询师给予你支持和陪伴。