본문 바로가기

MySQL19

[MySQL] MySQL data 중복 제거 (DISTINCT, GROUPBY) 제거하기 전 혹시 모르니 table을 복사하자 CREATE TABLE [복사할 TABLE NAME] LIKE [원본 TABLE]; INSERT INTO [복사할 TABLE] SELECT * FROM [원본 TABLE]; DISTINCT : 중복 제거. 정렬 X DELETE DISTINCT [FIELD] FROM [TABLE] WHERE [조건]; GROUPBY : 중복 제거. 정렬 O DELETE FROM [TABLE] WHERE [INDEX NAME] IN (SELECT MIN( [INDEX NAME] ) FROM [TABLE NAME] GROUP BY [중복 제거할 COLUMN_1], [중복 제거할 COLUMN_2] HAVING COUNT(*) > 1) 여기서 INDEX 는 AUTO_INCREMENT.. 2022. 6. 9.
[DB] MySQL의 InnoDB & MyISAM 언제 쓰면 더 좋은가? - data 변화가 많은 서비스에 좋음 - 대용량 data 제어 - transaction 관리 필요 - 복구 필요 - 정렬 등 구문이 들어감 - IUD 등이 자주 발생 - Row-Lovel locking을 지원하지 않아, CRUD 하면 table 전체가 locking - row 수가 많을수록 속도가 매우 느려짐 - Full-Text-Index 지원 - Select가 많은 서비스에 좋음 - 읽기 작업을 주로 할 때 - 전문 검색 필요 - transaction, 복구 X - 한번에 대용량 data를 입력하는 배치성 table - row-level locking 지원 https://needjarvis.tistory.com/45 https://rebeccajo.tistory.com/14 .. 2022. 6. 2.
[DB] MySQL DB 백업 및 복구 크롤링 작업으로 저장해둔 mysql table의 db가 replace 되어 날아갔다... 복구를 시도하기 전 미리 알았으면 유용했을 것을 적어둔다. 1) cmd 열기 2) MySQL 의 bin 폴더 위치 파악하기. 보통 C:\Program Files\MySQL\MySQL Server 8.0\bin 에 있음 3) bin 폴더 경로로 이동. bin 폴더로 이동하는 이유? mysqldump 파일이 있어야 백업이 되기 때문 cd [MySQL bin 폴더 위치] cd C:\Program Files\MySQL\MySQL Server 8.0\bin 4) 명령어 입력 mysqldump -u [user 이름] -p [database 이름] > [database 백업할 파일 이름].sql Enter password : [.. 2022. 6. 1.