본문 바로가기

분류 전체보기

(109)
원격 접속을 위한 설정 변경 SQL PLUS 실행시키고 DB에 접속 후, EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); 입력
제약조건 Check 제약조건 테이블 생성할 때 설정하기. check(PHONE LIKE '~~~') NOT NULL,~~ 생성 후 ALTER TABLE TEST ADD CONSTRAINT CK_TEST_PHONE CHECK(REGEXP_LIKE(PHONE, '^01[01]-\d{3,4}-\d{4}')); 제약조건 삭제하기 ALTER TABLE TEST DROP CONSTRAINT CK_TEST_PHONE; Entity 제약조건 PRIMARY KEY : 식별키 (NOT NULL) UNIQUE : 중복 X (NULL 가능) sequence 제약조건이름.NEXTVAL
[ Oracle SQL ] 조인[JOIN] 1. INEER 조인(JOIN) 같은 키를 가지고 있는 두 테이블을 관계가 있는 것만 합치는것, 기본값. outer는 제거한다. (table1.id = table2.write_id) select * from table1 inner join table2 on table1.id = table2.write_id; 2. Outer Join 같은 키를 가지고 있는 두 테이블을 합치는것, outer도 포함한다. 값이 없는 경우 null값을 포함한다. 주인공을 기준으로 관계있는 것을 합치기. select * from table1 [left/right/full] outer join table2 on table1.id = table2.write_id; 3. Self Join 데이터가 ..
[oracle sql] 문자열 내장 함수 (2) 1. 문자열 패딩 함수 select LPAD('HELLO',5) FROM DUAL; select LPAD('HELLO',5, '0') FROM DUAL; select LPAD('HELLO',10,'0') FROM DUAL; select RPAD('HELLO',10,'0') FROM DUAL; 2. INITCAP(문자열) : 첫 글자를 대문자로 바꾸는 함수 select initcap('the important thing is ... ') from dual; select initcap('the impo하rtant t히hing is ... ') from dual; -> 한글 뒤 글자도 대문자로 바뀜. 3. INSTR(문자열, 검색문자열, 위치, 찾을 수) : 문자열 검색 함수 select instr('all ..
SQL DEVELOPER 경고 오류 실행 안됨 "SQL DEVELOPER 경고 - 일부 모듈을 설치하지 못했습니다." 라는 경고창과 함께 developer 실행이 되지 않았다. 해결한 방법은 다음과 같다. C:\Users\사용자명\AppData\Roaming\SQL Developer 폴더 내에 있는 파일을 모두 삭제한다. 이게 전부다. 삭제 하니 실행이 잘 된다. 단점은.. 지금까지 실행한 모든 테이블, 접속정보 등등이 사라진다는 것.. 상관 없는 분만 이렇게 하시길..
[oracle sql] 문자열 내장 함수 (1) 1. SUBSTR(문자열, 시작위치, 길이) : 문자열 잘라내는 함수 SELECT SUBSTR('HELLO',1,3) FROM DUAL; -> HELLO의 1번째 위치부터 3글자 SELECT SUBSTR('HELLO',3) FROM DUAL; -> HELLO의 3번째 위치부터 다 SELECT SUBSTRB('HELLO',3) FROM DUAL; -> 바이트단위, HELLO의 3번째 바이트부터 다(영문이라 1바이트 단위) SELECT SUBSTRB('안녕',3) FROM DUAL; ex) 모든 학생의 이름과 출생 월만을 조회하시오. select name, substr(birthday,6,2) month from student; ex) 회원 중에서 전화번호가 011으로 시작하는 회원의 모든 정보를 출력하시오..
rownum 실습 rownum은 sql 쿼리를 실행했을 때 결과값에 자동으로 붙는 인덱스 같은 것이다. rownum을 이용하면 결과값의 개수를 제한해서 나타낼 수 있다. 예를 들어 select * from notice where rownum 1 and 5; 이라고 입력하면 결과값을 5개까지만 나타낸다. 하지만 rownum을 2번째부터 나타내려고 할땐 문제가 생긴다. select * from notice where rownum between 2 and 3; 언뜻 보기엔 문제없는 쿼리 같지만 실행해보면 결과값이 나오지 않는다. 이유는 처음 rownum이 생길때 rownum은 1부터 시작한다. 그리고 rownum을 between 2 and 3 이 문장과 비교하게 된다. rownum 1은 범위 값에 안들어가기 때문에 다음 결과값..
정규식 참고 사이트 regexlib https://regexlib.com/?AspxAutoDetectCookieSupport=1 Regular Expression Library Welcome to RegExLib.com, the Internet's first Regular Expression Library. Currently we have indexed 4149 expressions from 2818 contributors around the world. We hope you'll find this site useful and come back whenever you need help writing an expression, y regexlib.com