MySQL 5.5可以通過語句刪除重復數據。
首先,我們需要創建一個含有重復數據的表,例如: CREATE TABLE tbl_duplicates ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20), age INT ); INSERT INTO tbl_duplicates VALUES (1, 'John', 33); INSERT INTO tbl_duplicates VALUES (2, 'Sara', 25); INSERT INTO tbl_duplicates VALUES (3, 'John', 33); INSERT INTO tbl_duplicates VALUES (4, 'Mike', 28); INSERT INTO tbl_duplicates VALUES (5, 'Sara', 24); 現在,我們執行下面的代碼,刪除tbl_duplicates表中的重復數據: DELETE t1 FROM tbl_duplicates t1 INNER JOIN tbl_duplicates t2 WHERE t1.id >t2.id AND t1.name = t2.name AND t1.age = t2.age; 我們使用了內部聯接,比較了兩個表的name和age是否相等,如果是,則刪除id較小的數據。
代碼執行后,我們可以檢查tbl_duplicates表中的數據,發現表已不再含有重復數據:
SELECT * FROM tbl_duplicates; 結果: +----+------+-----+ | id | name | age | +----+------+-----+ | 1 | John | 33 | | 2 | Sara | 25 | | 4 | Mike | 28 | | 5 | Sara | 24 | +----+------+-----+