DML
DDL 명령어의 경우 실행시 AUTO COMMIT 하지만
DML의 경우 COMMIT을 입력해야한다
SQL Server의 경우 DML도 AUTO COMMIT
INSERT INTO PLAYER (PLAYER) VALUES ('PJS');
UPDATE PLAYER SET BACK_NO = 60;
DELETE FROM PLAYER;
SELECT PLAYER_ID FROM PLAYER;
SELECT DISTINCT POSITION 시 구분값만 출력
SELECT PLAYER AS "선수명" FROM PLAYER;
와일드카드
*: 모든
%: 모든
-:한글자
합성 연산자
문자와 문자 연결 : || (ORACLE), +(SQL Server)
SELECT PLAYER_NAME + '선수' "정보"
TCL
트랜잭션: 밀접히 관련 되어 분리될 수 없는 1개 이상의 DB조작
COMMIT: 올바르게 반영된 데이터를 DB에 반영
ROLLBACK: 트랜잭션 시작 이전의 상태로 되돌림
SAVEPOINT: 저장 지점
트랜잭션의 특성
1. 원자성: 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀
실행되지 않아야 함
2. 일관성: 트랜잭션 실행 전 DB내용이 잘못되지 않으면 실행 후도 잘못 되지 않아야 함
3. 고립성: 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안된다.
4. 지속성: 트랜잭션이 성공적으로 수행되면 DB의 내용은 영구적으로 저장된다
연산자의 종류
BETWEEN a AND b : a와 b값 사이에 있으면 됨
IN(list) : 리스트에 있는 값중 어느 하나라도 일치
LIKE '비고문자열' : 비교문자열과 형태가 일치
IS NULL: NULL 값인 경우
NOT IN (list) : list의 값과 일치 하지 않는다
IS NOT NULL : NULL 값을 갖지 않는다
연산자 우선순위: ()-> NOT -> 비교연산자 ->AND -> OR
SELECT PLAYER_NAME 선수명 FROM PLAYER
WHERE TEAM_ID = 'K2'; -> 팀ID가 K2인 사람
WHERE TEAM_ID IN ('K2','K7')-> K2 , K7인 사람
WHERE HEIGHT BETWEEN 170 AND 180; -> 키가 170~ 180 인 사람
WHERE POSITION IS NULL; -> 포지션 없는사람
NULL 값과의 수치연산은 NULL값을 리턴한다
NULL 값과의 비교연산은 거짓(FALSE)를 리턴한다
ROWNUM: 원하는 만큼의 행을 가져올 떄 사용
SELECT TOP(1) PLAYER_NAME FROM PLAYER;