728x90
반응형

mysql 8

[MySQL] 여러 테이블 합쳐서 SELECT하기 - JOIN ~ ON ~

데이터베이스에서 게시글 정보를 꺼낼 때 '게시글'이라는 한 테이블이 게시글에 대한 모든 정보를 갖고있지 않는다. 예를 들면 우리가 한 게시글을 보면 게시글의 제목, 내용 뿐만 아니라 게시글을 쓴 사람, 게시글의 첨부파일, 게시글에 대한 좋아요수 등 완전 직접적이진 않은(?) 정보 또한 보여주고 있다. 이 게시글의 모든 정보를 데이터베이스에서 꺼낼 때 [게시글] 테이블엔 게시글의 '제목', '내용' 을 갖고있고 [유저] 테이블에 게시글을 쓴 '사람 정보' [게시글 좋아요] 테이블에 게시글과 좋아요 한 사람의 매칭되는 정보가 들어있다. 그리고 클라이언트가 게시글 정보 조회를 요청하면 서버는 이 세 테이블의 내용을 합쳐서 응답 데이터로 보내줘야 한다. 여기서 두가지 방법이 있다 1) 데이터베이스에서 세 테이블..

IT/SQLD 2023.11.01

MySQL의 여러 테이블에서 선택하는 방법

GROUP BY food를 사용하여 여러 테이블에서 선택 JOIN을 사용하여 MySQL의 여러 테이블에서 선택 GROUP_CONCAT()를 사용하고 MySQL에서 결과를 조작합니다 이 가이드에서는 MySQL을 사용하여 단일 스크립트의 여러 테이블에서SELECT를 쿼리하는 방법을 보여줍니다. Powered By Play Unmute Loaded: 1.17% Fullscreen 하나의 시나리오를 시연 해 보겠습니다. SELECT name, price, details, type, FROM food, food_order WHERE breakfast.id = 'breakfast_id' 이제 각FROM 항목에 대한 샘플 테이블을 상상해 보겠습니다. food food_idnamepriceoptions 1 Eggs 1..

IT/SQLD 2023.11.01

[mysql] 월별통계방법!! (데이터 없는 날짜 0 처리 방법)

안녕하세요. 오늘은 통계를 위한 월별통계 쿼리를 알아보겠습니다. 예를들어 올해인 2021년의 월별통계를 구하기 위해서는 group by를 해야하는데 데이터가 없는 경우 group by에서 빠지게 됩니다. 이것을 처리하려하는데.....저는 어찌어찌 처리했지만 먼가 억지스러운 느낌이 납니다...ㅜㅜ 더 좋은 방법 있으면 댓글로 공유해주세요!! 저의 구현방법입니다. 1. 10년치날짜더미데이터 테이블 생성 2. 구하고자하는 테이블과 left join 1. 10년치날짜더미데이터 테이블 생성 더미 데이터 생성 날짜 테이블을 생성하기 위한 더미 테이블을 생성하고 값을 1을 넣어줍니다. create table t (n int); insert into t values (1); 그리고 더미 데이터를 생성해줍니다... 10..

IT/SQLD 2023.05.22

[DATABASE/SQL] WHERE절에 NOT 사용하기 , 특정 값을 제외한 조회

예제 테이블) with school as ( select '1' as 학년, '쉬시' as 이름, 70 as 점수 from dual union all select '3','용띠' ,54 union all select '3','이웃집청소' ,72 union all select '1','붜워' ,10 union all select '2','윤띵' ,50 union all select '3','츄밍뜨' ,60 union all select '2','BackSengWon' , 15 union all select '2','동탄' ,90 union all select '3','듀탄퐁', 0 ) select * from school; 문제) NOT을 이용하여 학년이 1학년이 아닌 학생들의 레코드를 조회 하세요 wit..

IT/SQLD 2023.05.22

MySQL 에서 JSON Data사용하기

MySQL 5.7.8 부터 DBMS 차원에서 JSON 데이타를 지원합니다. JSON 을 다루는 방법을 기록 관리 차원에서 정리해 봅니다. 먼저 JSON 데이타 처리 테스트를 위한 Sample 테이블을 생성합니다. CREATE TABLE employees ( id integer AUTO_INCREMENT primary key, name VARCHAR(200), profile JSON ); SQL Copy SQL JSON 데이타 입력 DB 에 insert 시 JSON 형식으로 입력하면 나중에 json path 나 json 관련 함수를 사용해서 처리할 수 있습니다. 문자열로 JSON 만들어서 입력 The JSON Data Type - https://dev.mysql.com/doc/refman/5.7/en/js..

IT/SQLD 2023.04.04

윈도우 서비스 등록,삭제,시작,중지,조회

윈도우 서비스 등록,삭제,시작,중지 간단히 윈도우 서비스 등록하고 삭제하는 방법에 대해 포스팅하고자 합니다. cmd 창에서 간단히 sc 명령어를 통해 윈도우 서비스를 등록,삭제,시작,중지 할 수 있습니다. sc.exe는 Service Controller의 약자입니다. 1. 윈도우 서비스 등록 sc create [서비스명] binpath= [서비스 파일 경로] 서비스명이나 경로에 공백이 있다면 당연히 따옴표로 묶어줘야 하겠지요. 예시로 mysql 서비스를 윈도우에 등록해보겠습니다. MYSQL이라는 이름으로 서비스가 등록되었습니다. ※ binpath= 뒤에 공백을 입력해줘야 합니다. 등호와 등호 사이에는 공백이 한칸 있어야 합니다. 윈도우 서비스에도 등록되어 있음을 확인할 수 있습니다. ( cmd창에서 se..

IT/Windows 2023.02.14

[MySQL] SELECT문 WHERE절 정규식 검색 (REGEXP)

(1) OR를 쓴 검색문을 정규식 검색문으로 바꾸기 SELECT * FROM test_table WHERE name LIKE '돼지' OR name LIKE '꿀꿀이'; SELECT * FROM test_table WHERE name REGEXP '^(돼지|꿀꿀이)$'; SELECT * FROM test_table WHERE name LIKE '%돼지%' OR name LIKE '%꿀꿀이%'; SELECT * FROM test_table WHERE name REGEXP '돼지|꿀꿀이'; OR로 이어 붙인 조건문 2개(또는 여러 개)를 REGEXP로 정규 표현식을 쓴 조건문 1개로 바꾸어 나타낼 수 있다. (2) 영문 로마자 1자 또는 2자로 시작하는 값 찾기 SELECT * FROM test_table ..

IT/SQLD 2022.12.30

Database/MySQL, MariaDBMySQL 백업, 복원 비교 (xtrabackup/mysqldump)

MySQL 백업/복원 방식특징장점/단점 핫 백업 (Hot Backup/Open Backup) DB 서버를 온라인 상태로 유지한 채 데이터 백업 - 데이터베이스 서버를 중지하지 않고 백업 가능 - 트랜잭션, 스냅샷, 로그 등을 이용하여 실시간 백업 - Archive Log 모드에서만 백업을 수행할 수 있음 - 디스크 용량이 추가로 요구될 수 있음 - 핫 백업 도구를 사용할 때의 비용이 발생할 수 있음 콜드 백업 (Cold Backup/Close Backup) DB 서버를 중지한 후 데이터 백업 - 쉬운 백업이 가능함 - 데이터 백업을 요청한 시기 이후의 데이터는 백업할 수 없음 (따라서 일부 데이터 손실이 발생할 수 있음) 논리 백업 (Logical Backup) 각 오브젝트를 SQL문 등으로 저장 - 데..

IT/SQLD 2022.06.08
728x90
반응형