# Database

    [MySql] 대용량 테스트 데이터 생성하기

    주제 프로시저를 이용한 더미 데이터 생성 1. 프로시저를 이용한 더미 데이터 생성 use kingpiggy_study; /* * 더미 데이터 생성 예제 * */ -- DROP TABLE IF EXISTS `tb_kpg_code_group` -- DROP TABLE IF EXISTS `tb_kpg_code` -- DROP TABLE IF EXISTS `tb_kpg_items` -- TRUNCATE `tb_kpg_code_group`; -- TRUNCATE `tb_kpg_code`; -- TRUNCATE `tb_kpg_items`; -- 1. Create Table CREATE TABLE `tb_kpg_code_group` ( `code_group_id` bigint(20) NOT NULL AUTO_INCR..

    [MySql] 랜덤 날짜 구하기 쿼리 모음

    출처 : ChatGpt -- datetime 으로 오늘 날짜 기준으로 365일 기간 동안의 랜덤으로 날짜 조회 SELECT DATE_ADD(NOW(), INTERVAL FLOOR(RAND() * 365) DAY) AS random_datetime; -- 'yyyy-MM-dd' 형식으로 오늘 날짜 기준으로 365일 기간 동안의 랜덤으로 날짜 조회 SELECT DATE_FORMAT(DATE(NOW() - INTERVAL FLOOR(RAND() * 365) DAY), '%Y-%m-%d') AS random_date; -- 'yyyy-MM-dd' 형식으로 올해 1월 1일에서 12월 31일 기간 동안의 랜덤으로 날짜 조회 SELECT DATE_FORMAT(DATE(MAKEDATE(YEAR(NOW()), 1) + ..

    SQL vs NoSQL

    SQL 스키마를 준수 관계가 존재함 수직적 확장(서버 성능 향상) NoSQL 스키마 없음 관계 없음 수평적 향상(서버 추가) 데이터정합성이 보장되어야함 vs 낮은 지연 시간, 가용성이 중요한 SNS 시스템 데이터베이스 확장에 있어서 유연성이 필요한가 엄격한 스키마를 준수해야하는가 Read, Write의 빈도, 응답속도 Update가 필요한 데이터인가 등을 따져서 저장될 DB를 선택한다. 참고 https://velog.io/@thms200/SQL-vs-NoSQL SQL vs NoSQL SQL, NoSQL의 차이에 대해 알아보자.SQL, NoSQL을 언급할 땐 각 단어 뒤에 DB를 붙여야겠다는 생각을 했다.SQL, NoSQL 비교하기 위해 자료를 구글링하면SQL은 관계형 DB, NoSQL은 그와 반대되는 비..

    [SQL 구문] 차집합 (LEFT OUTER JOIN 이용)

    SELECT A.test FROM _test AS A LEFT OUTER JOIN _test2 AS B ON A.id = B.id WHERE B.id IS NULL A - (A,B 교집합)

    [SQL구문] Delete records with table join

    DELETE A FROM _EmpInfo AS A JOIN _Emp AS B ON A.EmpSeq = B.EmpSeq /* DELETE 별칭 FROM 지울테이블 AS 별칭 JOIN 조인할테이블 ON 조건절 */ B 테이블과 조인시켜 해당되는 A 테이블의 레코드들을 지운다.

    [SQL] 기본키 채번, 마스터-디테일 채번, Serl 구조의 채번

    🌸 기본 키의 구성 고유한 데이터를 식별하기 위해 테이블에는 기본 키가 존재해야 한다. 이때 기본 키를 어떻게 구성하는가에 따라 테이블의 관계를 표현할 수 있다. 크게 3개의 형태에 대해 키를 구성하는 방법에 대해 알아본다. 기본 키가 단일 키로 구성될 때(순번) 마스터 - 디테일 구조(부모의 순번을 갖고 자식의 순번을 채번) 마스터 - 디테일 구조(부모의 순번으로 일련번호를 채번) 1. 기본 키가 단일 키로 구성될 때 위와 같은 테이블이 있을 때, Key 값에 대해 채번을 한다. 1. 삽입할 데이터를 정렬시킨다. 2. 기존 테이블 키값의 Max값을 가져온다. 3. 삽입할 데이터들의 키값을 Max+1 부터 채번한다. // 위의 테이블의 경우 다음 데이터는 5부터 채번 2. 마스터 - 디테일 구조(부모의 ..

    [MS SQL] 월요일 날짜를 리턴하는 SQL

    select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --현재달의 첫째날 구하기 select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) -- ★ 현재주의 월요일 구하기 select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) --현재해의 첫째날 구하기 select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0) --현재분기의 첫째날 구하기 select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0) --현재날의 자정주의 구하기 select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate() ), 0)) --지난달의 마지막날 구하..

    SELECT 구문 작성 순서, 작동 순서

    SELECT 공부 내용 문법 작성 순서 SELECT 컬럼 FROM 테이블 WHERE 조건 GROUP BY 컬럼 HAVING ORDER BY 쿼리 작동 순서 FROM ON JOIN WHERE GROUP BY CUBE | ROLLUP HAVING SELECT DISTINCT ORDER BY TOP 자주 사용하는 쿼리로만 보면 조회 테이블 확인 FROM 조건절 대입 WHERE 그룹화 GROUP BY 그룹 조건 HAVING 추출 SELECT 정렬 ORDER BY 공부한 곳 https://jdm.kr/blog/91

    [MS SQL] 날짜 변환표

    번호쿼리 결과코드 0 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM 1 CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY 2 CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD 3 CONVERT(CHAR(8), DATETIME, 3) 02/01/00 DD/MM/YY 4 CONVERT(CHAR(8), DATETIME, 4) 02.01.00 DD.MM.YY 5 CONVERT(CHAR(8), DATETIME, 5) 02-01-00 DD-MM-YY 6 CONVERT(CHAR(8), DATETIME, 6) 02 01 00 DD MM YY 7 CONVERT(CHAR(9..