본문 바로가기

반응형
MySQL
반응형
19

[Error] Table '테이블명(table name)' is marked as crashed and should be repaired 해결방법!!(테이블 깨짐 현상) 관리자의 통계 페이지가 나오지 않는 현상이 있어서 확인해봤더니 아래와 같은 에러가 발생하였습니다. Table '테이블명(table name)' is marked as crashed and should be repaired 처음보는 에러... 또 다른 시험이군요 ㅜㅜㅜㅜㅜㅜㅜ 이런식으로 데이터베이스의 테이블이 뷰 표시로 나타나게됩니다. 확인해보기 위해서 mysql에 들어가 테이블을 체크해보았습니다. 명령어 : check table 테이블명; 예) check table tbl_menu_log; 영어를 몰라 번역기로 확인해보니.. 크기가 초과로 인해서 테이블이 충돌된 원인으로 에러가 발생하였네요!! 확실히 로그 테이블이라서 데이터가 많다보니 발생한 에러였습니다.. | cbdamoa.tbl_menu_log | .. 2021. 11. 11.
[Query] Join 속도 개선 방법 (feat. SubQuery) 안녕하세요. 오늘은 조인 쿼리의 성능을 개선하는 것을 이야기해보려 합니다. 사실 아직까진 sql 지식이 많이 없고 부족해서 올리지 않을려고 했던 부분이지만.. 혹여 저처럼 잘 모르는 분들을 위해 간단하게나마 올립니다. 서브쿼리에는 대표적으로 SELECT절 / FROM절 / WHERE절이 있습니다. 말 그대로 각각의 해당 부분에 쿼리문에 또 다른 쿼리문을 적용하는 것인데 필요한 쿼리만을 함축하여 속도를 개선할 수 있습니다. 여기서는 크게 두 가지 부분을 가지고 속도 개선을 확인 할 수 있습니다. SELECT절 FROM절 예를들어 tbl_A, tbl_B, tbl_C 이렇게 3개의 테이블을 조인할 경우는 흔히 아래와 같이 사용합니다. 하지만 아래 부분은 tbl_A, tbl_B, tbl_C 테이블에서 모든 컬럼.. 2021. 4. 13.
[MYSQL] 더미데이터 생성 쿼리!! (2021년 11월 10일 더미데이터 생성 방법을 하나 더 추가하였습니다.) 안녕하세요. 더미데이터 만들기 위한 쿼리를 생성하여 합니다. 더미데이터란, 유용한 데이터가 포함되어 있지 않지만 공간을 예비해두어 실제 데이터가 명목상 존재하는 것처럼 다루는 유순한 정보를 의미 라고 하네요. 쉽게 말해서 무언가를 테스트할때 임시로 데이터를 만든다고 보시면 됩니다. 예를들어 페이징을 하기 위해서는 게시글이 많아야하는것처럼 말이죠! 첫번째 방법입니다. 게시판테이블의 모습입니다. 데이터가 아무것도 들어가 있지 않죠. 아래 쿼리를 실행합니다. DELIMITER $$ DROP PROCEDURE IF EXISTS loopInsert$$ CREATE PROCEDURE loopInsert() BEGIN DECLARE i IN.. 2021. 3. 31.
[mysql] 테이블명세서 추출 쿼리 정리!! mysql workbench에서 쿼리를 이용하여 이용하여 테이블 명세서 만드는 방법을 이야기해보겠습니다. 우선 테이블명세서가 먼지 알아보고 가죠. 테이블명세서란, '각 테이블의 사용목적, 이름, 작성자, 비고사항 등의 테이블에 대한 기록 뿐만 아니라 테이블에 포함된 각 컬럼의 이름, 데이터 타입 및 제약조건을 기록한 문서양식을 말한다' 라고 하네요. 한마디로 테이블이 어떻게 이루어져 있고 테이블 안에 내용들이 먼지를 글로 표현한 것이라 할 수 있겠네요. 보통은 프로젝트 시, 클라인트에게 제출할 자료 중 하나로 사용되며 특별한 작성형식은 없습니다. 저의 데이터메이스 이름, 즉 스키마는 'website' 입니다. 워크벤치 명령창에 쿼리를 넣어줍니다. 쿼리가 엄청 길지만 신경쓰지 않으셔도 됩니다. 중간에 주황.. 2021. 3. 11.
[mysql] 월별통계방법!! (데이터 없는 날짜 0 처리 방법) 안녕하세요. 오늘은 통계를 위한 월별통계 쿼리를 알아보겠습니다. 예를들어 올해인 2021년의 월별통계를 구하기 위해서는 group by를 해야하는데 데이터가 없는 경우 group by에서 빠지게 됩니다. 이것을 처리하려하는데.....저는 어찌어찌 처리했지만 먼가 억지스러운 느낌이 납니다...ㅜㅜ 더 좋은 방법 있으면 댓글로 공유해주세요!! 월별통계방법!! (데이터 없는 날짜 0 처리 방법) 더미 데이터 생성 1 create table t (n int); cs 날짜 테이블을 생성하기 위한 더미 테이블을 생성하고 1 insert into t values (1); cs 값을 1을 넣어줍니다. 1 insert into t select * from t cs 그리고 더미 데이터를 생성해줍니다... 10년치 데이터만.. 2021. 2. 25.
pring 홈페이지 - (5) 데이터베이스(Mysql) 설치 Mysql & Workbench 설치방법 안녕하세요. 스프링 웹 개발 프로젝트를 위한 데이터베이스 설치를 해보겠습니다. 웹개발에 있어, 데이터를 저장하기 위한 데이터베이스는 반드시 필요한 도구입니다. 여기에서는 데이터베이스 중, 'mysql'을 사용할 예정이며, mysql 개발환경을 제공하는 설계 도구인 'workbench' 또한 설치해 보겠습니다. 우선 Mysql 다운로드 페이지로 들어갑니다. Mysql 다운로드 페이지 : dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debia.. 2020. 12. 31.
[Mysql]workbench can't analyze file please try to change encoding type에러 해결방법 안녕하세요. 오늘은 mysql workbench 임포트 이용시 인코딩에러타입 해결방법에 대해 이야기해보겠습니다. 저같은 경우에는 엑셀파일을 csv로 변환하여 임포트하려하였으나 아래와 같이 에러가 나타났습니다. workbench can't analyze file please try to change encoding type 구글번역이로 보니 인코딩 유형을 변경하라고 하더라구요! 결론적으로 말씀드리면 엑셀파일에서 csv로 변환을하더라도 인코딩은 별도의 편집기로 utf8로 변환을 해주어야 합니다. 그래야 workbench에서 utf8의 파일임을 인식하고 임포트를 진행할 수 있는거죠! 그래서 해결방법을 요약하면 엑셀파일을 csv로 변환 메모장과 같은 편집기에서 다른이름으로 저장 임포트진행 순서로 되겠네요! 위에.. 2020. 11. 24.
[Mysql] 두 날짜 사이의 날짜 목록 및 데이터 구하는 방법 안녕하세요. 오늘은 mysql에서 원하는 기간안에의 날짜 목록과 데이터를 구하는 방법에 대해 이야기해보려합니다. 일반적으로 데이터를 뽑게되면 데이터만 있는 날짜만 나오게됩니다. 예를 들어 10월 20일부터 10월 26일까지가 원하는 기간이고 10월 22일에만 데이터가 있는 상태에서 데이터를 뽑으면 아래와 같이 10월 22일만 날짜가 나오고 나머지 날짜는 나오지 않게됩니다. 이를 해결하기 위해서는 3가지가 필요합니다. 날짜 추출 쿼리 데이터 추출 쿼리 Left outer join 1. 날짜 추출 쿼리 우선 날짜 추출 쿼리입니다. Curdate()를 사용하여 현재일 기준으로 일주일 전의 데이터를 추출합니다. 1 2 select curdate() - INTERVAL (a.a) DAY as Date from (.. 2020. 10. 27.
[mysql] count 조건 설정하는 방법 [통계쿼리정리] 안녕하세요 오늘은 count 조건 설정하는 방법에 대해 이야기해보겠습니다. 흔히들 통계에서 사용할 때 많이 사용되는 쿼리입니다. 제가 하고자하는 것은 Group by와 count를 통해 원하는 계산식을 얻을 예정인데, 여기서 count에 조건을 넣는 공식이 포인트입니다. 그리고 이외에 통계에 사용되는 다른 쿼리들도 지속적으로 업데이트 할 예정입니다! 단순한 Group By 다들 아시다시피 단순하게 group by를 하면 아래와 같은 식이 나옵니다. 한 컬럼의 그룹에 대한 개수가 나타나게 되는거죠. 1 2 3 4 5 SELECT cs_pm ,count(*) FROM tbl_counsel group by cs_pm cs 하지만 우리는 단순히 group by를 하는것에서 조건을 추가하여 여러 count 식을 .. 2020. 10. 20.