DataBase
-
2021-04-19 날짜 포맷을 정하는 TO_DATE 메서드와 월별 마지막 날을 알려주는 LAST_DAY 메소드를 이용하면 간단히 월별 데이터를 구할 수 있는데, 그 방법을 알아보자. -예제 예제로는 SEE_INFO 테이블을 이용해서 사용해도록 하자. 테이블의 내용은 아래와 같다. - 11월이 생일인 학생들 TO_DATE를 통해서 월의 시작일(1일)과 끝나는날(28일/30일/31일)을 정해주면 간단히 처리된다. LAST_DAY는 날짜형 포맷만 전달받을 수 있기 때문에 TO_DATE로 날짜 포맷으로 바꾸어 준 뒤에 사용하는 것이 조금 더 안전하게 쿼리문을 수행할 수 있다. SELECT * FROM SEE_INFO WHERE BIRTH BETWEEN TO_DATE('1990-11-01', 'yyyy-MM-d..
[Oracle SQL] 오라클 TO_DATE/ LAST_DAY로 월별 데이터 구하기2021-04-19 날짜 포맷을 정하는 TO_DATE 메서드와 월별 마지막 날을 알려주는 LAST_DAY 메소드를 이용하면 간단히 월별 데이터를 구할 수 있는데, 그 방법을 알아보자. -예제 예제로는 SEE_INFO 테이블을 이용해서 사용해도록 하자. 테이블의 내용은 아래와 같다. - 11월이 생일인 학생들 TO_DATE를 통해서 월의 시작일(1일)과 끝나는날(28일/30일/31일)을 정해주면 간단히 처리된다. LAST_DAY는 날짜형 포맷만 전달받을 수 있기 때문에 TO_DATE로 날짜 포맷으로 바꾸어 준 뒤에 사용하는 것이 조금 더 안전하게 쿼리문을 수행할 수 있다. SELECT * FROM SEE_INFO WHERE BIRTH BETWEEN TO_DATE('1990-11-01', 'yyyy-MM-d..
2021.04.19 -
2021-04-12 테이블에 존재하는 각 속성을 하나의 그룹으로 만들어 원하는 데이터를 추출하는 GROUPING에 대하여 알아보자. - 예제 아래는 SENUM을 기본키로 가지는 SEE_INFO 테이블이다. 아래의 테이블을 기준으로 GROUPING을 진행해 보겠다. - GRADE(학년)별 존재하는 학생 수 -- 학년별 몇명의 사람이 있는지 그룹을 지정해서 보여주기 SELECT GRADE 학년, COUNT(GRADE) 학생수 FROM SEE_INFO GROUP BY GRADE; 위의 코드는 학년별로 총학생의 수를 선택하는 코드이다. 학년별 학생의 수를 보여줄 거기 때문에 GROUP BY로 GRADE를 묶어 주었으며, 이후 COUNT 집계함수를 통해 그룹별 몇 명의 학생이 있는지 체크한다. 위의 코드의 결과는..
[Oracle SQL] 오라클 GROUP BY(GROUPING) 알아보기.2021-04-12 테이블에 존재하는 각 속성을 하나의 그룹으로 만들어 원하는 데이터를 추출하는 GROUPING에 대하여 알아보자. - 예제 아래는 SENUM을 기본키로 가지는 SEE_INFO 테이블이다. 아래의 테이블을 기준으로 GROUPING을 진행해 보겠다. - GRADE(학년)별 존재하는 학생 수 -- 학년별 몇명의 사람이 있는지 그룹을 지정해서 보여주기 SELECT GRADE 학년, COUNT(GRADE) 학생수 FROM SEE_INFO GROUP BY GRADE; 위의 코드는 학년별로 총학생의 수를 선택하는 코드이다. 학년별 학생의 수를 보여줄 거기 때문에 GROUP BY로 GRADE를 묶어 주었으며, 이후 COUNT 집계함수를 통해 그룹별 몇 명의 학생이 있는지 체크한다. 위의 코드의 결과는..
2021.04.12 -
2021-04-10 오라클 내부에서 각 테이블에 행 번호를 매길 수 있는 방법이 존재한다. 이는 ROWNUM을 이용하는 것인데, 이와 같은 방법을 알아보자. - 예제 예제는 SEE_INFO라는 이름을 가진 테이블을 사용할 것이며, 테이블 내부의 데이터는 아래와 같다. - ROWNUM 먼저 기초적인 ROWNUM을 포함하여 전체 TABLE 데이터를 출력해보자. 사용하는 방법은 아래와 같다. SELECT ROWNUM NUM, SEE_INFO.* FROM SEE_INFO; SELECT 절에 ROWNUM을 명시해주면 되며, 이후 테이블명.* 과 같이 써주면 된다. FROM 절에 테이블이 이미 명시되어 있다고 SELECT 절에 테이블명 없이 '*'만 사용할 경우 에러가 나는 점도 알아두자. - ROWNUM 정렬 우..
[Oracle SQL] 오라클 ROWNUM 사용하는 법 알아보기.2021-04-10 오라클 내부에서 각 테이블에 행 번호를 매길 수 있는 방법이 존재한다. 이는 ROWNUM을 이용하는 것인데, 이와 같은 방법을 알아보자. - 예제 예제는 SEE_INFO라는 이름을 가진 테이블을 사용할 것이며, 테이블 내부의 데이터는 아래와 같다. - ROWNUM 먼저 기초적인 ROWNUM을 포함하여 전체 TABLE 데이터를 출력해보자. 사용하는 방법은 아래와 같다. SELECT ROWNUM NUM, SEE_INFO.* FROM SEE_INFO; SELECT 절에 ROWNUM을 명시해주면 되며, 이후 테이블명.* 과 같이 써주면 된다. FROM 절에 테이블이 이미 명시되어 있다고 SELECT 절에 테이블명 없이 '*'만 사용할 경우 에러가 나는 점도 알아두자. - ROWNUM 정렬 우..
2021.04.10 -
2021-04-01 오라클 SQL 내부에서의 시퀀스는 고유 한 정수를 생성할 수 있는 데이터베이스 개체인 시퀀스를 만든다. 시퀀스를 사용하여 기본 키 값을 자동으로 생성할 수 있다. 여기서 기본 키 값이라고 표현한 이유는 시퀀스는 테이블 내부에 객체를 추가(INSERT) 할 때마다 자동으로 1 ~ N의 수만큼 커지기 때문이다. 그렇기 때문에 한 테이블 내에 동일한 시퀀스 값은 존재할 수 없다. 이해하기 쉬운 예를 들자면 특정 사이트의 게시판에 새로운 게시글을 작성하면 게시판번호가 좌측 끝이나 우측 끝에 추가되어 게시판에 등록되는 것도 하나의 시퀀스라고 볼 수 있다. - 선언 시퀀스에는 다양한 옵션을 부여할 수 있다. 옵션은 아래의 코드와 같이 부여 할 수 있다. -- 시퀀스 이름 설정 CREATE SEQ..
[Oracle SQL] 오라클SEQUENCE 알아보기 [시퀀스 총정리]2021-04-01 오라클 SQL 내부에서의 시퀀스는 고유 한 정수를 생성할 수 있는 데이터베이스 개체인 시퀀스를 만든다. 시퀀스를 사용하여 기본 키 값을 자동으로 생성할 수 있다. 여기서 기본 키 값이라고 표현한 이유는 시퀀스는 테이블 내부에 객체를 추가(INSERT) 할 때마다 자동으로 1 ~ N의 수만큼 커지기 때문이다. 그렇기 때문에 한 테이블 내에 동일한 시퀀스 값은 존재할 수 없다. 이해하기 쉬운 예를 들자면 특정 사이트의 게시판에 새로운 게시글을 작성하면 게시판번호가 좌측 끝이나 우측 끝에 추가되어 게시판에 등록되는 것도 하나의 시퀀스라고 볼 수 있다. - 선언 시퀀스에는 다양한 옵션을 부여할 수 있다. 옵션은 아래의 코드와 같이 부여 할 수 있다. -- 시퀀스 이름 설정 CREATE SEQ..
2021.04.01 -
2021-03-12 VIEW란 기존의 존재하는 테이블로 만들어진 가상의 테이블이라고 정의할 수 있다. VIEW를 통해 필요한 데이터만 정의해서 관리할 수 있으며, VIEW에 정의되지 않은 데이터들은 사용자에게 보이지 않기 때문에, 데이터를 비교적 안전하게 관리할 수 있다. 추가적으로 VIEW를 통해 쿼리를 간단히 할 수 있다는 장점도 있다. - 예제 테이블 ( SEE_INFO ) 아래는 뷰가 참고할 원본 테이블 SEE_INFO의 데이터이다. - VIEW 생성 SEE_INFO 테이블에서 나이가 25세보다 많은 사람의 NAME과 GRADE의 정보 추출 -> VIEW 생성 CREATE VIEW SEE_TEST1 AS SELECT NAME, GRADE FROM SEE_INFO WHERE AGE > 25; CRE..
[Oracle SQL] 오라클 VIEW 에 대하여 알아보기.2021-03-12 VIEW란 기존의 존재하는 테이블로 만들어진 가상의 테이블이라고 정의할 수 있다. VIEW를 통해 필요한 데이터만 정의해서 관리할 수 있으며, VIEW에 정의되지 않은 데이터들은 사용자에게 보이지 않기 때문에, 데이터를 비교적 안전하게 관리할 수 있다. 추가적으로 VIEW를 통해 쿼리를 간단히 할 수 있다는 장점도 있다. - 예제 테이블 ( SEE_INFO ) 아래는 뷰가 참고할 원본 테이블 SEE_INFO의 데이터이다. - VIEW 생성 SEE_INFO 테이블에서 나이가 25세보다 많은 사람의 NAME과 GRADE의 정보 추출 -> VIEW 생성 CREATE VIEW SEE_TEST1 AS SELECT NAME, GRADE FROM SEE_INFO WHERE AGE > 25; CRE..
2021.03.12 -
2021-03-04 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 다만 풀 스캔 등을 유발하는 등 JOIN에 비해서 알고리즘적 성능면에서 다소 떨어지기 때문에 JOIN을 할 수 있는 경우는 JOIN을 하는 게 좋다. 또한 서브쿼리에 조건에 따라 반드시 하나의 값을 출력하게 되며(단 한 개의 행을 출력한다는 의미가 아님), 만약에 서브 쿼리에 결과 데이터가 없을 경우 NULL 값을 리턴하다. 어떤 면에서는 OUTERJOIN과 다소 비슷한 역할을 하기도 한다. - 예제 SEE_INFO 테이블 PK -> SEENUM / FK -> GRADE SEE_GRADE 테이블 PK_GRADE - 스칼라 서브쿼리 예제 1 문제 : 2학..
[Oracle SQL] 오라클 스칼라 서브쿼리 알아보기2021-03-04 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 다만 풀 스캔 등을 유발하는 등 JOIN에 비해서 알고리즘적 성능면에서 다소 떨어지기 때문에 JOIN을 할 수 있는 경우는 JOIN을 하는 게 좋다. 또한 서브쿼리에 조건에 따라 반드시 하나의 값을 출력하게 되며(단 한 개의 행을 출력한다는 의미가 아님), 만약에 서브 쿼리에 결과 데이터가 없을 경우 NULL 값을 리턴하다. 어떤 면에서는 OUTERJOIN과 다소 비슷한 역할을 하기도 한다. - 예제 SEE_INFO 테이블 PK -> SEENUM / FK -> GRADE SEE_GRADE 테이블 PK_GRADE - 스칼라 서브쿼리 예제 1 문제 : 2학..
2021.03.04 -
2021-03-02 - 정의 미국 국가표준 협회(American National Standards Institute, ANSI)는 미국에서 제품, 서비스, 과정, 시스템, 인력관리 분야에서 표준을 개발하는 것을 감독하는 비영리 민간 기구로서, 미국을 대표하여 국제 표준화 기구(ISO)에 가입하였다.[1] 이 협회는 미국의 제품이 전세계에서 사용될 수 있도록 미국의 표준을 국제표준에 맞추는 활동도 한다. 이 협회는 다른 표준화 기구나 정부 기관, 소비자 단체, 회사 등이 개발한 표준을 승인하기도 한다. 그럼으로써 용어를 통일하고, 제품의 특성, 성능, 테스트 방법 등에서 일관성을 유지한다. 이 협회는 제품이나 인력의 인증 기구가 국제표준에서 정의된 기준에 부합하는지에 대해 승인하기도 한다. 이 협회가 제정..
[Oracle SQL] 오라클 ANSI SQL JOIN 구문 알아보기2021-03-02 - 정의 미국 국가표준 협회(American National Standards Institute, ANSI)는 미국에서 제품, 서비스, 과정, 시스템, 인력관리 분야에서 표준을 개발하는 것을 감독하는 비영리 민간 기구로서, 미국을 대표하여 국제 표준화 기구(ISO)에 가입하였다.[1] 이 협회는 미국의 제품이 전세계에서 사용될 수 있도록 미국의 표준을 국제표준에 맞추는 활동도 한다. 이 협회는 다른 표준화 기구나 정부 기관, 소비자 단체, 회사 등이 개발한 표준을 승인하기도 한다. 그럼으로써 용어를 통일하고, 제품의 특성, 성능, 테스트 방법 등에서 일관성을 유지한다. 이 협회는 제품이나 인력의 인증 기구가 국제표준에서 정의된 기준에 부합하는지에 대해 승인하기도 한다. 이 협회가 제정..
2021.03.02 -
2021-02-28 오늘은 기존의 지정된 외래 키를 삭제 및 수정하는 방법을 알아보도록 하자. -예제 외래 키를 제공할 SEE_GRADE 테이블 CREATE TABLE SEE_GRADE( GRADE NUMBER CONSTRAINT PK_GRADE PRIMARY KEY ); SEE_GRADE의 기본키를 외래 키로 사용할 SEE_INFO 테이블 CREATE TABLE SEE_INFO ( SEENUM NUMBER CONSTRAINT PK_SEENUM PRIMARY KEY, NAME VARCHAR(20), AGE NUMBER, GRADE NUMBER, CONSTRAINT FK_GRADE FOREIGN KEY (GRADE) REFERENCES SEE_GRADE(GRADE) ); - 삭제 기존의 SEE_INFO의 ..
[Oracle SQL] 오라클 외래키의 삭제 수정 하는 방법2021-02-28 오늘은 기존의 지정된 외래 키를 삭제 및 수정하는 방법을 알아보도록 하자. -예제 외래 키를 제공할 SEE_GRADE 테이블 CREATE TABLE SEE_GRADE( GRADE NUMBER CONSTRAINT PK_GRADE PRIMARY KEY ); SEE_GRADE의 기본키를 외래 키로 사용할 SEE_INFO 테이블 CREATE TABLE SEE_INFO ( SEENUM NUMBER CONSTRAINT PK_SEENUM PRIMARY KEY, NAME VARCHAR(20), AGE NUMBER, GRADE NUMBER, CONSTRAINT FK_GRADE FOREIGN KEY (GRADE) REFERENCES SEE_GRADE(GRADE) ); - 삭제 기존의 SEE_INFO의 ..
2021.02.28 -
2021-02-27 - 문제 SQL 워크시트에는 좌측에 빈 공백이 있다. 워크시트에 Query문이 적을 때는 행 번호가 상관이 없겠지만, 쿼리문이 많을 때 코드 작성 간 발생하는 오류에서 행 번호가 나타나게 되는데, 이 워크시트에 행 번호가 없을 경우 해당 오류를 찾을 때 번거로워질 수가 있다. 때문에 오늘은 워크시트의 행 번호가 표시되게 하는 방법을 알아보자. - 방법 1 첫번째 방법은 굉장히 간단하다. 워크시트 행 번호가 표시되는 부분에 우클릭을 하면 위와 같은 선택창이 뜨게 되며, 여기서 행 번호 토글을 누르면 바로 현재 워크시트의 행 번호가 아래와 같이 나타나게 된다. - 방법 2 두번째 방법은 환경설정에서 항상 표시되게 끔 설정하는 방법이다. SQL Developer의 상단에 보면 도구라는 항목..
[Oracle SQL] SQL Developer 워크시트 행번호 보이게 하는 방법2021-02-27 - 문제 SQL 워크시트에는 좌측에 빈 공백이 있다. 워크시트에 Query문이 적을 때는 행 번호가 상관이 없겠지만, 쿼리문이 많을 때 코드 작성 간 발생하는 오류에서 행 번호가 나타나게 되는데, 이 워크시트에 행 번호가 없을 경우 해당 오류를 찾을 때 번거로워질 수가 있다. 때문에 오늘은 워크시트의 행 번호가 표시되게 하는 방법을 알아보자. - 방법 1 첫번째 방법은 굉장히 간단하다. 워크시트 행 번호가 표시되는 부분에 우클릭을 하면 위와 같은 선택창이 뜨게 되며, 여기서 행 번호 토글을 누르면 바로 현재 워크시트의 행 번호가 아래와 같이 나타나게 된다. - 방법 2 두번째 방법은 환경설정에서 항상 표시되게 끔 설정하는 방법이다. SQL Developer의 상단에 보면 도구라는 항목..
2021.02.27 -
2021-02-26 - 정의 집합론에서, 곱집합(곱集合, 영어: product set , product) 또는 데카르트 곱(Descartes곱, 영어: Cartesian product 카티지 언 프로덕트)은 각 집합의 원소를 각 성분으로 하는 튜플들의 집합이다. (출처 : 위키백과) 말은 굉장히 거창하고 어려워 보인다. 하지만 위의 이미지를 한 번 보자. A를 구성하는 집합은 (x, y, z) B를 구성하는 집합은 (1, 2, 3)인 것을 확인할 수 있다. 이후 이 둘은 곱하면 이 두 집합 간 구성원들이 만날 수 있는 모든 경우의 수로 새로운 테이블을 만들어지는 것을 확인할 수 있다. - 예제 이제 SQL 내부에서의 카티션 프로덕트를 알아보자. 우선 곱하기 위해 준비한 두 가지의 테이블을 보자 ( 아래 ..
[Oracle SQL] SQL 카티션 프로덕트(Cartesian Product)2021-02-26 - 정의 집합론에서, 곱집합(곱集合, 영어: product set , product) 또는 데카르트 곱(Descartes곱, 영어: Cartesian product 카티지 언 프로덕트)은 각 집합의 원소를 각 성분으로 하는 튜플들의 집합이다. (출처 : 위키백과) 말은 굉장히 거창하고 어려워 보인다. 하지만 위의 이미지를 한 번 보자. A를 구성하는 집합은 (x, y, z) B를 구성하는 집합은 (1, 2, 3)인 것을 확인할 수 있다. 이후 이 둘은 곱하면 이 두 집합 간 구성원들이 만날 수 있는 모든 경우의 수로 새로운 테이블을 만들어지는 것을 확인할 수 있다. - 예제 이제 SQL 내부에서의 카티션 프로덕트를 알아보자. 우선 곱하기 위해 준비한 두 가지의 테이블을 보자 ( 아래 ..
2021.02.26 -
2021-02-23 - 정의 외래 키(FOREIGN KEY) 외래 키는 다른 릴레이션(테이블)의 기본키(PRIMARY KEY)를 참조하는 칼럼(속성) 또는 이러한 속성들의 집합이다. 여기서의 외래 키 값은 참조하고 있는 릴레이션의 기본키에 없는 내용을 참조할 수 없으며, NULL 값을 가질 수 있다. 이를 참조 무결성(Referential Integrity)이라고 한다. 이러한 외래 키는 다른 릴레이션과의 관계를 표현할 때 사용한다. 오늘은 이와같은 외래 키를 선언하는 방법을 알아보도록 하자. - 예제( 참조할 기본키가 있는 테이블 ) CREATE TABLE CLIENTINFO ( NAME VARCHAR2(20), AGE NUMBER -- 나이는 0 보다 크고 150 보다는 작다 CONSTRAINT CH..
[Oracle SQL] 오라클 외래 키(FK) 정의와 사용법 알아보기.2021-02-23 - 정의 외래 키(FOREIGN KEY) 외래 키는 다른 릴레이션(테이블)의 기본키(PRIMARY KEY)를 참조하는 칼럼(속성) 또는 이러한 속성들의 집합이다. 여기서의 외래 키 값은 참조하고 있는 릴레이션의 기본키에 없는 내용을 참조할 수 없으며, NULL 값을 가질 수 있다. 이를 참조 무결성(Referential Integrity)이라고 한다. 이러한 외래 키는 다른 릴레이션과의 관계를 표현할 때 사용한다. 오늘은 이와같은 외래 키를 선언하는 방법을 알아보도록 하자. - 예제( 참조할 기본키가 있는 테이블 ) CREATE TABLE CLIENTINFO ( NAME VARCHAR2(20), AGE NUMBER -- 나이는 0 보다 크고 150 보다는 작다 CONSTRAINT CH..
2021.02.23 -
2021-02-22 - 단축키 모음 ( SQL ) CTRL + S : SQL 워크시트 파일 저장 CTRL + F : 검색 CTRL + C : 선택된 행 복사 CTRL + F : 검색(특정 단어 클릭후 해당 단축키 누르면 모두 검색됨) CTRL + SHIFT + D : 위의 한행 복사 붙여 넣기 ALT + SHIFT + D : 한 줄 삭제 CTRL + F7 : 선택된 영역 정렬 CTRL + R : 테이블 새로고침(테이블 선택하고) TAB : 내어쓰기 SHIFT + TAB : 들어 쓰기 CTRAL + A : 전체선택 ALT + F10 : 데이터베이스 접속 선택창 생성 CTRL + SHIFT + D (스크립트 출력 클릭후) : 스크립트 출력창 지우기 ( 추가적인 유용한 단축키 발견시 게시글 지속 수정 예정)
[Oracle SQL] 오라클 유용한 단축키 알아보기.2021-02-22 - 단축키 모음 ( SQL ) CTRL + S : SQL 워크시트 파일 저장 CTRL + F : 검색 CTRL + C : 선택된 행 복사 CTRL + F : 검색(특정 단어 클릭후 해당 단축키 누르면 모두 검색됨) CTRL + SHIFT + D : 위의 한행 복사 붙여 넣기 ALT + SHIFT + D : 한 줄 삭제 CTRL + F7 : 선택된 영역 정렬 CTRL + R : 테이블 새로고침(테이블 선택하고) TAB : 내어쓰기 SHIFT + TAB : 들어 쓰기 CTRAL + A : 전체선택 ALT + F10 : 데이터베이스 접속 선택창 생성 CTRL + SHIFT + D (스크립트 출력 클릭후) : 스크립트 출력창 지우기 ( 추가적인 유용한 단축키 발견시 게시글 지속 수정 예정)
2021.02.22 -
2021-02-20 기존의 기본키가 정해진 테이블에 기본키를 삭제해야 하거나 변경을 해야 하는 경우가 있는데, 이럴 경우 어떠한 방식으로 해당 기본키를 삭제하고 재설정할 수 있는지 알아보도록 하자. - 예제 기존의 기본키를 생성하던 테이블을 다시 재활용하여 사용하겠다. CREATE TABLE INFO ( INFONO NUMBER CONSTRAINT PKINFONO PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); 기존의 예제와 다른 점은 CONSTRAINT 키워드가 추가된 점이다. 이는 제약조건에 명시적인 이름을 부여함으로써 선언된 제약조건을 조금 더 쉽게 관리할 수 있도록 도움을 주게 된다. 사용방법으로는 제약조건을 적용하기 전 제일 앞에 CONSTRAINT를 붙여준 후..
[Oracle SQL] 오라클 기본키의 삭제 수정 하는 방법2021-02-20 기존의 기본키가 정해진 테이블에 기본키를 삭제해야 하거나 변경을 해야 하는 경우가 있는데, 이럴 경우 어떠한 방식으로 해당 기본키를 삭제하고 재설정할 수 있는지 알아보도록 하자. - 예제 기존의 기본키를 생성하던 테이블을 다시 재활용하여 사용하겠다. CREATE TABLE INFO ( INFONO NUMBER CONSTRAINT PKINFONO PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); 기존의 예제와 다른 점은 CONSTRAINT 키워드가 추가된 점이다. 이는 제약조건에 명시적인 이름을 부여함으로써 선언된 제약조건을 조금 더 쉽게 관리할 수 있도록 도움을 주게 된다. 사용방법으로는 제약조건을 적용하기 전 제일 앞에 CONSTRAINT를 붙여준 후..
2021.02.20 -
2021-02-19 - 정의 기본키는 테이블을 구성하는 여러 후보 키들 중에서 선택되어 테이블의 각 튜플(행 / 데이터)을 식별하는 역할을 하게 된다. 여기서 기본키는 UNIQUE이기 때문에 유일성이라는 특징을 가지고 있으며, 또한 NOT NULL의 속성도 가지고 있어 NULL의 값도 허용하지 않는다. 오늘은 이러한 기본키를 선언하는 방법을 알아보자. - 방법 1 CREATE 첫번째 방법은 테이블의 선언과 동시에 기본키를 부여 (설정) 하는 방법이다. -- 컬럼선언과 함께 기본키 설정 CREATE TABLE INFO ( INFONO NUMBER PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); ------------------------------- DROP TABLE I..
[Oracle SQL] 오라클 기본키의 정의와 선언하는 방법2021-02-19 - 정의 기본키는 테이블을 구성하는 여러 후보 키들 중에서 선택되어 테이블의 각 튜플(행 / 데이터)을 식별하는 역할을 하게 된다. 여기서 기본키는 UNIQUE이기 때문에 유일성이라는 특징을 가지고 있으며, 또한 NOT NULL의 속성도 가지고 있어 NULL의 값도 허용하지 않는다. 오늘은 이러한 기본키를 선언하는 방법을 알아보자. - 방법 1 CREATE 첫번째 방법은 테이블의 선언과 동시에 기본키를 부여 (설정) 하는 방법이다. -- 컬럼선언과 함께 기본키 설정 CREATE TABLE INFO ( INFONO NUMBER PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); ------------------------------- DROP TABLE I..
2021.02.19 -
2021-02-18 DB 사용간 하나의 워크시트 이외에 다른 워크시트가 필요할 경우가 간간히 있는데, 오늘은 추가적인 워크시트를 만드는 방법을 알아보자. - 신규 워크시트 초기에 시작페이지를 닫은 후 아무것도 없는 화면일 경우가 있는데, 그럴 경우 단순히 자신이 사용하고자 하는 DATABASE를 더블클릭해주면 곧 바로 새로운 워크시트가 생성된다. - 새로운 워크시트 기존의 워크시트에서 사용하는 데이터베이스 이외의 추가적인 데이터 베이스가 있다면 마찬가지로 더블클릭하면 워크시트가 생성된다. 다만 하나의 데이테 베이스를 사용하는데, 이 데이터베이스의 워크시트를 추가적으로 만들고 싶은 경우가 있을 수가 있는데, 이경우도 간단히 해결이 가능하다. 방법은 아래와 같다. 기존에 사용하던 데이터베이스를 우클릭 하면 ..
[Oracle SQL] 오라클 새로운 워크시트 만드는 방법2021-02-18 DB 사용간 하나의 워크시트 이외에 다른 워크시트가 필요할 경우가 간간히 있는데, 오늘은 추가적인 워크시트를 만드는 방법을 알아보자. - 신규 워크시트 초기에 시작페이지를 닫은 후 아무것도 없는 화면일 경우가 있는데, 그럴 경우 단순히 자신이 사용하고자 하는 DATABASE를 더블클릭해주면 곧 바로 새로운 워크시트가 생성된다. - 새로운 워크시트 기존의 워크시트에서 사용하는 데이터베이스 이외의 추가적인 데이터 베이스가 있다면 마찬가지로 더블클릭하면 워크시트가 생성된다. 다만 하나의 데이테 베이스를 사용하는데, 이 데이터베이스의 워크시트를 추가적으로 만들고 싶은 경우가 있을 수가 있는데, 이경우도 간단히 해결이 가능하다. 방법은 아래와 같다. 기존에 사용하던 데이터베이스를 우클릭 하면 ..
2021.02.18 -
2020-11-23 오늘은 mysql 연동 시 발생하는 문제에 발생에 대하여 알아보겠다. 우선적으로 아래와 같이 자신의 프로젝트에 Build Path를 통해 Referenced Libraries에 정상적으로 mysql-connector jar 파일이 들어갔는지부터 확인 바란다. 내가 접한 오류는 아래와 같다. (This is deprecated. . . . .) (The sever time zone value . . . . is unrecognized . . . . . .) 보는것과 같이 막대한 양의 오류 메시지 중에 눈에 띄는 두 가지가 있다. 현재 나의 드라이버가 URL과 타임존에 오류가 있다는 것 같다. (뭐 사실.. 오류 메시지에 비해서 해결법은 매우 간단하다.) 이와 같은 오류는 mysql의 버..
[MySQL] 이클립스 JDBC / MySQL 연동오류 해결법2020-11-23 오늘은 mysql 연동 시 발생하는 문제에 발생에 대하여 알아보겠다. 우선적으로 아래와 같이 자신의 프로젝트에 Build Path를 통해 Referenced Libraries에 정상적으로 mysql-connector jar 파일이 들어갔는지부터 확인 바란다. 내가 접한 오류는 아래와 같다. (This is deprecated. . . . .) (The sever time zone value . . . . is unrecognized . . . . . .) 보는것과 같이 막대한 양의 오류 메시지 중에 눈에 띄는 두 가지가 있다. 현재 나의 드라이버가 URL과 타임존에 오류가 있다는 것 같다. (뭐 사실.. 오류 메시지에 비해서 해결법은 매우 간단하다.) 이와 같은 오류는 mysql의 버..
2020.11.17 -
2020-10-31 오늘 알아볼 명령문은 DATABASE 사용간 가장 많이 사용하게 될 SELECT이다. SELECT은 우리가 필요한 정보를 손쉽게 추출하는 기능을 수행하게 되는데, 그 기초적인 사용법을 알아보도록 하자. 우선 기존에 사용하던 테이블을 그대로 사용하도록 하겠다. (기존 예제가 필요하면, 아래 링크를 활용하자.) seeminglyjs.tistory.com/143?category=1157571 [MySQL] INSERT를 이용한 TABLE에 값 간단히 넣는법! 2020-10-23 오늘은 TABLE에 구체적인 데이터를 집어넣는 방법을 알아보도록 하자. 예제는 아래 링크에 기존에 만들어둔 TABLE을 가지고 진행하겠다. 예제 링크 seeminglyjs.tistory.com/141 (위와 같이 사..
[MySQL] SELECT문 이용법 및 기초적인 활용법을 알아보자!2020-10-31 오늘 알아볼 명령문은 DATABASE 사용간 가장 많이 사용하게 될 SELECT이다. SELECT은 우리가 필요한 정보를 손쉽게 추출하는 기능을 수행하게 되는데, 그 기초적인 사용법을 알아보도록 하자. 우선 기존에 사용하던 테이블을 그대로 사용하도록 하겠다. (기존 예제가 필요하면, 아래 링크를 활용하자.) seeminglyjs.tistory.com/143?category=1157571 [MySQL] INSERT를 이용한 TABLE에 값 간단히 넣는법! 2020-10-23 오늘은 TABLE에 구체적인 데이터를 집어넣는 방법을 알아보도록 하자. 예제는 아래 링크에 기존에 만들어둔 TABLE을 가지고 진행하겠다. 예제 링크 seeminglyjs.tistory.com/141 (위와 같이 사..
2020.10.31 -
2020-10-26 이름과 같은 정적인 데이터도 존재하겠지만, 나이와 같은 경우는 해가 지날 때마다 +1 씩 늘어가는 동적인 데이터이다. 때문에 이와 같은 데이터들을 최신화해주어야 하는데, 그 기능을 수행하는 것이 바로 UPDATE이다. 때문에 이와 같은 UPDATE를 이용해 전에 사용하던 테이블 정보를 최신화해보도록 하겠다. 예제 링크 seeminglyjs.tistory.com/143 초기 값을 보면 HONG 의 나이 25세 / KIM의 나이 33세 / KOKO의 나이 23세 / YOU의 나이 46세 인 것을 알 수 있는데, 2020년에서 2021년으로 넘어가 +1씩 더해 주어야 하는 경우라고, 가정해보자. 사용법이 간단하기 때문에 바로 아래의 코드를 확인해보자. mysql> UPDATE a SET O..
[MySQL] UPDATE를 이용한 TABLE값 최신화 하는 법!2020-10-26 이름과 같은 정적인 데이터도 존재하겠지만, 나이와 같은 경우는 해가 지날 때마다 +1 씩 늘어가는 동적인 데이터이다. 때문에 이와 같은 데이터들을 최신화해주어야 하는데, 그 기능을 수행하는 것이 바로 UPDATE이다. 때문에 이와 같은 UPDATE를 이용해 전에 사용하던 테이블 정보를 최신화해보도록 하겠다. 예제 링크 seeminglyjs.tistory.com/143 초기 값을 보면 HONG 의 나이 25세 / KIM의 나이 33세 / KOKO의 나이 23세 / YOU의 나이 46세 인 것을 알 수 있는데, 2020년에서 2021년으로 넘어가 +1씩 더해 주어야 하는 경우라고, 가정해보자. 사용법이 간단하기 때문에 바로 아래의 코드를 확인해보자. mysql> UPDATE a SET O..
2020.10.26 -
2020-10-23 오늘은 TABLE에 구체적인 데이터를 집어넣는 방법을 알아보도록 하자. 예제는 아래 링크에 기존에 만들어둔 TABLE을 가지고 진행하겠다. 예제 링크 seeminglyjs.tistory.com/141 (위와 같이 사용할 데이터베이스 설정과 테이블이 정상적으로 들어가 있는지 체크를 우선적으로 해주자.) 우선 테이블에서 넣어야 할 데이터는 3종류이다. NAME VARCHAR(10) NOT NULL / SEX VARCHAR(1) / OLD INT(3) NULL이며, 이름과 성은 문자를 입력해주고 나이는 정수 값을 입력해주면 된다. 코드는 아래와 같다. (성의 경우 CHECK(SEX = 'F' OR SEX = 'M')); 와 같은 조건을 고려해서 넣어주어야 한다.) mysql> INSERT ..
[MySQL] INSERT를 이용한 TABLE에 값 간단히 넣는법!2020-10-23 오늘은 TABLE에 구체적인 데이터를 집어넣는 방법을 알아보도록 하자. 예제는 아래 링크에 기존에 만들어둔 TABLE을 가지고 진행하겠다. 예제 링크 seeminglyjs.tistory.com/141 (위와 같이 사용할 데이터베이스 설정과 테이블이 정상적으로 들어가 있는지 체크를 우선적으로 해주자.) 우선 테이블에서 넣어야 할 데이터는 3종류이다. NAME VARCHAR(10) NOT NULL / SEX VARCHAR(1) / OLD INT(3) NULL이며, 이름과 성은 문자를 입력해주고 나이는 정수 값을 입력해주면 된다. 코드는 아래와 같다. (성의 경우 CHECK(SEX = 'F' OR SEX = 'M')); 와 같은 조건을 고려해서 넣어주어야 한다.) mysql> INSERT ..
2020.10.23 -
2020-10-21 모두 아래와 같은 MY SQL Command Line Client 가 설치가 됐다는 가정하에 만드는 법을 설명하도록 하겠다. 해당 프로그램을 실행해보면 위와같이 cmd 화면과 같은 창이 뜰 텐데, 자신이 노란색으로 표시된 사각형처럼 정해둔 password를 입력하면, "Welcome to the MySQL monitor. Commands end with ; or \g. " 문구가 뜨며, 이는 정상적으로 프로그램 실행이 된 것이다. 이후 DATABASE를 만들어 주어야 하는데, 명령문은 아래와 같다. (DATABASE 이름은 아무거나 해도 상관없다.) CREATE DATABASE test; CREATE는 말그대로 생성한다는 의미를 가지고 있다. 뒤에 생성하고자 하는 X와 그 뒤 X의 이..
[MySQL] TABLE을 만드는 방법을 쉽게 알아보자!2020-10-21 모두 아래와 같은 MY SQL Command Line Client 가 설치가 됐다는 가정하에 만드는 법을 설명하도록 하겠다. 해당 프로그램을 실행해보면 위와같이 cmd 화면과 같은 창이 뜰 텐데, 자신이 노란색으로 표시된 사각형처럼 정해둔 password를 입력하면, "Welcome to the MySQL monitor. Commands end with ; or \g. " 문구가 뜨며, 이는 정상적으로 프로그램 실행이 된 것이다. 이후 DATABASE를 만들어 주어야 하는데, 명령문은 아래와 같다. (DATABASE 이름은 아무거나 해도 상관없다.) CREATE DATABASE test; CREATE는 말그대로 생성한다는 의미를 가지고 있다. 뒤에 생성하고자 하는 X와 그 뒤 X의 이..
2020.10.21