ROWNUM ORACLE의 테이블 내용에 순번을 출력하기 위해 사용하는 가상컬럼 중 하나입니다. 테이블의 SELECT문 출력 할 때, 순번이 필요할 때 주로 이용합니다. 특히 DB 관리자 및 관계자 외에 SEQUENCE가 보통 NUMBER로 순번을 나타낼 때가 있지만, 이를 감추기 위해 사용하거나 혹은 일반사람들이 이용하는 게시판의 순번을 알리기 위해서도 사용되기도 합니다. 🏁 순번을 사용하는 이유 🖊️ 중요한 PK를 감추기 위해서 🖊️ 순번을 테이블로 보관할 경우, 중간의 정보가 삭제될 경우 순번이 띄어 넘는 문제가 발생됩니다. 이를 방지하기 위함. ORACLE에서 ROWNUM 기본 사용 방법 ROWNUM은 ORACLE에서 사용하는 가상화 컬럼 중 하나입니다. ROWNUM의 사용방법은 먼저 크게 두 가..
SQL 접속 오류 ORACLE을 설치하고 나서, sql plus로 제대로 된 설치를 확인하는 과정이다. 초기 패스워드로 접속해 보았지만, 제대로 된 실행이 되지 않는 모습이다. 이를 위해서 여러 해결 방법을 조사하는 도중 쉽게 해결할 수 있는 방법을 찾았다. 원인은 설치 후 혹은 OS부팅 후 Oracle이 제대로 실행 되지 않은 원인이다. 즉, oracle을 시작하면 된다. Window에서 Oracle 실행하기 시작의 실행에서 service 혹은 서비스 검색을 해본다. 서비스에서 Oracle 실행 여부 확인해보기 Window 화면에서 Oracle이 실행여부를 확인해 보자. 만약, 이 부분이 실행이 안 되어 있다면, 마우스 우클릭으로 실행을 확인해 보면 된다. 🎶 서비스에서 목록을 찾기 어려 울 때, 찾고..
COALESCE 설명 NULL을 사용하지 않기 위해 사용하는 함수이다. 해당 함수를 사용하기 위해서는 최소 2개의 값이 필요하다. COLAESCE 사용할 때, 괄호 안의 값은 최소 2개여야 한다. 행을 위에서 부터 아래로 읽을 때, 해당 컬럼이 NULL 일 경우, NULL 대신 사용 문자가 표시되는 원리이다. COALESCE 사용하기 해당 테이블은 4개의 행을 가진 테이블이다. 이 테이블의 값을 활용하여, 함수의 테스트를 진행할 예정이다. COALESCE(컬럼명1, NULL 대신 사용 문자) SELECT COALESCE(COL2, 'NULL 체크') FROM TB_BLUE; COL2가 NULL인 값이 'NULL 체크'로 대신 값이 나온 것을 확인할 수 있다. NULL 체크 함수인 것을 확인 할 수 있다...
IN에 대한 설명 SELECT * FROM [테이블 명] WHERE 컬럼명 IN ('조건 값 1', '조건 값 2'); equals('=')과 비슷하지만 or의 개념과 유사하다고 할 수 있다. 해당 테이블 내의 검색하고자 하는 컬럼의 값을 2개 이상 조회 할 때 이용하는 연산자이다. '조건값 1'과 '조건 값 2' 중 하나라도 포함이 되면 true가 된다. 실험 대상의 TABLE 더보기 CREATE TABLE create table TB_RED ( RED_COL1 int auto_increment, RED_COL2 int , RED_COL3 VARCHAR(30) , CONSTRAINT TB_RED_pk PRIMARY KEY (RED_COL1) ) comment '첫 번째 테이블'; 실험에 참가 된 테이블..
출처 - 김영한 강의 https://www.inflearn.com/course/ORM-JPA-Basic/dashboard 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 초급자를 위해 준비한 [웹 개발, 백엔드] 강의입니다. JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자 www.inflearn.com H2 설치하기 JPA를 설치하기 위해서는 H2가 필요하게 되었습니다. https://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main..
Window에서 비밀번호 찾기 1. MariaDB 종료 윈도를 사용하는 기준으로 설명드리겠습니다. 1. [Window Key] + [R] 누르면 윈도 실행창이 생성됩니다. 2. services.msc 입력합니다. 해당 명령어를 입력하게 되면, 서비스창이 생성되는 것을 확인할 수 있습니다. 혹은 시작에서 '서비스' 검색해도 같은 결과가 나오는 것을 확인할 수 있습니다. 여기서 실행중인 MariaDB를 찾아서 우클릭으로 종료 눌러줍니다. 2. MariaDB 경로 찾기 여기서 많이 헤맬 수 있습니다. C:\Program Files\MariaDB 10.11\bin 기본 설치경로는 위와 같으며, 설치할 때 어느 경로에 했을지는 사용자에 따라 다를 수 있습니다. 제 MariaDB 위치는 위의 경로하고 동일합니다. ..
ㅇㅇ Oracle에서 사용한 컬럼 찾기 SELECT TAB.TABLE_NAME, COM.COMMENTS, COL.COLUMN_NAME, COL.DATA_LENGTH FROM all_tables TAB LEFT JOIN ALL_TAB_COMMENTS COM ON TAB.TABLE_NAME = COM.TABLE_NAME AND TAB.OWNER = COM.OWNER LEFT JOIN ALL_TAB_COLUMNS COL ON COL.TABLE_NAME = TAB.TABLE_NAME AND COL.OWNER = TAB.OWNER LEFT JOIN USER_COL_COMMENTS COL_COM ON COL.COLUMN_NAME = COL_COM.COLUMN_NAME AND COL_COM.TABLE_NAME = T..
ORACLE, 분기함수 사용 분기함수 SELECT 컬럼1 FROM TABLE명 위의 TABLE안에 컬럼1의 값이 무엇이 들어있는지는 알 수 없다. 그러나 컬럼1에 대한 결괏값을 갖고 카운트 함수를 사용하게 되었을 때, 분기함수는 매우 도움이 될 수 있다. DECODE -1 DECODE(컬럼값, 'Y', 1, 0); DECODE 함수는 다음과 같다. DECODE(대상1, 대상2, TRUE, FALSE) 대상1과 대상2가 같을 경우 세 번째 함수가 표시, 다를 경우 네 번째 함수가 표시된다. 위와 같은 경우 컬럼값이 'Y'일 경우 1, 아닐 경우 0을 표시한다. DECODE -2 DECODE(비교1, 비교2, '첫번째TRUE', 비교3, '두번째TRUE', '첫번째FALSE'); 두 번째 DECODE의 사용..
ORACLE, NULL 처리 방법 NULL SELECT COLUM FROM TABLE SQL의 검색을 했을 때, NULL이 나오는 경우가 있다. NULL은 말 그대로 '없다'라는 의미인데 SQL에서는 '공백' 또한 데이터가 없다는 의미를 갖고 있지만 NULL은 아무것도 모르는 상태를 의미한다. NULL은 사람들이 데이터가 존재하지 않을 때를 사용하기도 하지만, 상황에 따라서는 '데이터의 존재 유무'와 데이터 상태 '모름' 또한 정보의 일부이므로 상황에 따라 적절히 활용하는 것이 매우 좋다. 단, NULL은 최대한 비우는 것이 매우 현명하다. 만약 상황에 따라 어쩔수 없이 NULL을 사용하게 되었다면, 아래의 방법 2가지 중 하나를 선택하면 된다. NVL, NULL일 경우 특정 값으로 변환 NVL(컬럼, ..
DataBase, Character 설정하기 DB Character 설정하기 alter database mollang default character set = UTF8; 먼저 만들어진 DB에 관해서 Character 설정하는 방법은 다음과 같다. 모든 Table의 기본설정을 적용하기 위해 사용한다.
MariaDB, DB 복구하기 복구하기 위해 필요한 자료 DB가 날아가지 않았어도, 실행되지 않으면 백업을 할 수가 없다. 프로그램으로도, dump로도 접근이 불가능한 참사가 이루어진다. 보통 접속 못 하는 이유에 대해서는 여러 가지 문제가 있지만, db백업이 필요한 시점에서는 설정값을 건드는 것 또한 쉽지 않다. 건드는 순간 안의 데이터가 어떻게 될지 모르기 때문이다. 따라서, DB를 백업하기 위해서는 최소한 DB의 저장 위치를 확보해야 한다. 보통 DB는 /var/lib/mysql 안에 자신의 db명으로 들어있다. 여기에는 procedure, function 같은 PL은 들어있지 않다. frm은 Table의 Column값이 들어있다. ibd는 Table의 insert 내용이 들어있다. dbsake 설..
MariaDB 설정하기 cd /etc/my.cnf.d/ vi server.cnf MariaDB가 정상적으로 설치가 되었다면, 위의 명령을 통해 MariaDB 설정파일을 접속할 수 있다. 이곳을 통해서, 서버 내의 MariaDB를 설정이 가능하다. 설정 목록 max_connection - 최대 동시 접족자 수 늘어날수록 메모리가 증가되고, 스케줄링 오버헤드가 증가된다. connect_timout - Mysqld 서버가 패킷과 연결하기 위해 대기하는 시간기본값 10초 wait_timeout - 서버가 데이터 패킷과 연결된 후 연결을 유지하는 시간기본값 : 8시간, max_allowed_packet - 허용 패킷 크기기본값 16MB이며, 최대값은 1GB이다.규모 이상으로 큰 File을 전달 받았을 때, Mar..