DML (Data Manipulation Language) 데이터 조작어
: 데이터베이스의 테이블에 들어있는 데이터를 삽입 / 수정 / 삭제 / 조회 하는 명령어
INSERT : 데이터 삽입
UPDATE : 데이터 수정
DELETE : 데이터 삭제
UPSERT : 입력되는 KEY가 중복일 경우 UPDATE, 아닐 경우 INSERT
1. 데이터 삽입 (INSERT)
INSERT INTO [테이블명] ([컬럼명]) VALUES ([컬럼에 해당하는 값]);
각 컬럼에 해당하는 값들을 컬럼 순서대로 써준다.
테이블의 모든 컬럼에 데이터를 넣어줄 땐 컬럼 자리에 * 을 써주면 된다.
하지만 DB는 혼자 보는 것이 아니기 때문에 컬럼명을 모두 써주는 것이 좋고,
* 을 사용하면 values를 컬럼이 테이블에 들어가있는 순서대로 써주어야 하기 때문에 오류가 날 수 있다.
특정 컬럼만 적어주면 그 값들만 넣을 수 있다. ( 값을 넣지 않은 컬럼은 null 이 들어간다.)
2. 데이터 수정
UPDATE [테이블명] SET [컬럼명] = [변경할 값] where [조건];
UPDATE [테이블] : [테이블]을 수정해라
SET [컬럼명] = [변경할 값] : 이 값으로 세팅
WHERE [조건] : 이 조건인 곳을
- 테이블의 데이터를 조작할 때 where 절을 통해서 조건을 줄 수 있다.
3. 데이터 삭제
DELETE FROM [테이블명];
테이블 전체를 삭제할 때는 조건을 주지 않는다.
4. UPSERT
upsert : 값이 없으면 넣고(insert), 값이 있으면 수정(update) 한다.
INSERT INTO [테이블명(컬럼) VALUES (컬럼 값) ON DUPLICATE KEY UPDATE (변경할 값);
그냥 insert 문에 on duplicate key update 를 붙인 것.
우선 emp_no 가 중복을 허용하지 않는 제약조건이 걸려있다는 전제하에
emp_no 에 112가 없다면 insert 문에 있는 값들을 넣는다.
하지만 emp_no 에 112가 이미 있다면 on duplicate key 뒤에 있는 update 구문을 실행한다.
나는 이미 테이블에 emp_no = 112를 넣어놨으므로 왕만두가 왕감자로 수정된다.
> DML 2 에서 SELECT 문을 자세히 다룬다.
https://bamdal.tistory.com/entry/DB-DML-2-select
'Data > MariaDB' 카테고리의 다른 글
DB] 제약 조건(constraint) 1 - 기본 키 제약 조건 / NOT NULL (0) | 2022.04.28 |
---|---|
DB] DML 2 - SELECT (0) | 2022.04.28 |
DB] DDL(데이터 정의어) / 테이블 (0) | 2022.04.28 |
DB] DBeaver 사용 (0) | 2022.04.28 |
DB] DDL(데이터 정의어) / root - 유저 생성, 권한 설정 (0) | 2022.04.28 |