데이터 조작 언어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
데이터 조작 언어(DML)는 데이터베이스에 저장된 데이터를 검색, 삽입, 수정 및 삭제하는 데 사용되는 언어의 한 종류이다. SQL은 DML의 대표적인 예시로, SELECT, INSERT, UPDATE, DELETE 등의 명령어를 통해 데이터베이스를 조작한다. DML은 선언적 언어와 절차적 언어로 나뉘며, SQL은 선언적 언어에 속한다. 대부분의 SQL 데이터베이스는 SQL 기능을 확장하기 위해 절차적 언어를 제공하며, 데이터베이스 벤더에 따라 다양한 종류와 기능을 가진다.
데이터 조작 언어(DML)는 문장의 첫 단어로 기능을 표시하며, 이 단어는 대부분 동사이다. 데이터 조작 언어는 데이터베이스 공급업체(벤더) 간에 언어 및 기능에서 많은 차이를 보인다. ANSI/ISO에서 제정한 SQL 표준이 있지만, 데이터베이스 벤더들은 표준 범위를 넘어 고유의 확장 기능을 제공한다. 데이터 조작 언어에는 기본적으로 선언적 데이터 조작 언어와 절차적 데이터 조작 언어 두 가지 종류가 있다.
2. 종류
데이터 조작 언어는 초기에는 컴퓨터 프로그램 내에서만 사용되었지만, SQL의 출현과 함께 데이터베이스 관리자가 대화식으로 사용하게 되었다.
2. 1. 선언적 데이터 조작 언어
사용자가 원하는 데이터와 그 조건을 명시하면, 시스템이 자동으로 최적의 처리 방법을 결정하여 데이터를 조작한다. SQL이 대표적인 선언적 언어이다.
SQL의 경우 문장의 첫 단어(동사)는 다음과 같다.
2. 2. 절차적 데이터 조작 언어
절차적 데이터 조작 언어는 사용자가 데이터 처리 순서와 방법을 명시하여 데이터를 조작하는 방식이다. 대부분의 SQL 데이터베이스 구현은 명령형 언어를 제공하여 SQL 기능을 확장한다. 오라클의 PL/SQL과 IBM Db2의 SQL_PL이 대표적인 예시이다.[2]3. SQL
SQL은 데이터 조작 언어(DML)의 한 종류로, 데이터베이스에 저장된 데이터를 검색, 삽입, 수정, 삭제하는 기능을 제공한다. SQL은 ANSI/ISO 표준이 있지만, 각 데이터베이스 벤더들은 표준을 넘어선 고유의 확장 기능을 제공하기도 한다.
SQL에서 데이터 조작은 ''SQL-데이터 변경'' 명령문을 통해 이루어지며, 이는 스키마나 다른 데이터베이스 객체를 변경하지 않는다.[3] 영구적인 데이터베이스 객체(예: 테이블, 저장 프로시저)를 조작하는 것은 DML이 아닌 데이터 정의 언어(DDL)의 영역이다.[3]
''SQL-데이터 변경'' 명령문은 ''SQL-데이터'' 명령문의 하위 집합이며, 엄밀히 DML이 아닌 DQL의 일부인 SELECT 쿼리 문도 포함한다.[3] 하지만 일반적으로 ''SELECT''는 DML의 일부로 간주된다.[4] SELECT ... INTO ...
형식은 데이터를 수정하므로 DML로 분류된다.
3. 1. SQL DML 명령어
SQL에서 데이터 조작 언어(DML)는 저장된 데이터를 수정하지만 스키마나 데이터베이스 객체는 수정하지 않는 ''SQL-데이터 변경'' 명령문[3]으로 구성된다. SQL의 데이터 조작 언어는 문장의 첫 단어(대부분 동사)로 기능을 나타내며, 다음과 같은 명령어들이 있다.- SELECT - 검색 (질의)
- INSERT - 삽입 (등록)
- UPDATE - 업데이트 (수정)
- DELETE - 삭제
데이터 조작 언어는 데이터베이스 공급업체(벤더) 간에 언어 및 기능에서 많은 차이를 가지는 경향이 있다. SQL은 ANSI / ISO에서 제정된 표준이 있지만, 데이터베이스 벤더들은 표준의 범위를 넘어 고유의 확장 기능을 제공하고 있다.
''SQL-데이터 변경'' 명령문은 ''SQL-데이터'' 명령문의 하위 집합이다. 여기에는 엄밀히 말하면 DML이 아닌 DQL의 일부인 SELECT 쿼리 문[3]도 포함된다. 그러나 일반적으로 이러한 구분을 두지 않고 ''SELECT''는 DML의 일부로 널리 간주되므로[4] DML은 모든 ''SQL-데이터'' 명령문으로 구성되며 ''SQL-데이터 변경'' 명령문만으로 구성되는 것은 아니다.
SELECT ... INTO ...
형식은 선택과 조작을 모두 결합하므로 데이터를 조작(즉, 수정)하기 때문에 엄밀히 DML로 간주된다.SQL에서 사용되는 대표적인 DML 명령어는 다음과 같다.
SELECT ... FROM ... WHERE ...
(엄밀히 말하면 DQL)- *
SELECT ... INTO ...
INSERT INTO ... VALUES ...
UPDATE ... SET ... WHERE ...
DELETE FROM ... WHERE ...
예를 들어, `employees` 테이블에 새로운 행을 삽입하는 명령어는 다음과 같다.
```sql
INSERT INTO employees (first_name, last_name, fname) VALUES ('John', 'Capita', 'xcapit00');
3. 2. 예시
데이터 조작 언어는 문장의 첫 단어로 표시하는 기능을 가진다. 데이터 조작 언어에서 문장의 첫 단어는 대부분의 경우 동사이다. SQL의 경우 이러한 동사는 다음과 같다.- SELECT - 검색 (질의)
- INSERT - 삽입 (등록)
- UPDATE - 업데이트 (수정)
- DELETE - 삭제
데이터 조작 언어는 데이터베이스 공급업체(벤더) 간에 언어 및 기능에서 많은 차이를 가지는 경향이 있다. SQL은 ANSI / ISO에서 제정된 표준이 있다. 그러나 데이터베이스 벤더들은 표준의 범위를 넘어 고유의 확장 기능을 제공하고 있다. 데이터 조작 언어에는 기본적으로 두 가지 종류가 있다.
SQL에서 데이터 조작 언어는 저장된 데이터를 수정하지만 스키마 또는 데이터베이스 객체는 수정하지 않는 ''SQL-데이터 변경'' 명령문[3]으로 구성된다.
''SQL-데이터 변경'' 명령문은 ''SQL-데이터'' 명령문의 하위 집합이다. 여기에는 엄밀히 말하면 DML이 아닌 DQL의 일부인 SELECT 쿼리 문[3]도 포함된다. 그러나 일반적으로 이러한 구분을 두지 않고 ''SELECT''는 DML의 일부로 널리 간주되므로[4] DML은 모든 ''SQL-데이터'' 명령문으로 구성되며 ''SQL-데이터 변경'' 명령문만으로 구성되는 것은 아니다.
SELECT ... INTO ...
형식은 선택과 조작을 모두 결합하므로 데이터를 조작(즉, 수정)하기 때문에 엄밀히 DML로 간주된다.데이터 조작 언어는 문장의 초기 단어, 거의 항상 동사에 의해 기능적 기능이 구성된다. SQL의 경우 이러한 동사는 다음과 같다.
- `SELECT ... FROM ... WHERE ...` (엄밀히 말하면 DQL)
- `SELECT ... INTO ...`
- `INSERT INTO ... VALUES ...`
- `UPDATE ... SET ... WHERE ...`
- `DELETE FROM ... WHERE ...`
예를 들어 테이블 '''employees'''에 행을 삽입하는 명령은 다음과 같다.
```sql
INSERT INTO employees (first_name, last_name, fname) VALUES ('John', 'Capita', 'xcapit00');
4. 확장
대부분의 SQL 데이터베이스 구현은 명령형, 즉, 절차적 언어를 제공하여 SQL 기능을 확장한다. 이러한 예로는 오라클의 PL/SQL과 IBM Db2의 SQL_PL이 있다.
데이터 조작 언어는 데이터베이스 벤더마다 다양한 종류와 기능을 가지는 경향이 있다. ANSI에 의해 SQL에 대한 여러 표준이 제정되었지만,[2] 벤더들은 전체 표준을 구현하지 않으면서도 여전히 자체적인 표준 확장을 제공한다.
5. 관련 언어
참조
[1]
서적
Structured Query Language By Example - Volume I: Data Query Language
https://books.google[...]
Lulu.com
[2]
문서
SQL92
[3]
문서
SQL92 4.22.2, SQL statements classified by function
[4]
웹사이트
Data Manipulation Language Statements
http://download.orac[...]
Oracle
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com