반응형

DATABASE 18

[MongoDB] 기본적인 데이터 수정

데이터 수정 데이터를 수정하려면 update 메소드를 사용한다 /* name이 eatnows인 데이터의 age의 값을 25로 수정 */ db.컬렉션이름.update( {name: "eatnows"}, {$set: {age: 25} })document를 아예 새로운 document로 대체하고 싶을때는 $set연산자를 사용하지 않으면 된다. /* name이 eatnows인 값을 name은 victory, age는 1로 변경 */ db.컬렉션이름.update( { name: "eatnows" }, { "name" : "victory", age: 1} )데이터의 값은 완전 변경이 되었지만 데이터의 id값은 변경이 되지 않고 동일하다. field 삭제 특정 field의 값을 삭제할 경우 $unset이라는 연산자를..

DATABASE/MongoDB 2020.07.28

[MongoDB] 데이터 조회

데이터 조회 db.컬렉션이름.find([query], [projection])컬렉션에 등록된 데이터들을 조회할 수 있다. document의 값이 키-밸류가 여러개일 경우 보기 불편해지는데 그땐 뒤에 .pretty()를 붙여주면 멀티라인으로 출력이 된다. query 조회를할 때 조건을 줄 수 있다. 에) db.컬렉션이름.find({"name": "eatnows"}) 비교같은 경우 쿼리연산자를 사용할 수 있다. 예) 100보다 큰 데이터 조회 db.컬렉션이름.find({"value": {$gt: 100 } }) projection 내가 보고싶은 데이터의 값만 조회할 수 있게 해준다. db.컬렉션이름.find( {}, {"_id":false, "title":true} ) $slice연산자를 이용해 조회를 할때..

DATABASE/MongoDB 2020.07.28

[MongoDB] 기본 명령어 (db, collection, document 생성 제거)

MongoDB 기본 명령어 MongoDB 설치는 이 포스트에는 설명되어 있지 않습니다. MongoDB 서버 실행 mongodmongod를 하면 서버를 실행할 수 있다. 기본 포트는 27017. 'connections on port 27017' 이라는 문구가 나온다면 실행이 된것이다. 클라이언트로 접속 mongo사용할 데이터 베이스 선택 use 데이터베이스이름존재하지 않은 db도 선택할 수 있다. 선택한다고 db가 생성되는것은 아니다. 해당 db에 데이터가 추가가 되면 비로소 생성이 된다. 데이터 베이스 목록 조회 show dbs현재 데이터 베이스의 목록을 확인할 수 있다. 데이터 베이스 제거 db.dropDatabase()현재 선택된 데이터 베이스가 삭제한다. 반드시 삭제할 데이터 베이스를..

DATABASE/MongoDB 2020.07.28

NoSQL 이란?

NoSQL NoSQL이 무엇의 약자인지 No SQL, Not Only SQL, Non-Relational Operational Database SQL 등 많은 의견이 있지만 Not Only SQL이라는 설이 가장 유력하다 배경 지난 수년간 관계형 데이터베이스가 사용되어 왔지만, 빅데이터등 기술이 발전함에 있어 관계형 데이터베이스의 데이터 처리 비용이 증가되었고 관계형 데이터베이스에 대한 여러 대안을 찾게되었다. 비정형데이터라는 것을 보다 쉽게 저장하고 처리할 수 있는 구조를 가진 데이터베이스들이 관심을 받게 되었고 해당 기술이 발전하면서 NoSQL 데이터베이스가 각광을 받게 되었다. NoSQL 특징 데이터간의 관계를 정의하지 않는다. JOIN 사용불가 스키마가 없어 데이터를 다양하게 자유롭게 관리 Ope..

DATABASE 2020.07.27

[ORACLE] 프로시저(PROCEDURE) 생성, 호출

특정한 로직을 수행하기만 하고 결과 값을 반환하지 않는 서브 프로그램이다. 보통 프로그래밍 언어의 function과 유사한 점이 있다. PL/SQL에서는 대표적으로 2가지의 서브 프로그램이 있는데, 함수(function)와 프로시저(procedure)이다. 프로시저로 생성한 로직은 DB안에 저장되기 때문에 DB내에서는 언제든지 프로시저를 실행하여 저장한 로직을 실행할 수 있는 장점이 있다. 프로시저 생성 CREATE OR REPLACE PROCEDURE 프로시저명 (파라미터 [IN || OUT || IN OUT] 데이터타입...) IS 변수 선언, 값 대입 BEGIN 코드 END; 파라미터와 같은 인자가 있어도 생성가능하고 없어도 생성가능하다. 파라미터가 있을시 반드시 파라미터의 데이터타입도 설정해주어야..

DATABASE/Oracle 2020.02.08

[ORACLE] 커서(CURSOR) 종류, 생성, 사용

