>  기사  >  데이터 베이스  >  DDL, DML, DCL 및 TCL 개념에 대한 자세한 설명

DDL, DML, DCL 및 TCL 개념에 대한 자세한 설명

一个新手
一个新手원래의
2017-09-09 14:49:532779검색

숙련된 개발자라면 DDL, DML, DCL, TCL 등의 약어(명사)가 낯설지 않을 수 있지만, Yiyi 프로그램 개발 초보자라면 헷갈릴 부분이 많을 것입니다. 자세한 내용을 설명하겠습니다. 독자들에게 도움이 되기를 바랍니다.

1. 데이터 정의 언어 DDL
DDL((데이터 정의 언어): 주요 명령은 CREATE, ALTER, DROP 등이며 데이터 객체(예: 테이블과 같은) 테이블 간의 데이터 유형, 링크, 제약 조건 등의 초기화 작업은 테이블을 생성할 때 주로 사용됩니다. 즉, DDL 언어 연산의 대상은 객체에 포함된 데이터가 아니라 데이터베이스에 있는 객체입니다

. DDL에는 다음 문이 포함됩니다.

 1、CREATE : 在数据库中创建新的数据对象
 2、ALTER : 修改数据库中对象的数据结构
 3、DROP : 删除数据库中的对象
 4、DISABLE/ENABLE TRIGGER : 修改触发器的状态
 5、UPDATE STATISTIC : 更新表/视图统计信息
 6、TRUNCATE TABLE : 清空表中数据
 7、COMMENT : 给数据对象添加注释
 8、RENAME : 更改数据对象名称

참고:
DDL 문을 실행할 때 데이터베이스(oracle/Mysql)는 사용자가 insert 명령을 사용하여 데이터베이스에 레코드를 삽입하는 경우 각 문 전후에 현재 트랜잭션을 제출합니다. , DDL 문(예: create table)을 실행하면 insert 명령의 데이터가 데이터베이스에 제출됩니다. DDL 문은 자동으로 제출되며 데이터 조작이 불가능합니다. 언어 DML

DML(Data Manipulation Language) : 데이터베이스에 SELECT, UPDATE, INSERT, DELETE, MERGE 등의 데이터를 추가/삭제/수정/쿼리/병합하는 데 사용되는 언어입니다.


DML에는 다음 문이 포함되어 있습니다.

 1、INSERT :将数据插入到表或视图
 2、DELETE :从表或视图删除数据
 3、SELECT :从表或视图中获取数据
 4、UPDATE :更新表或视图中的数据
 5、MERGE : 对数据进行合并操作(插入/更新/删除)

참고:

DML 명령을 제출하지 않고 실행하면 DML 명령 후에 DDL 명령이나 DCL 명령이 실행되지 않는 한 다른 세션에서 볼 수 없습니다. 사용자가 세션을 종료하거나 인스턴스를 종료하면 시스템은 제출되지 않은 DML 명령을 제출하기 위해 자동으로 커밋 명령을 실행합니다.


3 데이터 제어 언어 DCL

DCL(데이터 제어 언어): 설정하는 데 사용되는 명령문입니다. 또는 (허용, 거부, 취소 등)을 포함하여 데이터베이스 사용자 또는 역할 권한을 변경합니다.


DCL에는 다음 명령문이 포함되어 있습니다.

 1、GRANT : 赋予用户某种控制权限
 2、REVOKE :取消用户某种控制权限

데이터 제어 언어는 비밀번호를 생성, 삭제, 변경하고 권한 및 권한을 부여하기만 하면 됩니다.

4. TCL(트랜잭션 제어 언어): 트랜잭션을 관리하는 데 사용됩니다.

TCL에는 다음 문이 포함되어 있습니다.

  1、COMMIT : 保存已完成事务动作结果
  2、SAVEPOINT : 保存事务相关数据和状态用以可能的回滚操作
  3、ROLLBACK : 恢复事务相关数据至上一次COMMIT操作之后
  4、SET TRANSACTION : 设置事务选项

DML 문은 행 수준 잠금을 추가합니다. 테이블 데이터를 조작할 때 확인이 완료된 후 트랜잭션을 추가해야 합니다. 처리 후 COMMIT 명령을 완료해야 합니다. 그렇지 않으면 변경 사항이 데이터베이스에 기록되지 않을 수 있습니다. 이러한 작업을 실행 취소하려면 ROLLBACK 명령을 사용하면 됩니다.
INSERT, DELETE 및 UPDATE 문을 실행하기 전에 가능한 작업의 레코드 범위를 추정하는 것이 가장 좋습니다. 10,000개의 레코드와 같은 더 작은 범위로 제한해야 합니다. 그렇지 않으면 ORACLE은 이 작업을 처리하기 위해 큰 롤백 세그먼트를 사용합니다. 프로그램이 느리게 응답하거나 심지어 응답하지 않게 됩니다. 이러한 작업이 수십만 개 이상 기록된 경우. 이러한 SQL 문은 섹션별로 완료될 수 있습니다. COMMIT를 추가하여 트랜잭션 처리를 확인합니다.

다양한 명령문 작업 목표에 따라 DDL 데이터 개체, TCL 데이터, TCL 트랜잭션의 네 가지 유형을 쉽게 구분할 수 있습니다.
주의가 필요한 유일한 것은 TRUNCATE입니다. 기능적으로는 테이블의 모든 데이터를 DELETE하는 것과 동일하지만 행이 아닌 테이블 수준에서 작동합니다(어떤 이유로든 테이블 데이터를 즉시 삭제할 수 없는 경우 TRUNCATE는 해당 데이터를 잠급니다). 전체 테이블, DELETE는 행을 잠그므로 DDL에 포함됩니다.​

위 내용은 DDL, DML, DCL 및 TCL 개념에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.