테이블에 있는 데이터를 삭제할때는 DELETE문을 사용합니다. 기본 사용법은 아래와 같습니다. DELETE문 기본형태 --DELETE문 DELETE FROM 테이블명 WHERE 조건; DELETE문의 사용법은 위와같습니다. 회사테이블 (COMPANY_TABLE)에 회사코드(COMPANY_CODE)가 1인 데이터삭제 DELETE FROM COMPANY_TABLE WHERE COMPANY_CODE = 1 DELETE문은 위와같은 방식으로 사용하시면 됩니다. DELETE문을 사용하실때에 WHERE절이 잘 명시되었는지 확인하셔야 합니다. WHERE절에 조건을 명시하지않으면 테이블에 있는 전체 데이터의 컬럼 값이 삭제됩니다. 데이터 변경을 실수 했을 경우 대처법 데이터 삭제 실수는 종종 일어납니다. 당황스럽겠지만..
테이블에 있는 데이터를 수정할때는 UPDATE문을 사용합니다. 기본 사용법은 아래와 같습니다. UPDATE문 기본형태 --UPDATE문 UPDATE 테이블명 SET 컬럼1 = 변경할 값, 컬럼2 = 변경할 값 ..... WHERE 조건; UPDATE문 사용법은 위와같습니다. 회사테이블 (COMPANY_TABLE)에 회사코드(COMPANY_CODE)가 1인 데이터의 회사이름(COMPANY_NAME)을 '삼성전자'로 변경 UPDATE COMPANY_TABLE SET COMPANY_NAME = '삼성전자' WHERE COMPANY_CODE = 1 UPDATE문은 위와같은 방식으로 사용하시면 됩니다. UPDATE문을 사용하실때에 주의점은 WHERE절을 잘 확인하셔야 합니다. WHERE절에 조건을 명시하지않으면 ..
테이블에 데이터를 입력할때는 INSERT문을 사용합니다. 기본 사용법은 아래와 같습니다. INSERT문 기본 형태 INSERT INTO 테이블명 ( 컬럼1, 컬럼2, 컬럼3 ) VALUES ( 값1, 값2, 값3 ) 가장 기본적인 형태의 INSERT문입니다. 하지만 위와같은 방식으로 데이터를 삽입할때에는 나열된 컬럼과 값의 타입, 갯수가 일치하여야 합니다. 그렇지 않다면 에러가 납니다. 그리고 컬럼의 위치와 값의 위치가 조금이라도 어긋난다면 원치않는 컬럼에 원치않는 데이터가 INSERT되는 불상사가 발생할 수 있습니다. 회사테이블 (COMPANY_TABLE)에 회사코드(COMPANY_CODE) = 1 회사이름(COMPANY_NAME) = '삼성전자' 업종(SECTORS) = 'IT' 데이터 삽입 INSE..
오라클에서 데이터를 조회하는 명령어는 SELECT입니다. 기본 사용법은 아래와 같습니다. SELECT문 기본형태 SELECT 컬럼 FROM 테이블 WHERE 조건 ORDER BY 컬럼 SELECT문을 말로 표현하자면 어떤 컬럼을 들고올것인지 어디서 들고올것인지? FROM 어떤데이터를 가지고 올것인지? WHERE 어떤 컬럼을 기준으로 정렬할것인지? ORDER BY로 구분될 수 있습니다. 회사 테이블 (COMPANY_TABLE) 의 모든 데이터를 조회 SELECT * FROM COMPANY_TABLE 가장 기본적인 구조의 SELECT문입니다. 테이블에 있는 모든 데이터의 컬럼을 조회하려면 컬럼명을 일일히 나열할 필요없이 * 을 사용하시면 됩니다. 회사 테이블(COMPANY_TABLE)에서 업종(TYPE)이 ..
파티션 테이블이란? 파티션이란 테이블에 있는 특정 컬럼값을 기준으로 데이터를 분할해 저장해놓은 테이블입니다. 이때 논리적인 테이블은 1개이지만 물리적으로는 분할한 만큼 파티션이 만들어져 입력되는 컬럼 값에 따라 분할된 파티션별로 데이터가 저장됩니다. 파티션 테이블을 만드는 목적은 대용량 테이블의 경우 데이터 조회 시 효율성과 성능을 높이기 위한 것입니다. 파티션 테이블 만들기 예제 create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number, state varchar2(2) ) partition by..
시노님(Synonym)이란? 데이터베이스 객체는 각자 고유한 이름이 있습니다. 이 객체들에 대한 동의어를 만드는것이 바로 시노님입니다. 한마디로 객체에게 가명을 주는것이라고 생각하면 되며 ALIAS와 비슷합니다. 다만 ALIAS는 1회성인 반면 시노님(Synonym)은 영구적이라고 볼 수 있습니다. 보통 다른 유저의 객체를 참조할 때 많이 사용을 합니다. 실제로 시노님을 사용하는 목적은 다른 유저의 객체를 사용할때 유저의 이름과 객체의 실제이름을 사용하는데 그 두개를 감춤으로써 데이터베이스의 보안을 개선하기위해 사용되어집니다.시노님에는 PUBLIC과 PRIVATE타입이 있습니다. PUBLIC은 모든 사용자가 접근할 수 있고 PRIVATE는 특정사용자에게만 참조가 가능합니다. 시노님(Synonym)생성 -..
시퀀스(Sequence)란? 시퀀스란 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체입니다. 보통 PK값에 중복값을 방지하기위해 사용합니다. 예를들어 게시판에 글이 하나 추가될때마다 글번호(PK)가 생겨야 한다고 해보겠습니다. 만약 100번까지 글 번호가 생성되어있다면 그 다음 글이 추가가 되었을 경우 글 번호가 101으로 하나의 ROW를 생성해주어야 할것입니다. 이때 101이라는 숫자를 얻으려면 기존 글번호중 가장 큰 값에 +1을 하는 로직을 어딘가에 넣어야하는데 시퀀스를 사용하면 이러한 로직이 필요없이 데이터베이스에 ROW가 추가될때마다 자동으로 +1을 시켜주어 매우 편리합니다. 시퀀스(Sequence) 생성 --문법 CREATE SEQUENCE [시퀀스명] INCREMENT BY [증..
인덱스(Index)란? 인덱스는 데이터베이스 테이블에 있는 데이터를 빨리 찾기 위한 용도의 데이터베이스 객체이며 일종의 색인기술입니다. 테이블에 index를 생성하게 되면 index Table을 생성해 관리합니다. 인덱스는 테이블에 있는 하나이상의 컬럼으로 만들 수 있습니다. 가장 일반적인 B-tree 인덱스는 인덱스 키(인덱스로 만들 테이블의 컬럼 값)와 이 키에 해당하는 컬럼 값을 가진 테이블의 로우가 저장된 주소 값으로 구성됩니다. 인덱스(Index) 사용 예시 인덱스 생성 --문법 CREATE INDEX [인덱스명] ON [테이블명](컬럼1, 컬럼2, 컬럼3.......) --예제 CREATE INDEX EX_INDEX ON CUSTOMERS(NAME,ADDRESS); --예제 컬럼 중복 X CR..
오라클 샘플 테이블 & 데이터 만들기 예제 오라클에서 제공하는 샘플 테이블 및 데이터입니다. 쿼리문 연습용으로 활용하시면 좋습니다. 아래에 있는 스크립트를 복사하여 실행시켜 테이블을 만들고 / 데이터를 넣으시면 됩니다. 혹여나 에러가 나시면 가장 마지막에 있는 테이블 Drop 스크립트를 실행시켜주세요. https://www.oracletutorial.com/getting-started/oracle-sample-database/ 샘플 테이블 ERD 샘플 테이블의 구조는 아래사진과 같으니 참고해주시기 바랍니다. Create Table (테이블 생성) Insert Data (데이터 삽입) Drop Table (테이블 삭제) 스크립트가 길어 텍스트파일로 첨부합니다. 해당 텍스트파일을 다운받으시고 안에있는 SQL..
뷰(View)란 무엇인가? 뷰(View)는 하나 이상의 테이블이나 다른 뷰의 데이터를 볼 수 있게 하는 데이터베이스 객체입니다. 실제 데이터는 뷰를 구성하는 테이블에 담겨 있지만 마치 테이블처럼 사용할 수 있습니다. 또한 테이블 뿐만 아니라 다른 뷰를 참조해 새로운 뷰를 만들어 사용할 수 있습니다. 뷰(View)의 사용 목적 코딩을 하다보면 여러개의 테이블에서 필요한 정보를 뽑아 사용할때가 많습니다. 이때 좀 더 편리하게 사용할 수 있는 방법중의 하나가 바로 뷰입니다. 뷰를 사용하면 복잡한 질의를 쉽게 만들어 줍니다.. 여러테이블의 JOIN과 GROUP BY 같은 같은 복잡한 쿼리를 view로 저장시켜놓으면 다음부터는 저장한 view의 정보만 가져오면 되므로 쉽게 좀 더 편리하게 사용할 수 있습니다. 일..
데이터 타입 데이터 타입이란 컬럼이 저장되는 데이터 유형을 말합니다. 오라클에서 기본적으로 제공하는 기본 데이터 타입과 이 기본데이터 타입을 혼합하여 만들 수 있는 사용자 정의 데이터 타입으로 구분할 수 있습니다. 기본 데이터 타입은 문자형, 실수, 소수, 자료형 등의 여러 데이터를 식별하는 타입입니다. 문자 데이터 타입 데이터타입 설명 CHAR(n) 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte VARCHAR2(n) 가변길이 문자 / 최대 4000BYTE / 디폴트 값은 1byte NCHAR(n) 고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte NVARCHAR(n) 가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴..
테이블의 갯수가 점점 많아지다보면 어떠한 기능을 만들때 어떤 테이블을 써야하는지 어떤 테이블을 조인해야하는지 모르는 경우가 많습니다. 이럴때 활용할 수 있는 방법이 전체 테이블 목록을 보면서 찾는법, 코멘트를 찾는법 컬럼을 찾는법등이 있습니다. 오늘은 이러한 방법에 대해 소개해드리려 합니다. 전체 테이블 목록 조회 --전체 테이블 목록 조회 select * from all_all_tables select * from dba_tables select * from all_objects where object_type = 'TABLE' --접속 계정 테이블 조회 select * from tabs select * from user_objects where object_type = 'TABLE' select * ..
오래간만에 오라클과 오라클 디벨로퍼을 설치해서 접속하려는데 에러가 터졌습니다. Listener refused the connection with the following error : ORA-12505, TNS: listener does not currently know of SID given in connect descriptor 이라는 에러인데요. 해석하자면 리스너는 현재 연결 디스크립터에 제공된 SID를 알 수 없어 연결을 거부했습니다. 라는 뜻이네요. 접속 정보가 잘못된 모양입니다. Listener refused the connection with following error 오류 해결! 구글링 해보니 오라클 12c부터는 기본 SID가 orcl이더군요. 하지만 오라클 디벨로퍼에서 기본 접속 SID..