티스토리 뷰
DML (Data Manipulation Language)
DML이란 데이터 조작어라고도 합니다. DML 명령어는 `SELECT`, `INSERT`, `UPDATE`, `DELTE` 가 있습니다
SELECT
데이터를 조회할 때 사용하는 명령어입니다.
SELECT 컬럼1, 컬럼2, ...
FROM 테이블명
WHERE 조건;
예시:
SELECT name, age
FROM students
WHERE grade = 'A';
INSERT
데이터를 테이블에 삽일할 때 사용하는 명령어입니다.
INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)
VALUES (값1, 값2, ...);
- 다른 테이블 데이터를 삽입
INSERT INTO 저장될_테이블명 (컬럼1, 컬럼2, ...)
SELECT 컬럼1, 컬럼2, ...
FROM 가져올_테이블명
WHERE 조건;
예시:
INSERT INTO employees (name, position, salary)
VALUES ('홍길동', '개발자', 5000000);
UPDATE
저장된 데이터를 수정할 때 사용하는 명령어입니다.
UPDATE 테이블명
SET 컬럼1 = 값1, 컬럼2 = 값2, ...
WHERE 조건;
예시:
UPDATE employees
SET salary = salary * 1.1
WHERE position = '개발자';
DELETE
테이블에 저장된 데이터를 삭제하는 명령어입니다.
DELETE FROM 테이블명
WHERE 조건;
예시:
DELETE FROM employees
WHERE resignation_date IS NOT NULL;
DDL (Data Definition Language)
DDL는 데이터 정의어라고도 합니다. 테이블이나 관계를 정의하는데 사용합니다. DDL 명령어는 `CREATE`, `ALTER`, `DROP`, `TRUCATE` 가 있습니다.
CREATE
새로운 데이터베이스 객체를 생성하는 명령어입니다.
CREATE TABLE 테이블명 (
컬럼1 데이터타입 [제약조건],
컬럼2 데이터타입 [제약조건],
...
);
예시:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
position VARCHAR(50),
salary DECIMAL(15, 2),
hire_date DATE
);
ALTER
기존 데이터베이스 객체를 변경하거나 수정하는 명령어입니다.
- 컬럼 추가
ALTER TABLE 테이블명
ADD 컬럼명 데이터타입 [제약조건];
- 컬럼 수정
ALTER TABLE 테이블명
MODIFY 컬럼명 새로운데이터타입 [제약조건];
- 컬럼 삭제
ALTER TABLE 테이블명
DROP COLUMN 컬럼명;
예시:
-- 컬럼 추가
ALTER TABLE employees
ADD email VARCHAR(100);
-- 컬럼 수정
ALTER TABLE employees
MODIFY salary DECIMAL(18, 2);
-- 컬럼 삭제
ALTER TABLE employees
DROP COLUMN hire_date;
DROP
데이터베이스 객체를 삭제하는 명령어입니다.
- 테이블 삭제:
DROP TABLE 테이블명;
- 데이터베이스 삭제:
DROP DATABASE 데이터베이스명;
예시:
DROP TABLE employees;
TRUNCATE
테이블의 모든 데이터를 일괄 삭제하는 명령어입니다. `DELETE` 와 달리 롤백이 불가능합니다. 테이블의 구조와 인덱스는 그대로 유지됩니다.
TRUNCATE TABLE 테이블명;
예시:
TRUNCATE TABLE employees;
DCL (Data Control Language)
DCL은 데이터 제어어라고합니다. DCL 명령어인 `GRANT`, `REVOKE`를 사용해 권한을 부여하거나 회수합니다.
GRANT
사용자에게 특정 작업을 수행할 수 있는 권한을 부여하는 명령어입니다.
GRANT 권한리스트
ON 객체명
TO 사용자명 [WITH GRANT OPTION];
예시:
-- 사용자 'user1'에게 'employees' 테이블에 대한 SELECT 권한 부여
GRANT SELECT ON employees TO user1;
-- 사용자 'user1'에게 'employees' 테이블에 대한 SELECT, INSERT 권한 부여
GRANT SELECT, INSERT ON employees TO user1;
REVOKE
사용자에게 부여된 권한을 회수하는 명령어입니다.
REVOKE 권한리스트
ON 객체명
FROM 사용자명;
예시:
-- 사용자 'user1'에게서 'employees' 테이블에 대한 INSERT 권한 회수
REVOKE INSERT ON employees FROM user1;
-- 사용자 'user1'에게서 모든 권한 회수
REVOKE ALL PRIVILEGES ON employees FROM user1;
'데이터베이스' 카테고리의 다른 글
[SQL] SELECT 문의 상세 구조와 처리 순서 (0) | 2024.11.07 |
---|---|
[SQL] VIEW의 개념 / 장단점 / 사용법 (0) | 2024.11.07 |
[데이터베이스] 관계 데이터베이스 모델 (1) | 2024.10.31 |
[데이터베이스] 3단계 데이터베이스 구조란? (0) | 2024.10.30 |
[데이터베이스] 데이터 모델이란? (0) | 2024.10.30 |