CH10-쿼리 연습을 위한 테이블 준비하기
DML은 중요하기 때문에 반드시 기억해야 한다
CH11-데이터 조작하기 INSERT,SELECT
DML=CRUD
INSERT INTO TABLENAME VALUES(" ")
INSERT INTO TABLENAME(COL1,COL3) VALUES("*1", "*3") ->내가 원하는 칼럼만 넣는다, 선택하지 않은 칼럼에는 NULL
AS -> 어플리케이션에서 칼럼명을 정해뒀을때 DB에서의 COLNAME을 바꿔야 할때 간단하게 바꾸는 방법
SELECT COLNAME AS NICKNAME FROM TABLE
SELECT COLNAME NICKNAME FROM TABLE
두개의 문장은 같은 역할을 한다
CH12-데이터 조작하기 UPDATE,DELETE
UPDATE TABLE SET COL = ' ' ; 이렇게 하면 COL의 모든 값이 변경된다
WHERE을 꼭 같이 사용하자
UPDATE TABLE SET PWD = '111', WHERE ID ='DRAGON' ->이런식으로 해야 원하는 값만 바꾼다
DELETE TABLE WHERE ID = 'TEST' ->마찬가지로 DELETE일때도 이런식으로 해야 TABLE의 모든값이 날라가는 불상사를 막는다
CH13 트랜잭션 처리를 위한 commit/rollback
트랜잭션 = 업무적인 실행 단위, 실제 기능에서의 단위
어플리케이션에서의 하나의 기능은 sql에서 여러개의 명령어로 동작한다
하나의 트랜잭션을 성공적으로 동작하기 위해선 LOCK을 사용한다
LOCK SQL1 COMMIT(UNLOCK) LOCK SQL2 COMMIT(UNLOCK)
오라클 세션에서의 동작
2개의 세션이 있을때 하나의 세션에서 COMMIT하지 않으면 어떤 쿼리도 실행되지 않는다
COMMIT하기 전까지는 임시저장소에서 테스트 되는 중이다
COMMIT 하지 않으면 데이터 반영이 되지 않기 때문에 그 결과를 조회할 수 없다
CH14 연산을 통한 데이터 조회
col + 1 -> col값에 +1이 되지만 컬럼 이름도 col+1로 바뀐다
col +1 as col ->이렇게 해야 내가 원하는 컬럼 이름과 원하는 값을 얻을 수 있다
3 + "1" -> 보통은 문자열로 취환된 후에 결과값이 저장되지만 오라클은 문자열이 정수로 변환되어 연산한다
CH15 비교연산자
!= ^= <> :3개 전부 같은 의미로 사용된다
비어있는지를 확인하기 위해서는 IS NULL, IS NOT NULL을 사용해야 한다
CH16 관계 연산자
BETWEEN A AND B; -> A,와B 모두 포함하는 범위
HIT IN (A,B,C) -> A,B,C 중에 있는지 확인할때(여러개) , NOT IN도가능
CH17 패턴 연산자
LIKE, &, _
SELECT * FROM NOTICE WHERE LIKE '박%'; -> 박으로 시작하는 문자열을 가지는 행을 찾아라
% : 뒤에 몇개가 오든 상관없다
_ : 뒤에 1개만 와야 한다
%,- : 사용하기 위해선 = 가 아니라 LIKE를 사용해야한다
%도% -> 도를 포함한 문자열을 가지는 문자열을 찾을때 이렇게 사용
CH18 정규식을 이용한 패턴 연산
정규식 = 문자열을 처리하는 일반화 된 패턴
^ $ : 정규식의 시작과 끝을 의미, 단 이 문자들 사이에 있는 값들만 존재해야한다, 사이 값을 포함하는 문자열을 찾을때는
위 문자를 사용하지 않고 그냥 문자열 쓰듯이 쓰면된다
[ ] : 사이 문자 중 1개를 의미
[14-9] : 1,4~9 사이 숫자중 1개를 의미한다
\d{3,4} : 정수 3개 or 4개를 의미
REGEXP_LIKE(COLUM, REGEX) ->오라클에서 정규식을 사용하기 위해 존재하는 메소드
SELECT * FROM TABLE WHERE REGEXP_LIKE(TITLE, '01[016-9]-\d{3,4}-\d{4}'); ->칼럼값이 전화번호를 포함할때
CH19 문자열 비교를 위한 정규식
newlec@naver.com
\w : 모든 알파벳 + 숫자
+ : 1개 이상의 문자
\w + @ \w +.(net | com)
\D : 정수 제외 문자
* : 0개 이상의 문자
\D\w * @ \w +.(net | com) ->가장앞에 정수를 제외한 문자 1개이상 @ 모든문자 1개이상 . COM | NET