
DDL(Data Definition Language : 데이터 정의어)
- 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 삭제할때 사용하는 언어
- 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의
- 데이터 베이스 관리자나 데이터 베이스 설계자가 사용함
*DDL 설명 : https://reframeurmind.tistory.com/4
DML(Data Manipulation Language : 데이터 조작어)
- 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어
- 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공
<SELECT>
* SELECT 문 실행 순서
FROM - WHERE - GROUP BY - HAVING -SELECT - ORDER BY
| 쿼리문 | 설명 |
| SELECT 컬럼명 FROM 테이블명; | 해당 테이블에 속하는 컬럼의 데이터들을 검색 컬럼명에 * 일 경우 모든 컬럼들의 데이터들을 출력 |
| SELECT 컬럼명 FROM 테이블명 WHERE 조건; | 해당 테이블에 속하는 컬럼중 조건에 맞는 데이터들을 검색 |
| SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC 또는 DESC; |
해당 테이블에 속하는 컬럼 중 조건에 맞는 데이터들을 검색한 결과를 오른차순(ASC) 또는 DESC(내림차순)으로 정리 |
<INSERT>
| 쿼리문 | 설명 |
| INSERT INTO 테이블명(컬럼명1, 컬럼명2 ....) VALUES(값1, 값2..); | 선택한 컬럼명에 해당 값들을 추가하는다. *단 컬럼수와 값의 갯수는 같아야 한다. |
| INSERT INTO 테이블명 VALUES(값1, 값2...); | 컬럼명없이 값만 적을 경우 모든 컬럼에 값을 입력한다는 뜻이기에 컬럼의 순서에 맞게 값을 적어야 한다. |
<UPDATE>
| 쿼리문 | 설명 |
| UPDATE 테이블명 SET 컬럼명 = 새로운 컬럼값; | 해당 테이블의 컬럼값 변경 |
<DELETE>
| 쿼리문 | 설명 |
| DELETE FROM 테이블명 | 해당 테이블의 모든 데이타를 삭제 |
| DELETE FROM 테이블명 WHERE 조건; | 조건에 해당하는 데이터만 삭제 |
DELETE (DML)와 TRUNCATE(DDL)
-DELETE 는 롤백(ROLLBACK)이 가능
-TRUNCATE 는 롤백이 불가능, 속도가 빠름
*DML 설명 : https://reframeurmind.tistory.com/5
DCL(Data Control Language : 데이터 제어어)
- 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되는 언어
- 데이터베이스 관리자가 데이터관리를 목적으로 사용
*DCL/TCL 설명 : https://reframeurmind.tistory.com/6
TCL(Transaction Control Language : 트랜잭션 제어어)
- DCL 에서 트랜잭션을 제어하는 명령어
DUAL 테이블(Dual Table)
- DUAL 테이블은 데이터 딕셔너리와 함께 오라클에 의해 자동 생성되는 테이블
- DUAL 테이블은 사용자가 SYS의 스키마에 있지만 모든 사용자는 DUAL이라는 이름으로 엑세스 할 수 있다
- DUAL 테이블 VARCHAR2(1)으로 정의된 DUMMY라는 하나의 열이 있으며 값을 가지는 하나의 행도 포함되어 있다.
DUAL 테이블의 특성
- 사용자 SYS가 소유하며 모든 사용자가 엑세스 가능한 테이블
- SELECT ~ FROM ~의 혀식을 갖추기 위한 일종의 DUMMY 테이블이다.
- DUMMY 라는 문자열 유형의 칼럼에는 'X'라는 값이 들어있는 행을 1건 포함하고 있다.
*함수나 현재 시간의 값 등 특정 테이블에서의 데이터가 아닌 사실데이터를 추출하기 위해서는 SELECT ~ FROM ~절에서
FROM DUAL 의 형태로 구문을 작성해 사용한다.
온리인에서 SQL 문을 시험해볼 수 있는 사이트
: http://sqlfiddle.com/#!4/75ac2b
SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.
Query Panel Use this panel to try to solve the problem with other SQL statements (SELECTs, etc...). Results will be displayed below. Share your queries by copying and pasting the URL that is generated after each run.
sqlfiddle.com

'Self Study > SQLD' 카테고리의 다른 글
| [SQLD] 데이터 무결성(Data Integrity) (0) | 2022.11.01 |
|---|---|
| [SQLD] 트랜잭션(Transaction) (0) | 2022.11.01 |
| [SQLD] 연산자와 내장함수(Stored Function) (2) | 2022.11.01 |
| [SQLD] DCL(데이터 제어어 : Data Control Language) 과 TCL(트랜젝션 제어어 : Transaction Control Language) (0) | 2022.11.01 |
| [SQLD] DML( 데이터 조작어 : Data Manipulation Language) (2) | 2022.11.01 |