728x90
728x90
DML (데이터 조작어, Data Manipulation Language)
- SELECT, INSERT, UPDATE, DELETE
데이터 삽입 : INSERT 문
- 포지셔널 : 컬럼명과 삽입할 값의 순서를 동일하게 할 것
- 컬럼명과 값은 일대일 대응해야 함 → 컬럼 수보다 값을 적게 설정하면 오류
# 기본 형식
INSERT INTO 테이블명(컬럼명1, 컬럼명2, ..., 컬럼명n)
VALUES (값1, 값2, ..., 값n); -- VALUE도 무관
- 제약조건이 NOT NULL이 아니라면, 해당 컬럼을 제외하고 작성 가능
- 값 부분에 DEFAULT를 입력하면 해당 컬럼에 저장된 DEFAULT 값으로 입력됨
- DEFAULT가 설정되어 있는 컬럼은 선언 시 생략하면 자동으로 DEFAULT 값이 입력됨
# 모든 컬럼에 값을 삽입할 경우 컬럼 선언 생략 가능
INSERT INTO 테이블명
VALUES (값1, 값2, ...);
# 한 번에 여러 레코드 추가 (복수 행 쿼리)
INSERT INTO 테이블명(컬럼명1, 컬럼명2, ...)
VALUES
(값1, 값2, ...), -- 레코드1
(값1, 값2, ...), -- 레코드2 (콤마로 연결)
... ;
- 하나 이상의 레코드에 오류가 발생한다면, 모든 레코드가 추가되지 않음
ex) 기본키 중복 등의 오류
데이터 변경 : UPDATE 문
UPDATE 테이블명
SET 컬럼명1 = 값1, 컬럼명2 = 값2, ...
[WHERE 조건];
- 조건절을 입력하지 않으면 모든 데이터가 변경됨
데이터 삭제 : DELETE 문
DELETE FROM 테이블명
[WHERE 조건];
- 조건절을 입력하지 않으면 모든 데이터가 삭제됨
- DROP 문과 달리, 테이블의 구조는 남아 있음
- 데이터를 삭제하고 나면 복구가 어려우므로, 실행 전 데이터를 백업하거나 테스트용 데이터 사용하기
320x100
반응형
'SQL' 카테고리의 다른 글
[SQL] 인덱스 (0) | 2023.03.07 |
---|---|
[SQL] WHERE 조건절 & 연산자 (0) | 2023.03.07 |
[SQL] DDL - 테이블 변경/삭제 (ALTER, RENAME, DROP, TRUNCATE) (0) | 2023.03.06 |
[SQL] DDL - 테이블 생성 (CREATE) (0) | 2023.03.06 |
[SQL] 기본 명령어 (DB 생성 및 삭제, 테이블 구조 조회 등) (0) | 2023.03.06 |