두 개 컬럼의 중복데이터 조회

SELECT MIN(index_column)
FROM table1
GROUP BY column1, column2;

 

삭제하기 위해서는 임시테이블 사용

DELETE FROM table1
WHERE index_column NOT IN
(SELECT * FROM
(SELECT MIN(index_column) FROM table1
GROUP BY column1, column2) AS temp_table);

 

Posted by G4.
,

A테이블에 있고, B테이블에 없는 데이터 조회

SELECT A.column
FROM table1 A
LEFT OUTER JOIN table2 B
ON A.column=B.column
WHERE B.column IS NULL;

 

삭제하기 위해서는 임시테이블 사용

DELETE FROM table1 WHERE column IN
(SELECT * FROM 
(SELECT A.column
FROM table1 A
LEFT OUTER JOIN table2 B
ON A.column=B.column
WHERE B.column IS NULL) AS temp_table);
Posted by G4.
,

가장 낮은 id 값만 남기고 중복 데이터 삭제

DELETE t1
FROM TABLE t1,
     TABLE t2
WHERE t1.id > t2.id
      AND t1.column = t2.column;

 

Posted by G4.
,

mysql은 기본적으로 자동커밋 상태 (변경 가능)

 

수동커밋은 아래와 같이 사용

START TRANSACTION;
<쿼리>
COMMIT;

 

되돌리기 위해선 커밋 대신 롤백으로 사용

START TRANSACTION;
<쿼리>
ROLLBACK;
Posted by G4.
,