- 테이블에 새로운 행을 삽입하는 명령어
INSERT 문 기본 형식
INSERT INTO 테이블명 (열이름 리스트) VALUES (값리스트);
INSERT INTO 테이블명 VALUES (값리스트);
: 모든 열에 값 저장
예시 : student 테이블에 행 삽입
INSERT INTO student (stdNo, stdName, stdYear, dptNo)
VALUES (‘2022001’, ‘홍길동’, 4, ‘1’);
- 특정 열의 값을 수정하는 명령어
- 조건에 맞는 행을 찾아서 열의 값 수정
UPDATE 문 기본 형식
UPDATE 테이블명 SET 열=값 WHERE 조건;
예시 : 상품번호가 5인 행의 상품명을 ‘UHD TV’로 수정
UPDATE product SET prdName=’UHD TV’ WHERE prdNo=’5’;
- 테이블에 있는 기존 행을 삭제하는 명령어
DELETE 문 기본 형식
DELETE FROM 테이블명 WHERE 조건;
예시: 상품명이 ‘그늘막 텐트’인 행 삭제
DELETE FROM product WHERE prdName=’그늘막 텐트’;
테이블의 모든 행 삭제
DELETE FROM product;
- 테이블에서 조건에 맞는 행 검색
SELECT 문 기본 형식



- * 모든 열 출력
- DISTINCT
- 속성값이 중복되는 것이 있으면 한 번만 출력

IMPORT 할 시 주의!
- 숫자 : INT
- 나머지 : text 하고 나중에 변경
- 모든 테이블에 기본키 제약조건 추가
- 외래키 있는 테이블에 외래키 제약조건 추가



- 특정 열의 값을 기준으로 질의 결과 정렬
- ASC : 오름차순 (생략 가능)
- DESC : 내림차순
SUM() : 합계
AVG() : 평균
COUNT() : 선택된 열의 행 수 (널 값은 제외)
COUNT(*) : 전체 행의 수
MAX() : 최대
MIN() : 최소
GROUP BY <속성>
- 그룹 질의를 기술할 때 사용
- 특정 열로 그룹화한 후 각 그룹에 대해 한 행씩 질의 결과 생성
주의!
- SELECT 절에는 GROUP BY에서 사용한 열과 집계 함수만 나올 수 있음

HAVING <검색 조건>
- GROUP BY 절에 의해 구성된 그룹들에 대해 적용할 조건 기술
- SUM, AVG, MAX, MIN, COUNT 등의 집계 함수와 함께 사용
- 주의!
- 반드시 GROUP BY 절과 같이 사용
- WHERE 절보다 뒤에
- <검색 조건>에는 SUM, AVG, MAX, MIN, COUNT 등의 집계 함수만 와야 함
- CREATE / ALTER / DROP
- 데이터베이스, 테이블, 뷰, 인덱스 등의 데이터베이스 개체를 생성/삭제/변경하는 역할
- 직접 데이터베이스의 테이블에 영향을 미치기 때문에
- DDL 명령어를 입력하는 순간 처리 작업이 즉시 완료
- AUTO COMMIT
- 따라서 작업 취소(ROLLBACK)이나 완료(COMMIT)을 수행할 필요 없음
- INSERT / UPDATE / DELETE / SELECT
- 데이터를 삽입/수정/삭제/조회 하는데 사용
- 대상은 테이블의 행
- 조작 작업이 메모리 버퍼에서 수행되어 실시간으로 테이블에 영향을 미치 않음 (실수가 있었을 경우 작업 취소 가능) - 트랜잭션 발행
- DML 명령어가 실제 테이블에 반영되게 하기 위해서는 COMMIT 명령어를 입력하여 작업을 종료해야 함
- DBMS에서 데이터를 다루는 논리적인 작업의 단위
- 데이터베이스 관리 시스템에서 회복 및 병행 수행 시 처리되는 작업의 논리적 단위로 사용
- 하나의 트랜잭션은 정상적으로 종료될 경우 COMMIT 연산이 수행되고
- 비정상적으로 종료될 경우 ROLLBACK 연산 수행해서 작업을 취소
- 트랜잭션 처리가 정상적으로 종료되어
- 트랜잭션이 수행한 변경 내용을 데이터베이스에 반영하는 연산
- 내용을 변경한 트랜잭션이 완료되면 그 트랜잭션에 의해 데이터베이스는 새롭게 일관된 상태로 변경되고
- 이 상태는 시스템에 오류가 발생되더라도 취소되지 않음
- 하나의 트랜잭션 처리가 비정상으로 종료되어
- 데이터베이스의 일관성이 깨졌을 때 트랜잭션이 행한 모든 변경 작업을 취소하고 이전 상태로 되돌리는 연산