✏️ MariaDB(2)

# chap 6. 데이터 관리

1.삽입

- INSERT문

-- employees 테이블 내 일부 컬럼 복사한 꼴.
CREATE TABLE emp_copy
(SELECT employee_id, first_name, last_name, salary, hire_date, department_id 
FROM employees);

-- INSERT INTO 테이블명 (각 컬럼명 리스트) VALUES (값리스트);
INSERT INTO emp_copy (employee_id, first_name, last_name,hire_date) 
VALUES (4, "길동", "김홍",  "2022-12-26");

-- 여러개 insert!
INSERT INTO emp_copy VALUES
(5, "길동", "홍", 7000, "2012-11-26", NULL),
(6, "길동", "홍", null, "2012-11-26", NULL),
(7, "길동", "홍", null, "2002-09-26", 50);

INSERT IGNORE INTO emp_copy VALUES
(8, "도원", "곽", 7000, "2012", NULL);
-- 실행시'Data Truncated for column ' 경고메시지발생(이유 : hire_date데이터의 일부분이 잘림)
**-- INSERT IGNORE INTO : 중복데이터 입력방지를 위한 구문. 중복된 데이터 컬럼인 경우, 0 row affected 를 반환한다. IGNORE는 id값이 증감하지 않는다.**

2.삭제

- DELETE문

DELETE FROM 테이블명 WHERE 조건;
-- 삭제방지를 위해 DELETE문은 실행 후 지워버리거나 주석처리 하는 게 좋음.

- TRUNCATE문

TRUNCATE TABLE 테이블명;
-- 해당 테이블을 완전히 비운다.
-- 물리적인 기억 장소를 비우고, 임시영역에 로그도 남기지 않아 DELETE문보다 빠름
-- BUT 로그를 남기지 않아 , ROLLBACK으로 취소도 불가능함.
-- DELETE문은 DML소속으로 데이터 관리 명령 / TRUNCATE문은 DDL소속으로 테이블 관리 명령

3.갱신

- UPDATE문

UPDATE 테이블명 SET 필드 = 값 WHERE 조건;
UPDATE 테이블명 SET 필드1 = 값1, .... 필드N = 갑N WHERE 조건;

4.CRUD

CREATE, READ, UPDATE, DELETE. 데이터 관리 명령이라 SQL 명령어 분류상 DML에 속함

SELECT 필드목록 FROM 테이블명 WHERE 조건 ORDER BY 정렬기준;
INSERT INTO 테이블명 (필드목록) VALUES (값목록);
DELETE FROM 테이블명 WHERE 조건;
UPDATE 테이블 SET 필드1 = 값1, .... 필드N = 갑N WHERE 조건;