본문 바로가기

db4

[MySQL] 테이블 변경, 생성, 추가, 삭제 쿼리 " [MySQL] 테이블 변경, 생성, 추가, 삭제 " 오늘은 테이블 생성, 추가, 삭제등에 대해 간단히 포스팅하겠습니다.일하다가 생각이 안날때 항상 검색해서 사용 해 왔던거같아서 적어두려구요^^;;ㅋㅋ.. 1. 테이블 생성CREATE TABLE [테이블명](칼럼 타입);EX) CREATE TABLE USR_MST(ID VARCHAR(20)); 2. 칼럼 추가ALTER TABLE [테이블명] ADD [칼럼명][타입]EX) ALTER TABLE USR_MST ADD ID VARCHAR(20) NOT NULL DEFAULT '1'; - 저 타입 뒤에 있는 NOT NULL은 NULL값 허용 비허용을 설정해주는거에요. 저 예시처럼 DEFAULT값은 1로 설정해주면 값이 NULL일 경우 1로 설정이됩니다. 3. .. 2017. 2. 13.
[ORACLE] LPAD RPAD 함수 :: 문자길이 채우기 [ 오라클 LPAD RPAD 함수 ] 이번엔 오라클 함수 LPAD와 RPAD에 대해 포스팅을 하려고합니다. 오늘 일을 하다가 '0003'으로 저장을 한 후, 조회를 해보면 무조건 '3'으로 출력이되길래 테이블을 확인해보니 해당 컬럼 타입이 NUMBER 타입이더라구요ㅠㅠ.. NUMBER타입은 앞에 앞에 0을 입력해도 다 무시되서 '3'으로만 출력이되요ㅠ설계자분이 그 칼럼을 NUMBER로 설계해주셔서 내맘대로 테이블을 수정은 못하고...ㅠㅠ출력은 무조건 '0003'으로 되야한다고 해서 오라클 함수를 찾아봤어요.ㅋㅋㅋㅋㅋ 해당칼럼을 테이블에서 NUMBER가 아닌 VARCHAR형식으로 바꿔주면 해결될 문제지만 NUMBER 타입으로 가야한다면오라클 함수 LPAD와 RPAD를 활용해보세요!! 오라클 함수에는 많은 .. 2016. 11. 1.
오라클 DB INSERT와 UPDATE문을 한번에 하기 → MERGE INTO !! INSERT와 UPATE문을 한번에! [MERGE INTO 구문] 쿼리를 다루다 보면 데이터를 넣어야 하는 테이블에 값이 있으면 UPDATE 없으면 INSERT를 해야하는 경우가 많이 있습니다.보통 이런 쿼리를 짜게되면 SELECT 쿼리로 먼저 데이터 유무를 판단하고 서비스단에서 그 결과를 가지고 INSERT쿼리를 돌릴지 UPDATE쿼리를 돌릴지 분기 처리를 해왔습니다.그러다 선배가 제가 짠 쿼리를 MERGE INTO 구문으로 튜닝을 하라해서 막 찾아보다 알게된 MERGE INTO!! 찾아보니 첨엔 구문이 간단해서 좋을거 같으면서도 적용하려하니 버벅거렸던 기억이있어요ㅋㅋMERGE INTO 구문은 구조가 같은 두개의 테이블을 하나의 테이블로 합치기위한 작업을 위해 생긴 구문이며, 오라클에서만 사용이 가능합.. 2016. 9. 23.
[오라클 DB LOCK 문제 해결]LOCK 걸린 테이블 조회 및 세션 해제(LOCK KILL) 오라클 DB LOCK 조회 및 세션 죽이기(락 해제) - 쿼리를 조회하다보면 타임아웃에 걸려 쿼리가 실행되지 않을때가 있고, 결과 값이 나오지 않는 경우들이 종종있습니다.저도 쿼리작성 하다가 조회가되지 않으면 잘못된 쿼리인가 했던적이 많은데 문제는 다른 테이블에서 락이 걸려 문제가 발생했었습니다. 또한, 어느 순간부터 데이터가 삭제가 않되거나 업데이트가 되지 않는 상태가 발생하면 테이블에 락이 걸린 상태일 가능성이 높습니다. 비정상적으로 종료했을 시 또는 사용중 갑자기 제대로 작동이 되지않으면 DB LOCK 조회를 먼저 한번 해보시기 바랍니당!! [TM(TABLE LOCK) 조회하기]SELECT B.TYPE, C.OBJECT_NAME, A.SID -- SESSION ID를 의미함, A.SERIAL# --.. 2016. 9. 19.