SQL 문장을 처리한 결과를 가지고 있는 메모리를 영역을 가리키는 포인터이다. SQL문의 사용결과 행이 여러개 일때 커서를 사용하면 행에 순차적으로 접근이 가능하다. 커서의 종류는 2가지가 있으며 SQL문이 실행될때 자동으로 생성되고 실행되는 암시적 커서와 사용자가 직접 정의해서 사용하는 명시적 커서가 있다. 커서의 종류 1. 암시적 커서 오라클에서 실행되는 모든 SQL문장은 암시적 커서가 생성된다. SQL문이 실행되는 순간 자동으로 실행된다. 암시적 커서 속성 SQL%FOUND : 해당 SQL문에 의해 반환된 행수가 1개 이상이면 TRUE SQL%NOTFOUND : 해당 SQL문에 의해 반환된 행수가 더이상 없을 경우 TRUE SQL%ISOPEN : PL/SQL에서는 FALSE 값을 가지고 있다. (암..

DATABASE/Oracle 2020.02.07

[ORACLE] 기본적인 뷰 생성, 수정, 조회, 삭제

뷰는 하나 이상의 테이블이나 뷰 데이터를 볼 수 있는 데이터베이스 객체이다. 실제 데이터가 저장되는것은 아니지만 뷰를 통해서 관리를 할 수있다. 쉽게말해 가상 테이블이라고 생각하면 된다. 여러개의 테이블에서 필요한 정보를 추합하여 사용할 때가 있다. 이때 뷰를 사용하면 간단한 쿼리로 결과를 얻을 수 있다. 여러 테이블의 복잡한 쿼리를 뷰로 저장시켜 놓으면 저장한 뷰의 검색을 통해 데이터를 얻을 수도 있어 편리하게 사용할 수 있다. 뷰(VIEW) 생성 및 수정 서브쿼리를 이용하여 테이블을 사용하는 법과 굉장히 유사하다. -- 예1) 생성 및 수정이 가능하다. CREATE OR REPLACE VIEW 뷰명 AS SELECT 칼럼 FROM 테이블명; -- 예2) 생성만 가능하다. CREATE VIEW 뷰명 A..

DATABASE/Oracle 2020.02.06

[ORACLE] 시퀀스(SEQUENCE) 생성, 수정, 조회, 사용

기본키와 같은 값이 절대 없어서는 안될 데이터들을 값을 추가할때마다 중복되지 않는 값을 찾아 넣는다는건 데이터양이 많으면 많을수록 쉽지 않은 일이 될것이다. 이러한 경우 오라클에서는 시퀀스를 이용하여 값을 자동으로 줄 수 있다. 시퀀스란 자동으로 값을 증가시켜 반환하는 데이터베이스 객체이다. 보통 PRIMARY KEY의 값을 생성하기위해 많이 사용한다. 사용자가 정의한 숫자부터 증감될 값을 정하여 그 값만큼 자동으로 증감한다. 시퀀스(SEQUENCE) 생성 -- 가장 기본적인 문법 CREATE SEQUENCE 시퀀스명 START WITH 시작숫자 INCREMENT BY 증감숫자; -- 그 외에 속성들 CREATE SEQUENCE 시퀀스명 START WITH 시작숫자 INCREMENT BY 증감숫자 [NO..

DATABASE/Oracle 2020.02.06

[ORACLE] CONSTRAINT 제약조건 생성,삭제, PRIMARY KEY, UNIQUE, NOT NULL, FOREIGN KEY, CHECK, DEFAULT

제약조건은 컬럼에 대한 속성을 정의하는것이고, 테이블의 부적절한 데이터가 입력되는 것을 방지하기 위해 정의한 규칙이다. 데이터의 무결성을 보호하기 위해 사용한다. 제약조건은 데이터베이스의 객체로 고유의 이름을 지정해주어야 한다. 따로 지정하지 않으면 시스템에서 자동으로 이름을 지정해준다. 제약조건에 대해 오류가 났을때 제약조건에 이름이 오류내용에 출력되는데 오라클에서 자동으로 지정해준 이름이기때문에 코드번호로 적혀있어 외우고 있지 않은 이상 알 수가 없다. 사용자가 특정한 이름을 지정해준다면 오류가 발생한 제약조건에 대해 더 빨리 찾을 수 있을 것이다. 제약조건 이름 지정하기 -- 예시 1) CREATE TABLE TEST( id NUMBER(5) CONSTRAINT pk_id PRIMARY KEY, n..

DATABASE/Oracle 2020.02.05

[ORACLE] 기본적인 OUTER JOIN (외부 조인)

OUTER JOIN 외부 조인이라고도 불리며 join을 했을떄 조건에 맞지 않는 데이터를 표시하고 싶을때 OUTER JOIN을 사용한다. (조건을 만족하지 못하여 매칭되는 데이터가 없을경우 NULL값으로 표시한다.) 연산자로 (+)를 사용하며 조인시킬 값이 없는 쪽에 위치 시키면 된다. PK와 FK로 조인을 했을경우 FK 쪽으로 위치하면 되고 표현식에서 한 편에만 위치할 수 있다. SELECT 컬럼명1, 컬럼명2, 테이블2.컬럼명3 FROM 테이블1, 테이블2 WHERE 테이블1.컬럼명1(+) = 테이블2.컬럼명2; -- NULL값의 데이터만 출력하고 싶을 경우 SELECT 컬럼명1, 컬럼명2, 테이블2.컬럼명3 FROM 테이블1, 테이블2 WHERE 테이블1.컬럼명1(+) = 테이블2.컬럼명2 AND ..

DATABASE/Oracle 2020.02.04
반응형