오라클에서 테이블의 PK(Primary Key)를 추가, 변경 또는 삭제를 하기 위해서는 ALTER TABLE CONSTRAINT 명령어를 사용하면 된다. PK로 추가할 칼럼은 NULL 값이 존재하면 안 되며, PK로 추가할 칼럼 조합은 해당 테이블에서 유일한 값이어야 한다. 이미 생성된 PK에 칼럼을 추가하거나 뺄 때는 기존 PK를 삭제 후 다시 생성하는 방법을 사용한다. 목차테이블 PK 추가 방법테이블 PK 변경 방법테이블 PK 제거 방법테이블 생성 시 PK 설정 방법 테이블 PK 추가 방법ALTER TABLE scott.emp ADD CONSTRAINT emp_pk PRIMARY KEY (empno); ALTER TABLE [스키마명].[테이블명] ADD CONSTRAINT [PK명] PRIMAR..
오라클에서 테이블 칼럼에 NOT NULL을 추가하거나 삭제하기 위해서는 ALTER TABLE 명령어를 사용하여 NOT NULL 속성을 변경하면 된다. 테이블에 데이터가 존재하는 상태에서 NOT NULL을 설정하기 위해서는 해당 칼럼에 NULL인 데이터가 없어야 칼럼의 속성을 NOT NULL로 변경할 수 있다. 목차컬럼 NOT NULL 추가 방법컬럼 NOT NULL 제거 방법테이블 생성 시 NOT NULL 설정 방법 컬럼 NOT NULL 추가 방법ALTER TABLE scott.emp MODIFY mgr NUMBER(4) NOT NULL; ALTER TABLE [스키마명].[테이블명] MODIFY [칼럼명] [데이터 타입] NOT NULL; ALTER TABLE 명령어를 사용하여 칼럼의 속성을 변경할 수 ..
오라클에서 테이블의 칼럼 데이터 타입(Data Type)을 확인하기 위해서는 DESC 명령어와 ALL_TAB_COLUMNS 시스템 뷰를 사용하여 조회할 수 있다. 대부분의 SQL 툴에서 테이블 정보를 확인할 수 있는 기능이 있지만 단순 쿼리로 빠르게 확인할 때는 위의 2가지 방법을 사용할 수 있다. 목차DESC 명령어를 사용하여 데이터 타입 조회ALL_TAB_COLUMNS 시스템 뷰를 사용하여 조회 DESC 명령어를 사용하여 데이터 타입 조회DESC emp 오라클 SQL 툴에서 DESC 테이블명을 사용하여 데이터 타입과 데이터 길이를 조회할 수 있다.데이블의 속성을 빠르게 파악할 때는 DESC 명령어를 많이 사용하므로 기억해 두는 것이 좋다. ALL_TAB_COLUMNS 시스템 뷰를 사용하여 조회SE..
오라클 SQL에서 하나의 칼럼에 있는 문자열을 콤마(구분자)를 기준으로 열(가로) 또는 행(세로)으로 분리하기 위해서는 REGEXP_SUBSTR 정규식 함수를 사용하면 쉽게 해결할 수 있다. 문자열에 포함될 수 있는 구분자의 최대 개수는 미리 정의가 되어 있어야 쿼리문의 결과가 조금 더 정확하게 조회될 수 있다. 목차콤마를 열로 분리하는 방법콤마를 행으로 분리하는 방법 콤마를 열로 분리하는 방법WITH temp AS ( SELECT 'AAA,BBB,CCC' str FROM dual UNION ALL SELECT '111,222,333' str FROM dual)SELECT str , REGEXP_SUBSTR(str, '[^,]+', 1, 1) AS str1 , REGEXP_SUB..
오라클 SQL에서 정규식을 사용하여 문자열에 포함된 구분자의 개수 또는 문자나 문자열의 개수를 구할 때는 REGEXP_COUNT 함수를 사용하면 된다. REGEXP_COUNT 함수는 오라클 11g 이상에서 사용할 수 있으므로 하위 버전에서는 다른 방법을 사용해야 한다. REGEXP_COUNT("문자열", "정규표현식", "시작위치", "일치옵션") 시작위치부터는 사용하지 않을 경우 생략할 수 있다. 목차 기본 사용법 숫자, 특수문자, 영문자, 한글 개수 세기 고급 활용 예제 기본 사용법 SELECT REGEXP_COUNT('AAA,BBB,CCC,DDD', ',') AS result1 , REGEXP_COUNT('AAA,BBB,CCC,DDD', 'A') AS result2 FROM dual REGEXP_C..
오라클 SQL에서 정규식을 사용하여 문자열의 위치를 찾으려면 REGEXP_INSTR 함수를 사용하면 된다. 기본 함수 INSTR 함수를 사용하면 단순 문자열의 위치만 찾을 수 있지만, REGEXP_INSTR 함수를 사용하면 숫자, 특수문자, 한글 등 문자열 형식 또는 정규식 패턴을 사용하여 위치를 찾을 수 있다. REGEXP_INSTR("문자열", "정규표현식","시작위치","찾은횟수","반환옵션","일치옵션") 시작위치부터는 사용하지 않을 경우 생략할 수 있다. 목차 기본 사용법 숫자, 특수문자, 영문자, 한글 위치 찾기 정규식을 사용하여 위치 찾기 기타 옵션 사용법 기본 사용법 WITH temp AS ( SELECT 'MILLER' ename FROM dual UNION ALL SELECT 'JONE..
오라클 SQL에서 정규식을 사용하여 치환(REPLACE)을 하기 위해서 REGEX_REPLACE 함수를 사용하면 된다. 정규식을 사용하면 공백, 숫자, 특수문자 등을 쉽게 제거할 수 있으며, 특정 문자열 패턴으로 치환이 가능하기 때문에 아주 유용하게 사용할 수 있다. REGEXP_REPLACE 함수를 사용할 때는 역참조라는 방법을 이해하면 조금 더 다양하게 활용할 수 있으므로 꼭 익혀두는 것이 좋다. REGEXP_REPLACE("문자열", "정규표현식", "치환문자열", "검색시작위치", "매칭순번", "일치옵션") 목차 기본 사용법 다중(여러개) 치환 방법 공백, 특수문자 제거 방법 역참조를 사용하여 치환 방법 마스킹 처리 방법 기타 옵션 사용법 기본 사용법 SELECT REPLACE('Oracle D..
오라클 SQL에서 정규식 LIKE를 사용하기 위해서는 REGEXP_LIKE 함수를 사용하면 된다. 정규식을 사용하면 숫자, 특수문자 등을 쉽게 검색할 수 있고 날짜, 전화번호 등 형식이 있는 문자열도 패턴을 지정해서 검색할 수 있다. 그러나 정규식에 익숙하지 않으면 조금 어려울 수 있으니 기본적인 정규 표현식을 학습 후 예제를 보는 것을 권장한다. REGEXP_LIKE("문자열", "정규표현식", "일치옵션") 일치 옵션은 사용하지 않을 경우 생략이 가능하다. 목차 다중 LIKE 사용하는 방법 문자열 숫자 포함 조회 방법 문자열 날짜 형식 조회 방법 문자열 특수문자 포함 조회 방법 대소문자 구분 없이 조회 방법 다중 LIKE 사용하는 방법 WITH temp AS ( SELECT 'MILLER' ename..
오라클 SQL에서 정규식을 사용하여 문자열을 자르기 위해서는 REGEXP_SUBSTR 함수를 사용하면 된다. REGEXP_SUBSTR 함수는 SUBSTR 함수에서 정규식을 사용할 수 있도록 확장한 함수라고 생각하면 된다. 정규식 함수를 사용하기 위해서는 정규식 표현식을 조금 이해하고 있어야 어렵지 않게 느낄 수 있을 것이다. REGEXP_SUBSTR("문자열", "정규표현식", "시작위치", "찾은횟수","대소문자구분", "그룹순번") 시작위치 항목부터는 필요하지 않을 경우 생략할 수 있다. 목차 구분자로 문자열 자르기 문자열에서 숫자 추출 하기 문자열에서 단어 추출 하기 문자열에서 날짜 추출 하기 URL에서 HOST 추출 하기 HTML 태그 값 추출 하기 구분자로 문자열 자르기 SELECT REGEXP..
오라클 SQL에서 아스키코드(ASCII)를 문자로 변환하기 위해서는 CHR 함수를 사용한다. 반대로 문자를 아스키코드로 변환하기 위해서는 ASCII 함수를 사용하면 된다. CHR 함수는 10진수의 아스키코드를 문자로 변환하며, 주로 특수문자를 문자열에 추가할 때 사용한다. 따옴표 아스키코드 39, 큰따옴표 아스키코드 34, TAB 아스키코드 9 등 사용할 수 있다. 목차 CHR 함수 사용법 (아스키코드 → 문자) ASCII 함수 사용법 (문자 → 아스키코드) 아스키코드표 (ASCII Table) CHR 함수 사용법 (아스키코드 → 문자) SELECT CHR(65) --대문자 A , CHR(97) --소문자 a , CHR(39) --따옴표 ' , CHR(34) --쌍따옴표 " , CHR(9) --TAB 문..