Search

명령어 압축 표

대분류
DB
소분류
MySQL
주요 레퍼런스
https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/
수준
기초
태그
DDL
DML
DCL
DQL
TCL
최종 편집 일시
2024/10/27 15:32
생성 일시
2024/07/18 00:44
13 more properties

SQL 명령 구조

DDL : 데이터 정의 언어
DQL : 데이터 쿼리 언어
DML : 데이터 조작 언어
DCL : 데이터 제어 언어
TCL : 트랜잭션 제어 언어

DDL(데이터 정의 언어)

실제 데이터베이스 스키마 정의에 사용할 수 있는 SQL 명령
데이터 베이스 스키마에 대한 설명을 다루며 데이터베이스에서 데이터베이스 개체의 구조를 생성하고 수정하는 데 사용
데이터가 아닌 데이터베이스 구조를 생성, 수정 및 삭제하는 데 사용되는 SQL 명령 집합
일반적으로 애플리케이션을 통해 데이터베이스에 액세스해야 하는 일반 사용자가 사용하지 않음
명령
설명
SQL 구문
데이터베이스 또는 해당 개체(테이블, 인덱스, 함수, 뷰, 저장 프로시저 및 트리거) 만들기
CREATE TABLE table_name (column1 data_type, column2 data_type, ...);
데이터베이스에서 객체 삭제
DROP TABLE table_name;
데이터베이스 구조 변경
ALTER TABLE table_name ADD COLUMN column_name data_type;
레코드에 할당된 모든 공간을 포함하여 테이블에서 모든 레코드를 제거합니다.
TRUNCATE TABLE table_name;
데이터 사전에 설명 추가
COMMENT 'comment_text' ON TABLE table_name;
데이터베이스에 존재하는 개체의 이름 바꾸기
RENAME TABLE old_table_name TO new_table_name

DQL(데이터 쿼리 언어)

스키마 객체 내의 데이터에 대한 쿼리를 수행하는 데 사용
전달된 쿼리에 따라 일부 스키마 관계를 가져오는 것
데이터베이스에 데이터를 가져오고 이에 순서를 부여할 수 있는 SQL문 구성 요소
명령
설명
SQL 구문
데이터베이스에서 데이터를 검색하는 데 사용됩니다
SELECT column1, column2, ...FROM table_name<br>WHERE condition;

DML(데이터 조작 언어)

데이터베이스에 있는 데이터를 조작하는 SQL 명령은 DML 또는 데이터 조작 언어
데이터와 데이터베이스에 대한 액세스를 제어하는 SQL 문의 구성 요소
DCL 문은 DML 문과 그룹화
명령
설명
SQL 구문
테이블에 데이터 삽입
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
테이블 내의 기존 데이터 업데이트
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
데이터베이스 테이블에서 레코드 삭제
DELETE FROM table_name WHERE condition;
테이블 제어 동시성
LOCK TABLE table_name IN lock_mode;
CALL
PL/SQL 또는 JAVA 하위 프로그램 호출
CALL procedure_name(arguments);
EXPLAIN PLAN
데이터에 대한 액세스 경로를 설명합니다.
EXPLAIN PLAN FOR SELECT * FROM table_name;

DCL(데이터 제어 언어)

데이터베이스 시스템의 권리, 사용 권한 및 기타 제어 처리 언어
명령
설명
SQL 구문
사용자 계정에 새로운 권한을 할당해 특정 데이터베이스 개체, 작업 또는 기능에 액세스 제어
GRANT privilege_type [(column_list)] ON [object_type] object_name TO user [WITH GRANT OPTION];
이전에 부여된 권한을 사용자 계정에서 제거하여 특정 데이터베이스 개체나 작업에 대한 액세스 권한을 제거
REVOKE [GRANT OPTION FOR] privilege_type [(column_list)] ON [object_type] object_name FROM user [CASCADE];

TCL(거래 제어 언어)

트랜잭션 : 작업 집합을 단일 실행 단위로 그룹화 트랜잭션은 특정 작업으로 시작하여 그룹의 모든 작업이 성공적으로 완료되면 끝납니다. 작업 중 하나라도 실패하면 트랜잭션이 실패 트랜잭션은 성공 또는 실패라는 두 가지 결과만 가짐
트랜잭션 실행 제어 언어
명령
설명
통사론
새로운 트랜잭션 시작
BEGIN TRANSACTION [transaction_name];
트랜잭션 중에 변경된 모든 내용 저장
COMMIT;
트랜잭션중에 변경된 모든 내용 취소
ROLLBACK;
현재 트랜잭션 내에 저장점 생성
SAVEPOINT savepoint_name;

중요 SQL 명령

1.
SELECT : 데이터베이스에서 데이터를 검색하는 데 사용
2.
INSERT : 데이터베이스에 새로운 데이터를 추가하는 데 사용
3.
UPDATE : 데이터베이스의 기존 데이터를 수정하는 데 사용
4.
DELETE : 데이터베이스에서 데이터를 제거하는 데 사용
5.
CREATE TABLE : 데이터베이스에 새로운 테이블을 만드는 데 사용
6.
ALTER TABLE : 기존 테이블의 구조를 수정하는 데 사용
7.
DROP TABLE : 데이터베이스에서 전체 테이블을 삭제하는 데 사용
8.
WHERE : 지정된 조건에 따라 행을 필터링하는 데 사용
9.
ORDER BY : 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용
10.
JOIN : 두 개 이상의 테이블의 행을 해당 테이블의 관련 열을 기준으로 결합하는 데 사용
SQL Command
SQL 구문
SELECT
SELECT * FROM employees;
INSERT
INSERT INTO employees (first_name, last_name, email) VALUES ('John', 'Doe', 'john.doe@example.com');
UPDATE
UPDATE employees SET email = 'jane.doe@example.com' WHERE first_name = 'Jane' AND last_name = 'Doe';
DELETE
DELETE FROM employees WHERE employee_id = 123;
CREATE TABLE
CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50));
ALTER TABLE
ALTER TABLE employees ADD COLUMN phone VARCHAR(20);
DROP TABLE
DROP TABLE employees;
WHERE
SELECT * FROM employees WHERE department = 'Sales';
ORDER BY
SELECT * FROM employees ORDER BY hire_date DESC;
JOIN
SELECT e.first_name, e.last_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id;