티스토리 뷰

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;
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함