INSERT: 추가
UPDATE: 수정
DELETE: 삭제
SELECT: 조회 - DQL
DML은 COMMIINT 하면 영구반영, COMMIT 전에는 ROLLBACK 가능
CREATE TABLE 테이블명 AS SELECT ...
👩🏫참고)
DDL
CREATE 대상 - 생성
ALTER 대상 - 수정
DROP 대상 - 삭제
- 실행과 동시에 COMMIT이 진행, 데이터 바로 반영, ROLLBACK 불가능

EMP_JOIN, DEPT_JOIN 삭제하기
DROP TABLE DEPT_JOIN;
DROP TABLE EMP_JOIN;
INSERT INTO 테이블명(컬럼1, 컬럼2,...) VALUES(값1, 값2...);
1) DEPT_TEMP 테이블에 데이터 추가하기
INSERT INTO DEPT_TEMP (DEPTNO, DNAME, LOC)
VALUES(50,'WEB','SEOUL');
2) INSERT문으로 데이터 입력하기(열 지정을 생략할 때)
(컬럼1,컬럼2): 전체 데이터를 추가하는 상황, 컬럼의 순서가 동일할 때 생략 가능

대신 순서가 동일해야함 !!!

1) NULL을 지정하여 입력하기

2) 빈 공백 문자열로 NULL을 입력하기

👩🏫참고) MySQL은 비어있는 문자열 데이터로 기록
특정 필드가 비어있는지 체크
-> 필드명 <> " AND 필드명 IS NOT NULL;
3) 열 데이터를 넣지 않는 방식으로 NULL 데이터 입력하기

데이터 추가 없이 테이블 구조만 복사


👩🏫참고) 자료형 변환 함수
TO_NUMBER(): 형식화된 문자열 숫자 -> 숫자
TO_DATE(): 형식화된 문자열 날짜 -> 날짜
TO_CHAR(): 숫자 또는 문자 -> 형식화된 문자열로 변환

TO_DATE 함수를 사용하여 날짜 데이터 입력하기

🔼 인식 못함
🔽TO_DATE 사용
SYSDATE를 사용하여 날짜 데이터 입력하기
1) 서브 쿼리로 여러 데이터 추가하기
2) INSERT문에서 서브쿼리를 사용할 때 유의할 점
- VALUES 절은 사용하지 않는다.
- 데이터가 추가되는 테이블의 열 개수와 서브쿼리의 열 개수가 일치해야 한다.
- 데이터가 추가되는 테이블의 자료형과 서브쿼리의 자료형이 일치해야 한다.
UPDATE 문의 기본 사용법
데이터 전체 수정하기
참고) ROLLBACK
데이터 일부분 수정하기
UPDATE DEPT_TEMP3
SET (DNAME, LOC) =
(SELECT DNAME, LOC FROM DEPT WHERE DEPTNO=40)
WHERE DEPTNO = 40;
UPDATE DEPT_TEMP3
SET
LOC = (SELECT LOC FROM DEPT WHERE DEPTNO=20)
WHERE DEPTNO = 40;
DELETE문의 기본 형식
DELETE FROM 테이블명 WHERE 조건식;
WHERE절을 사용하여 데이터 일부분만 삭제하기
--JOB에 MANAGER만 삭제하기
DELETE FROM EMP_TEMP2 WHERE JOB='MANAGER';
ROLLBACK;
-- 급여등급이 3등급인 직원들 삭제 - 서브쿼리 이용
DELETE FROM EMP_TEMP2
WHERE EMPNO IN (SELECT E.EMPNO FROM EMP E, SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL AND S.GRADE = 3);--비등가조회
SELECT * FROM EMP_TEMP2;
CREATE TABLE EMP_TEMP2 AS SELECT * FROM EMP;
SELECT * FROM EMP_TEMP2;
DELETE FROM EMP_TEMP2;
ROLLBACK;