📖
알아두면 편리한 MySQL 쿼리문
페이지 정보
본문
SQL 파일 불러오기 시 문자셋 강제 지정
SQL 파일을 불러올 때, --default-character-set 옵션을 사용하여 문자셋을 지정할 수 있습니다.
파일을 EUC-KR 문자셋으로 불러오기 (SQL 파일이 EUC-KR로 작성된 경우):
[code]mysql -u root -p --default-character-set=euckr smartweb < C:/Apache24/htdocs/gasa.sql[/code]
파일을 UTF-8 문자셋으로 불러오기 (SQL 파일이 UTF-8로 작성된 경우):
[code]mysql -u root -p --default-character-set=utf8 smartweb < C:/Apache24/htdocs/gasa.sql[/code]
이미 깨진 데이터가 테이블에 삽입되어 있는 경우, 해당 데이터를 삭제하고 다시 삽입해야 할 수 있습니다.
memo 컬럼에서 잘못된 문자열을 포함한 레코드를 찾아 삭제하거나 수정할 수 있습니다.
[code]DELETE FROM 테이블명 WHERE memo LIKE '%\xFE\xC0\xCC\xBE%';[/code]이 명령어로 깨진 문자가 포함된 레코드를 삭제할 수 있습니다.
MyISAM에서 InnoDB로 변경하는 쿼리:[code]ALTER TABLE 테이블명 ENGINE = InnoDB;[/code]테이블의 저장 엔진을 MyISAM에서 InnoDB로 변경합니다.
InnoDB 사용 시 특징:
InnoDB는 트랜잭션을 지원하고, 외래 키 제약 조건을 지원합니다.
InnoDB의 성능은 대량의 데이터 삽입이나 복잡한 쿼리에서 더 좋은 성능을 보입니다.
InnoDB는 **행 잠금(row-level locking)**을 지원하고, **테이블 잠금(table-level locking)**이 아니라 더 세밀한 잠금을 제공합니다.
주의 사항:
InnoDB로 변경한 후 테이블에 외래 키나 트랜잭션 관련 작업을 설정할 수 있습니다.
변경 후에도 기존 데이터는 그대로 유지됩니다. 단, 데이터 타입이나 인덱스 설정을 변경하려면 추가적인 설정이 필요할 수 있습니다.
MySQL에서 테이블 이름을 변경하려면 RENAME TABLE 명령을 사용합니다. zetyx_board_gasa 테이블의 이름을 바꾸고자 할 경우, 다음과 같은 SQL 쿼리를 사용할 수 있습니다[code]RENAME TABLE table_name TO new_table_name;[/code]여기서 new_table_name은 새 테이블 이름으로 바꾸고 싶은 이름으로 변경해 주세요.
주의 사항:
데이터베이스 연결 상태: 테이블 이름을 변경할 때, 해당 테이블에 대한 액세스 권한이 필요합니다. 데이터베이스에 연결된 상태에서 이 명령을 실행해야 합니다.
테이블이 잠겨있지 않음: 테이블에 다른 쿼리가 실행 중일 때는 이름을 변경할 수 없습니다. 작업을 완료한 후 이름을 변경해야 합니다.
이 명령을 실행하면 테이블 이름이 성공적으로 변경됩니다.
데이터 가 존재하는 테이블 no 정렬 작업
[code]-- STEP 1: 임시 테이블 생성 및 데이터 복사
CREATE TABLE temp_lyrics LIKE lyrics;
INSERT INTO temp_lyrics (subject, memo)
SELECT subject, memo
FROM lyrics
ORDER BY no;
-- STEP 2: 원본 테이블 삭제
DROP TABLE lyrics;
-- STEP 3: 임시 테이블 이름 변경
RENAME TABLE temp_lyrics TO lyrics;
-- STEP 4: FULLTEXT 인덱스 재설정
ALTER TABLE lyrics ADD FULLTEXT (subject);
-- STEP 5: AUTO_INCREMENT 초기화
ALTER TABLE lyrics AUTO_INCREMENT = 1;[/code]
SQL 파일을 불러올 때, --default-character-set 옵션을 사용하여 문자셋을 지정할 수 있습니다.
파일을 EUC-KR 문자셋으로 불러오기 (SQL 파일이 EUC-KR로 작성된 경우):
[code]mysql -u root -p --default-character-set=euckr smartweb < C:/Apache24/htdocs/gasa.sql[/code]
파일을 UTF-8 문자셋으로 불러오기 (SQL 파일이 UTF-8로 작성된 경우):
[code]mysql -u root -p --default-character-set=utf8 smartweb < C:/Apache24/htdocs/gasa.sql[/code]
이미 깨진 데이터가 테이블에 삽입되어 있는 경우, 해당 데이터를 삭제하고 다시 삽입해야 할 수 있습니다.
memo 컬럼에서 잘못된 문자열을 포함한 레코드를 찾아 삭제하거나 수정할 수 있습니다.
[code]DELETE FROM 테이블명 WHERE memo LIKE '%\xFE\xC0\xCC\xBE%';[/code]이 명령어로 깨진 문자가 포함된 레코드를 삭제할 수 있습니다.
MyISAM에서 InnoDB로 변경하는 쿼리:[code]ALTER TABLE 테이블명 ENGINE = InnoDB;[/code]테이블의 저장 엔진을 MyISAM에서 InnoDB로 변경합니다.
InnoDB 사용 시 특징:
InnoDB는 트랜잭션을 지원하고, 외래 키 제약 조건을 지원합니다.
InnoDB의 성능은 대량의 데이터 삽입이나 복잡한 쿼리에서 더 좋은 성능을 보입니다.
InnoDB는 **행 잠금(row-level locking)**을 지원하고, **테이블 잠금(table-level locking)**이 아니라 더 세밀한 잠금을 제공합니다.
주의 사항:
InnoDB로 변경한 후 테이블에 외래 키나 트랜잭션 관련 작업을 설정할 수 있습니다.
변경 후에도 기존 데이터는 그대로 유지됩니다. 단, 데이터 타입이나 인덱스 설정을 변경하려면 추가적인 설정이 필요할 수 있습니다.
MySQL에서 테이블 이름을 변경하려면 RENAME TABLE 명령을 사용합니다. zetyx_board_gasa 테이블의 이름을 바꾸고자 할 경우, 다음과 같은 SQL 쿼리를 사용할 수 있습니다[code]RENAME TABLE table_name TO new_table_name;[/code]여기서 new_table_name은 새 테이블 이름으로 바꾸고 싶은 이름으로 변경해 주세요.
주의 사항:
데이터베이스 연결 상태: 테이블 이름을 변경할 때, 해당 테이블에 대한 액세스 권한이 필요합니다. 데이터베이스에 연결된 상태에서 이 명령을 실행해야 합니다.
테이블이 잠겨있지 않음: 테이블에 다른 쿼리가 실행 중일 때는 이름을 변경할 수 없습니다. 작업을 완료한 후 이름을 변경해야 합니다.
이 명령을 실행하면 테이블 이름이 성공적으로 변경됩니다.
데이터 가 존재하는 테이블 no 정렬 작업
[code]-- STEP 1: 임시 테이블 생성 및 데이터 복사
CREATE TABLE temp_lyrics LIKE lyrics;
INSERT INTO temp_lyrics (subject, memo)
SELECT subject, memo
FROM lyrics
ORDER BY no;
-- STEP 2: 원본 테이블 삭제
DROP TABLE lyrics;
-- STEP 3: 임시 테이블 이름 변경
RENAME TABLE temp_lyrics TO lyrics;
-- STEP 4: FULLTEXT 인덱스 재설정
ALTER TABLE lyrics ADD FULLTEXT (subject);
-- STEP 5: AUTO_INCREMENT 초기화
ALTER TABLE lyrics AUTO_INCREMENT = 1;[/code]
댓글목록
등록된 댓글이 없습니다.
![]() ![]() |