쿼리
-
PostgreSQL Data type (데이터타입 정리)NULL STACK 2019. 5. 21. 09:37
abstime : 절대 날짜와 시간 aclitem : 엑세스 제어 목록 아이템 bool : 부울런(논리) 값 box : 2차원 사각형 bytea : 가변길이의 바이트 배열 bpchar : 공백 채움 문자 char : 문자 char2 : 2 문자의 배열 char4 : 4 문자의 배열 char8 : 8문자의 배열 char16 : 16문자의 배열 cid : 명령 식별 타입 date : ANSI SQL 데이터 타입 datetime : 범용 날짜와 시간 filename : 거대 객체의 파일이름 int2 : 부호있는 2바이트 정수 int28 : int2의 8 배열 int4 : 부호있는 2바이트 정수 float4 : 단정도 부동소수 float8 : 배정도 부동소수 lseg : 2차원 선 구간 money : 고정 정밀..
-
nodejs 시퀄라이즈 where절에 or사용하기NULL STACK 2019. 5. 15. 17:29
node 시퀄라이즈 사용중 where절에서 or사용하기 where절에서 원하는 조건을 쓰다가 or절이 필요할 때 Sequelize.Op.or로 적어주면 괄호로 연산한다음 다른 조건과 AND로 처리해 준다. return this.findAll({ attributes: [ items, names, num, ], where: { items, [Sequelize.Op.or]: [{ names: 1, }, { num: 1, }], }, });
-
mysql insert시 중복값 처리 두가지 (중복시 업데이트)NULL STACK 2019. 4. 26. 10:22
1. PK가 있을 경우 ( ON DUPLICATE KEY UPDATE ) (insert sql) + ON DUPLICATE KEY UPDATE + 컬럼명1 = ?, 컬럼명2=?; id : PK 해당 PK가 테이블에 있을때 변경을 원하는 컬럼을 뒤에 나열해준다. 테이블에 PK가 없으면 앞의 데이터를 넣어주는듯. sql = 'insert into table01 (`id`,`name`,`age`) values ( ?, ?, ? ) ON DUPLICATE KEY UPDATE name = ?, age = ? '; 2. PK가 없을 경우 ( NOT EXISTS ) 해당 데이터가 없으면 데이터를 입력해준다. sql = 'INSERT INTO likes(id,name) SELECT ?, ? FROM DUAL WHERE..
-
mysql 다른 데이터베이스의 3개 테이블 조인하기NULL STACK 2018. 9. 4. 15:10
0. db1에 있는 A와 B, db2에 있는 C 1. 기본 테이블A의 컬럼명 : 번호 , 아이디 . 2. 조인할 테이블 B의 컬럼명 : 아이디 , 이름 3.조인할 테이블2 C의 컬럼명 : 아이디 , 이름 4. A의 아이디를 사용하는 사람의 이름을 출력하고싶음. >> select 번호,아이디,COALESCE(b.이름,c.이름) from db1.A a left join db1.B b on a.아이디=b.아이디 left join db2.C c on a.아이디=c.아이디
-
mysql 중복데이터 제거하기NULL STACK 2018. 9. 4. 11:13
1. 중복된 데이터를 모두 보여주는 쿼리 select * from 테이블명 A, (select * from 테이블명 GROUP by 중복데이터가있는컬럼명 (a.k.a. 컬럼명) having count(컬럼명)>2) B where A.컬럼명 = B.컬럼명; 2. 중복된 데이터를 삭제하는 쿼리 (데이터가 하나 남는다.) delete from 테이블명 where 고유값컬럼명 not in ( select 고유값컬럼명 from ( select 고유값컬럼명 from 테이블명 group by `중복데이터가있는컬럼명`) as 고유값컬럼명);