본문 바로가기
728x90

Database9

[DB] MySQL 테이블 오류 및 해결: "'Incorrect key file for table' 최근에 MySQL 데이터베이스에서 'Incorrect key file for table'이라는 에러가 발생하여 해당 문제를 해결하는 과정을 공유하고자 합니다. 이 에러는 주로 테이블에 문제가 생겼을 때 발생하는데, 다양한 원인이 있을 수 있습니다. 이번에는 테이블 용량 문제로 발생한 에러에 대한 해결 방법에 대해 알아보겠습니다. 1. 에러 확인 처음에는 MySQL 테이블을 'analyze' 명령어로 분석했지만, 테이블의 상태는 'ok'로 나와 아무 문제가 없어 보였습니다. 2. 용량 확인 그런데, 에러의 원인은 테이블 용량 문제일 수 있습니다. 터미널에서 'df -H' 명령어를 사용하여 현재 서버의 용량을 확인해보세요. 여기서 문제가 발생한 테이블이 위치한 디렉토리의 용량이 부족한지 확인해야 합니다. 3.. 2024. 1. 30.
[DB] Database 정규화 (1NF,2NF,3NF,BCNF) 👨‍💻 정규화란? 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화(Normalization)라고 한다. 데이터베이스 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다. 이를 단계별로 구분하여 정규형이 높아질수록 이상현상은 줄어들게 된다. 정규화의 목적 불필요한 데이터(data redundancy)를 제거합니다. 데이터 저장을 "논리적으로" 합니다. 정규화의 장단점 정규화의 장점 데이터베이스 변경 시 이상 현상(Anomaly)을 제거할 수 있습니다. 정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 변경해도 됩니다. 데이터베이스와 연동된 응용 프로그램에 최소한의 영향만을 .. 2023. 2. 7.
[SQL] 삭제하기! (DELETE, TRUNCATE, DROP) 서론 서비스를 배포하기 전에 이전에 test를 했던 자료들을 db에서 지워줘야 합니다. 그 과정에서 한 번에 비우는 TRUNCATE 명령어를 알게되었고, DELETE, TRUNCATE, DROP 이 세 명령어에 대해 알아보고 차이점도 정리해 볼까 합니다. DELETE DELETE 명령어는 테이블의 내부의 행을 모두 삭제하며, WHERE절을 이용해서 개별적으로 조건에 맞는 행만 삭제할 수 있습니다. DELETE FROM 테이블명 WHERE 조건; DELETE의 특징 DELETE는 DML(데이터 조작 언어) 명령입니다. DELETE는 행 잠금을 사용하여 실행됩니다. DELETE는 WHERE 절과 함께 사용하여 특정 행을 삭제할 수 있습니다. DELETE는 삭제된 각 행에 대해 트랜잭션 로그를 기록합니다. 따.. 2023. 2. 2.
[SQL] 필드명이 예약어일 경우...!! 서론 db를 읽는중에 ERROR 1064 (42000)이 발생했다... 오타도 없었고 급한건 아니니 대수럽지않게 넘겼는데 똑같은 필드명을 가진 곳에서 또 똑같이 에러가 발생했다. 가만보니 필드명이 desc...? 아... 예약어였다... 예약어란? 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어 MySQL 예약어 ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK COLLATE COLUMN CONDITION CONSTRAINT CONTINUE CONVERT CREATE CROSS CURRENT_DA.. 2023. 1. 13.
[SQL] 데이터 타입(Data Type) 서론 오늘은 테이블 명세서를 정리하는 도중에 데이터타입에 대해서 확실하게 아는 것 같지 않아서 다시 정리해 보고자 합니다. 데이터 타입(Data Type)이란? 데이터 타입(자료형)이란 컴퓨터 시스템과 프로그래밍 언어에서 실수, 정수, 소수 자료형 등의 여러 종류의 데이터를 식별하는 타입으로서, 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 할 수 있는 명령어, 데이터의 형태, 의미, 크기와 해당 자료형의 값이 저장되는 방식입니다. MySQL데이터 타입 문자형 데이터 타입 데이터 유형 정의 CHAR(n) 고정 길이 데이터 타입(최대 255byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간 공백으로 채워진다. VARCHAR(n) 가변 길이 데이터 타입(최대 65535byte)- 지정된.. 2023. 1. 12.
[SQL] 테이블의 구조와 설명을 알 수 있는 desc!! 서론 프론트 공부만 계속하다가 오랜만에 MySQL을 건드려 보는데 desc...? 제가 아는 desc는 오름차순(ASC), 내림차순(DESC)인데 이게 맞나? 싶었습니다. 아무리 봐도 테이블의 필드들이 정렬되어 있는 것 같지 않았기 때문이죠... 찾아보니... DESC 란? description의 줄임말로 특정 테이블에 어떤 column이 있는지, 구조가 무엇인지 조회해 주는 명령어입니다. 사용법 DESC 테이블명; 조회하고 싶은 테이블 앞에 DESC를 입력하면 그 테이블의 구조와 column들을 조회할 수 있습니다!! 출력 결과 정렬 방법(ORDER BY) 그렇다면 desc보고 먼저 생각이난 정렬하는 방법은 어떻게 하면 될까요? SELECT idx, name, grade FROM students_db .. 2023. 1. 11.
728x90