본문 바로가기

DATABASE

(8)
IN 절 안에 있는 id 값 대로 데이터 정렬하기 보통 쿼리를 실행하면 아래와 같이 ASC로 정렬되어 결과가 조회된다. //쿼리 SELECT id, name FROM table WHERE id IN (1, 3, 2, 4, 5, 7, 6); //결과 id | name ---+------- 1 | Byeon 2 | John 3 | Jane 4 | Peter 5 | Mary 6 | David 7 | Susan 그래서 하고 싶은 게 뭔데? WHERE id IN (1, 3, 2, 4, 5, 7 ,6) 아래 IN 절에 기입된 ID 기준으로 정렬을 해서 보고 싶다. //쿼리 SELECT id, name FROM table WHERE id IN (1, 3, 2, 4, 5, 7, 6); ORDER BY array_position(ARRAY[1, 3, 2, 4, 5, 7..
psql 명령어를 사용하여 원격지 DataBase 복원해보기 먼저 psql 명령어 사용을 위해 postgresql 서버를 설치한다. (클라이언트 도구가 포함되어 있음 #psql) brew install postgresql리눅스 환경의 경우 클라이언트 도구를 설치 할 수 있음 sudo apt-get install postgresql-clientpsql을 사용하여 Database 복원을 하기위한 명령어 필요 psql -h -p -U -d -f 원격지 DB는 도커에서 실행 중인 postgresql DB로 가정한 명령어 psql -h localhost -p 5432 -U myuser -d mydatabase -f /path/to/backup.sql
Redis에서 Hash 타입 명령어 모음! Key 관련 명령어 HDEL: Hash 타입에서 하나 이상의 필드를 삭제합니다. HEXISTS: Hash 타입에 특정 필드가 존재하는지 확인합니다. HKEYS: Hash 타입의 모든 필드 이름을 반환합니다. HLEN: Hash 타입의 필드 개수를 반환합니다. HMGET: Hash 타입에서 하나 이상의 필드에 대한 값을 반환합니다. HMSET: Hash 타입에서 하나 이상의 필드에 대한 값을 저장합니다. HSET: Hash 타입에서 하나의 필드에 대한 값을 저장합니다. HSETNX: Hash 타입에서 필드가 존재하지 않을 때만 값을 저장합니다. HVALS: Hash 타입의 모든 값을 반환합니다. 값 관련 명령어 HGET: Hash 타입에서 하나의 필드에 대한 값을 반환합니다. HINCRBY: Hash 타입..
Excluded 명령어는 언제사용하는가? Excluded 명령어는 언제 사용하는가? 개발을 하다보면 INSERT, UPDATE를 동시에 하는 쿼리를 작성할 경우가 있는데요, PostgreSql에서는 ON CONFLICT (id) DO 라는 구문을 통해 ORACLE의 Merge와 같이 INSERT, UPDATE를 가능하게 합니다. 구문을 통해서 알아 보도록 하자 // 1. Update 구문제 그대로 메핑 INSERT INTO user (id, email) VALUES ('id', 'email') ON CONFLICT(id) DO UPDATE SET email = 'email' //2. excluded 사용 INSERT INTO user (id, email) VALUES ('id', 'email') ON CONFLICT(id) DO UPDATE S..
PostgreSQL 살펴보자 PostgerSQL 이란? postgreSQL은 캘리포니아 대학교 버클리 컴퓨터 공학과에서 개발된 POSTGRE 버전 4.2 기반으로 하는 객체 관계형 데이터베이스 관리 시스템 입니다. 많은 개발자들이 오픈 소스에 기여하고 있으며 무료 라이센스로 인해 개인, 상업 학술 모든 목적으로 누구나 무료로 사용할 수 있습니다. PostgreSQL 간략한 역사 The Berkeley POSTGRES Project Postgres95 PostgreSQL [아래에서 확인] https://www.postgresql.org/docs/14/history.html 2. A Brief History of PostgreSQL 2. A Brief History of PostgreSQL 2.1. The Berkeley POSTGRE..
Docker에서 Redis설치해서 바로 사용하기! Docker는 설치가 되어있다고 과정한다. Docker에 Redis 설치 docker pull redis Redis Network 구성 docker network create redis-net //redis cli를 같이 구동하기 위해 network 구성 Docker 실행 appendonly 옵션을 통해 데이터를 파일로 관리해서 전원이 종료 되어도 데이터가 사라지지 않도록 함 docker run --name whydda-redis \ -p 6379:6379 \ --network redis-net \ -v /Users/whydda/workspace/opensources/redis:/data \ -d redis redis-server --appendonly yes Redis cli로 접속 docker run..
MYSQL 값으로 정렬하기(mysql order by value)! 보통 최신의 값으로 정렬을 많이하지면 특이한 경우에는 특정 값으로 정렬이 필요한 경우가 생긴다. Oracle의 경우에는 decode 라는 함수를 써서 했던것으로 기억 하고 있었으나 오랜만에 Mysql을 사용하는 저로서는 조금 힘든 부분이 있었다. 다행이 Mysql 에도 FIELD 라는 예약어를 사용하여 정렬 하는 방법이 있었다. 어떻게 사용하나? 예를 들어 코인 거래소를 운영한다고 생각하자. 현재 코인 테이블 상태 SELECT * FROM my_coins ; 기본 정렬 순서 SELECT * FROM my_coins ORDER BY evaluation_amount DESC, bookmark ASC ; 요청 사항이 들어왔다고 가정하다 비트코인, 이더리움은 가지고 있지 않아도 표시 되어야하고 가장 상위에 노출..
몽고디비란? 몽고디비란? 비관계형 데이터베이스 이며 NoSQL 또는 Not Only SQL이라고 한다. NoSQL을 주목하는 이유와 관계형 데이터베이스 와 다른점? 관계형 데이터 베이스는 신뢰도는 높지만 SQL문을 읽어들이고 실행하는데 많은 리소스를 사용합니다. 이 때문에 성능이 떨어지는 경우가 많습니다. 이에 반해 NoSQL은 성능을 최우선으로 생각하기 때문에 실시간으로 처리해야 하는 경우나 대용량 트래픽을 감당할 수 있는 메세징 시스템 등에 활용됩니다. 특히 클라우드 서비스로 서버를 구성하는 경우가 많아지면서 많은 사용자를 수용하거나 시스템 자원을 적게 소모하는 NoSQL 데이터베이스에 점점더 관심을 갖게 되었습니다. 몽고디비에서 컬렉션이란? 데이터가 모인 하나의 단위를 컬렉션이라 하고 컬렉션에는 컬럼의 형태로 ..