오늘 배운 것
1. DML
데이터를 테이블에 삽입, 삭제, 갱신하는 SQL로, 주로 개발자가 맡게, 사용하게 되는 부분
삽입
# 기본형
INSERT INTO 테이블이름(컬럼 이름 나열) VALUES(값 나열);
# NULL 삽입하고 싶은 경우
// 1. 컬럼 이름 생략
INSERT INTO DEPT(DEPTNO, DNAME) VALUES (60, '영업');
// 2. 명시적으로 설정
INSERT INTO DEPT(DEPTNO, DNAME, LOC) VALUES(70, '총무', NULL);
// 3. '' 로 입력해도 NULL이 될 수 있지만, MARIA DB에서는 그냥 빈칸으로 삽입
INSERT INTO DEPT(DEPTNO, DNAME, LOC) VALUES (90, '기획', '');
삭제
# 기본형
DELETE FROM 테이블이름 [WHERE 조건];
WHERE 조건 생략하면 모든 데이터 삭제
수정
UPDATE 테이블이름
SET 수정할컬럼 = 값, ...
[WHERE 조건];
2. Transaction
: 한번에 수행되어야 하는 논리적 작업 단위
예) 게임 상에서 A와 B가 item1을 2000원에 거래한다고 할 때
- A에게서 item1 삭제
- B에게 item2 추가
- A에게 2000원 추가
- B에게 2000원 차감
트랜잭션이 가져야하는 성질
- Atomicity(원자성)
- Consistency(일관성)
- Isolation(격리성/독립성)
- Durability(영속성, 지속성)
트랜잭션 명령어
COMMIT
ROLLBACK
SAVEPOINT
테이블 이외의 개체
- VIEW ; 일종의 SELECT 구문의 단축키처럼 자주 사용, 조회하는 데이터를 하나의 테이블 형태로 사용하기 위한 개체
- PROCEDURE ; 자주 사용하는 SQL 구문을 함수처럼 미리 만들어두고, 이름만으로 실행하도록 해주는 개체
- TRIGGER ; 어떤 사건(INSERT, UPDATE, DELETE)이 발생했을 떄 절차적 프로그래밍 부분을 자동으로 수행하기 위한 개체
- INDEX
'TIL' 카테고리의 다른 글
[TIL - 20221130] ORM, mongoDB, 인증/인가 (0) | 2022.11.30 |
---|---|
[TIL - 20221124] maria DB, node 연동 (0) | 2022.11.24 |
[TIL - 20221116] Node module (0) | 2022.11.16 |
[TIL - 20221115] 브라우저 데이터 (0) | 2022.11.15 |
[TIL - 20221114] SOP, CORS (0) | 2022.11.14 |