데이터 조작 언어
Data manipulation language![]() |
데이터 조작 언어(DML)는 데이터베이스에서 데이터를 추가(삽입), 삭제 및 수정(업데이트)하는 데 사용되는 컴퓨터 프로그래밍 언어다. DML은 종종 SQL과 같은 더 넓은 데이터베이스 언어의 하위 언어로서, DML은 해당 언어의 일부 운영자를 구성한다.[1] 데이터의 읽기 전용 선택은 때로는 별도의 데이터 질의 언어(DQL)의 일부로 구분되기도 하지만, 밀접한 관련이 있고 때로는 DML의 구성 요소로 간주되기도 한다. 일부 운영자는 선택(읽기)과 쓰기를 모두 수행할 수 있다.
일반적인 데이터 조작 언어는 관계형 데이터베이스에서 데이터를 검색하고 조작하는 데 사용되는 구조화된 질의 언어(SQL)이다.[2] 다른 형태의 DML은 IDMS와 같은 IMS/DLI, CODASYL 데이터베이스에서 사용되는 것이다.
SQL
SQL에서 데이터 조작 언어는 저장된 데이터를 수정하지만 스키마나 데이터베이스 개체는 수정하지 않는 SQL 데이터 변경 문으로 구성된다.[3] 테이블이나 저장 프로시저와 같은 영구적인 데이터베이스 객체의 조작은 그 안에 저장된 데이터가 아닌 SQL 스키마 문을 통해 이루어지는 것으로,[3] 별도의 데이터 정의 언어(DDL)의 일부로 간주된다. SQL에서 이 두 범주는 상세한 구문, 데이터 유형, 표현식 등에서 유사하지만, 전체적인 기능에서는 구별된다.[3]
그 SQL-data의 진술들은 일반적인 관행에서 하지만, 이 차이 때문에 합하여서 모든 SQL-data 진술로 구성되어 있고자 널리 DML,[4]의 일부가 되지 않을 뿐더러로 여겨지고 있지 않는 SQL-data 변화 진술은 하위 집합;이것 또한 그 DQL이 아니라 합하여의 엄격하게 이야기 하고 있는 부분은 SELECT쿼리 statement,[3]을 포함하고 있다.. SQL-da진술을 바꾸다 그 SELECT ... INTO ...
형태는 선택과 조작을 모두 결합하여, 데이터를 조작(즉, 수정)하기 때문에 DML로 엄격히 간주된다.
데이터 조작 언어는 거의 항상 동사인 문장의 첫 단어로 기능적 기능을 정리한다. SQL의 경우 이러한 동사는 다음과 같다.
SELECT ... FROM ... WHERE ...
(강력하게 말하면 DQL)INSERT INTO ... VALUES ...
UPDATE ... SET ... WHERE ...
DELETE FROM ... WHERE ...
예를 들어, 테이블 직원에게 행을 삽입하는 명령:
삽입 INO 직원들. (first_name, last_name, fname) 가치 ('존', '카피타', 'xcapit00');
변형
대부분의 SQL 데이터베이스 구현은 필수, 즉 절차 언어를 제공함으로써 SQL 기능을 확장한다. Oracle의 PL/SQL과 DB2의 SQL_PL이 그 예다.
데이터 조작 언어는 데이터베이스 공급업체 간에 많은 다른 맛과 기능을 가지고 있는 경향이 있다. ANSI가 SQL에 대해 확립한 표준은 여러 가지가 있지만,[2] 벤더는 여전히 표준 전체를 구현하지 않으면서 표준에 대한 자체 확장을 제공하고 있다.
데이터 조작 언어는 절차적 프로그래밍과 선언적 프로그래밍의 두 가지 유형으로 나뉜다.
데이터 조작 언어는 처음에는 컴퓨터 프로그램 내에서만 사용되었지만, SQL의 출현과 함께 데이터베이스 관리자에 의해 대화형으로 사용되게 되었다.
참고 항목
진술들
관련 언어
참조
- ^ Chatham, Mark (2012). Structured Query Language By Example - Volume I: Data Query Language. p. 8. ISBN 978-1-29119951-2.
- ^ a b SQL92
- ^ a b c d SQL92 4.22.2, 기능별로 분류된 SQL 문
- ^ "Data Manipulation Language Statements". Oracle.
Data manipulation language (DML) statements query or manipulate data in existing schema objects.