DDL, DML 및 DCL의 차이점에 대한 토론

 

DML, DDL 및 DCL의 차이점

전체 설명:

DML(데이터 조작 언어):
이름과 같이 SELECT, UPDATE, INSERT, DELETE이며 이 4개의 명령은 데이터베이스 언어
DDL 에서 데이터를 조작하는 데 사용됩니다  . (데이터 정의 언어):
DDL은 DML 이상이며 주요 명령은 CREATE, ALTER, DROP 등임 DDL은 주로 테이블(TABLE)의 구조, 데이터 유형, 테이블 간의 링크 및 제약 조건 등을 정의하거나 변경하는 데 사용됨 .초기화 작업에서 대부분 테이블 생성시 DCL(Data Control Language)을 사용하는데
이는
데이터베이스 제어 기능이다. (grant, deny, revoke 등) 문을 포함하여 데이터베이스 사용자 또는 역할 권한을 설정하거나 변경하는 데 사용되는 문입니다. 기본적으로 sysadmin, dbcreator, db_owner 또는 db_securityadmin만이 DCL을 실행할 수 있는 권한이 있습니다 .

자세한 설명:

1. DDL은 데이터 정의 언어 문입니다.몇 가지 예: SQL 데이터베이스 언어
1의 모든 개체를 정의하고 관리하는 데 사용되는 데이터 정의 언어입니다. CREATE - 데이터베이스에 개체를 생성하려면 create
2.ALTER - 데이터베이스의 구조를 변경합니다. modify
3.DROP - 데이터베이스에서 개체를 삭제합니다.
4. TRUNCATE - 제거된 레코드에 대해 할당된 모든 공간을 포함하여 테이블에서 모든 레코드를 제거합니다.
TRUNCATE TABLE [Table Name].
  다음은 MSSQLServer2000에서 Truncate 문의 사용법 및 원리에 대한 설명입니다.
  Truncate 테이블 테이블 이름은 다음과 같은 이유로 빠르고 효율적입니다.
  TRUNCATE TABLE은 WHERE 절이 없는 DELETE 문과 기능적으로 동일합니다. 테이블 모두 OK. 그러나 TRUNCATE TABLE은 DELETE보다 빠르고 더 적은 시스템 및 트랜잭션 로그 리소스를 사용합니다.
  DELETE 문은 한 번에 하나의 행을 삭제하고 삭제된 각 행에 대한 항목을 트랜잭션 로그에 기록합니다. TRUNCATE TABLE은 테이블 데이터를 저장하는 데 사용된 데이터 페이지를 해제하여 데이터를 삭제하고 트랜잭션 로그에 페이지 할당 해제만 기록합니다.
  TRUNCATE TABLE은 테이블의 모든 행을 삭제하지만 테이블 구조와 해당 열, 제약 조건, 인덱스 등은 변경되지 않은 상태로 유지됩니다. 새 행 식별에 사용되는 카운트 값은 열의 시드로 재설정됩니다. ID 수 값을 유지하려면 대신 DELETE를 사용하십시오. 테이블 정의와 해당 데이터를 삭제하려면 DROP TABLE 문을 사용합니다.
  FOREIGN KEY 제약 조건으로 참조되는 테이블의 경우 TRUNCATE TABLE을 사용할 수 없으며 대신 WHERE 절이 없는 DELETE 문을 사용해야 합니다. TRUNCATE TABLE은 기록되지 않으므로 트리거를 실행할 수 없습니다.
  인덱싱된 뷰에 참여하는 테이블에서는 TRUNCATE TABLE을 사용할 수 없습니다.
5.COMMENT - 데이터 사전에 주석 추가
6. GRANT - 데이터베이스 인증에 대한 사용자의 액세스 권한 부여
7. REVOKE - 부여된 권한을 철회하기 위해 GRANT 명령으로 부여된 액세스 권한 철회

2. DML은 데이터 조작 언어 문입니다.몇 가지 예: 데이터 조작 언어, SQL에서의 데이터 처리 및 기타

1.SELECT - 데이터베이스 쿼리에서 데이터 검색
2.INSERT - 테이블에 데이터 삽입 추가
3.UPDATE - 테이블 내의 기존 데이터 업데이트 업데이트
4.DELETE - 테이블에서 모든 레코드 삭제 , 레코드 공간은 그대로 유지됨 삭제
5.CALL - PL/SQL 또는 Java 하위 프로그램 호출
6.EXPLAIN PLAN - 데이터에 대한 액세스 경로 설명
Oracle RDBMS는 모든 SQL 문을 실행하며 Oracle 최적화 프로그램에서 평가해야 합니다. 따라서 옵티마이저가 경로를 선택(검색)하는 방법과 인덱스가 사용되는 방법을 이해하면 SQL 문을 최적화하는 데 큰 도움이 됩니다. Explain을 사용하면 주어진 SQL 문, 즉 검색 경로(일반적으로 Access Path라고 함)에서 쿼리 데이터를 얻는 방법을 빠르고 편리하게 찾을 수 있습니다. 최적화 효과를 극대화하기 위해 최적의 쿼리 방법을 선택합니다.
7. LOCK TABLE - 제어 동시성 잠금, 동시성을 제어하는 ​​데 사용

3. DCL은 데이터 제어 언어 문입니다.몇 가지 예: 데이터 제어 언어, 데이터베이스에 액세스하기 위한 특정 권한을 부여하거나 취소하고 데이터베이스 조작의 시간과 타이밍을 제어하는 ​​데 사용 트랜잭션 효과 , 데이터베이스

모니터링 등 . SET TRANSACTION - 사용할 롤백 세그먼트와 같은 트랜잭션 옵션을 변경합니다. 현재 트랜잭션의 특성을 설정하며 다음 트랜잭션에는 영향을 미치지 않습니다.


출처: Micro reading    https://m.weidianyuedu.com/

おすすめ

転載: blog.csdn.net/weixin_45707610/article/details/131869433