Cách để Xóa Dữ Liệu Trùng Lặp Trong Oracle - WikiHow
Có thể bạn quan tâm
- Đăng nhập / Đăng ký
Bài viết này có đồng tác giả là đội ngũ biên tập viên và các nhà nghiên cứu đã qua đào tạo, những người xác nhận tính chính xác và toàn diện của bài viết. Nhóm Quản lý Nội dung của wikiHow luôn cẩn trọng giám sát công việc của các biên tập viên để đảm bảo rằng mọi bài viết đều đạt tiêu chuẩn chất lượng cao. Bài viết này đã được xem 6.336 lần.
Trong bài viết này: Xác định dữ liệu trùng lặp Xóa một dữ liệu trùng lặp Xóa nhiều dữ liệu trùng lặp Xóa dòng với cột Xem thêm 1... Thu gọn... Mẹo và cảnh báo Bài viết có liên quan Tham khảoKhi làm việc trong Oracle, đôi khi bạn sẽ bắt gặp một số dữ liệu bị trùng lặp. Bạn có thể xóa những dòng dữ liệu trùng lặp này bằng cách nhận dạng và sử dụng RowID hoặc địa chỉ dòng của chúng. Trước khi bắt đầu, bạn nên sao lưu cơ sở dữ liệu phòng trường hợp cần xem lại sau đó.
Các bước
Phương pháp 1 Phương pháp 1 của 4:Xác định dữ liệu trùng lặp
-
1 Nhận dạng dữ liệu trùng lặp. Trong ví dụ này, chúng ta sẽ nhận dạng dữ liệu trùng lặp là tên "Alan". Bạn cần chắc rằng dữ liệu mà cần loại bỏ thực sự bị trùng lặp bằng cách nhập ngôn ngữ truy vấn mang tính cấu trúc SQL (Standard Query Language) bên dưới. -
2 Tìm trong cột có tên là "Names". Trong ví dụ về cột tên "Names," bạn sẽ thay "column_name" bằng Names. -
3 Tìm trong cột khác. Nếu bạn muốn xác định dữ liệu trùng lặp trong cột khác, chẳng hạn như tuổi của Alan thay vì tên anh ấy, hãy nhập "Ages" vào vị trí "column_name", những trường hợp khác cũng tương tự. select column_name, count(column_name) from table group by column_name having count (column_name) > 1; Quảng cáo
Xóa một dữ liệu trùng lặp
-
1 Chọn "name from names". Sau "SQL," bạn nhập tiếp "select name from names". -
2 Xóa tất cả dòng có tên trùng lặp. Sau "SQL," hãy nhập "delete from names where name='Alan';". Lưu ý rằng việc viết hoa rất quan trọng vì điều này sẽ xóa tất cả dòng tên "Alan”. Sau "SQL," bạn nhập "commit" vào.[1] -
3 Nhập lại dòng không có dữ liệu trùng lặp. Bây giờ sau khi đã xóa tất cả dòng có tên "Alan," bạn có thể chèn lại một tên bằng cách nhập "insert into name values ('Alan');". Sau "SQL," nhập "commit" để tạo dòng mới. -
4 Xem danh sách mới. Sau khi hoàn tất những bước trên, bạn có thể kiểm tra để chắc chắn rằng không còn dữ liệu trùng lặp bằng cách gõ "select * from names". SQL > select name from names; NAME ------------------------------ Alan Carrie Tom Alan rows selected. SQL > delete from names where name='Alan'; rows deleted. SQL > commit; Commit complete. SQL > insert into names values ('Alan'); row created. SQL > commit; Commit complete. SQL > select * from names; NAME ------------------------------ Alan Carrie Tom rows selected. Quảng cáo
Xóa nhiều dữ liệu trùng lặp
-
1 Chọn RowID mà bạn muốn xóa. Sau "SQL," bạn nhập "select rowid, name from names;". -
2 Xóa dữ liệu trùng lặp. Sau "SQL," hãy nhập "delete from names a where rowid > (select min(rowid) from names b where b.name=a.name);" để xóa dữ liệu trùng lặp.[2] -
3 Kiểm tra dữ liệu trùng lặp. Sau khi hoàn tất bước trên, hãy kiểm tra xem còn dữ liệu giống nhau nào không bằng cách nhập lệnh "select rowid,name from names;" và "commit". SQL > select rowid,name from names; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan rows selected. SQL > delete from names a where rowid > (select min(rowid) from names b where b.name=a.name ); rows deleted. SQL > select rowid,name from names; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom rows selected. SQL > commit; Commit complete. Quảng cáo
Xóa dòng với cột
-
1 Chọn dòng. Sau "SQL," bạn nhập "select * from names;" để xem dòng mà bạn cần. -
2 Xóa những dòng giống nhau bằng cách xác định cột của chúng. Sau "SQL'" bạn hãy nhập "delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age);" để xóa dữ liệu trùng lặp.[3] -
3 Kiểm tra dữ liệu trùng lặp. Sau khi hoàn thành những bước trên, bạn nhập "select * from names;" và "commit" để kiểm tra xem bạn đã xóa hết dữ liệu trùng lặp chưa. SQL > select * from names; NAME AGE ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 Alan 50 rows selected. SQL > delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age ); row deleted. SQL > select * from names; NAME AGE ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 rows selected. SQL > commit; Commit complete. Quảng cáo
Cảnh báo
- Trước khi xóa bất kỳ dữ liệu nào, hãy sao lưu cơ sở dữ liệu trong phiên đăng nhập để bạn có thể xem lại (phòng khi thắc mắc về điều gì đó). SQL > create table alan.names_backup as select * from names; Table created.
Bài viết wikiHow có liên quan
Tham khảo
- ↑ http://viralpatel.net/blogs/deleting-duplicate-rows-in-oracle/
- ↑ http://viralpatel.net/blogs/deleting-duplicate-rows-in-oracle/
- ↑ http://www.dba-oracle.com/t_delete_duplicate_table_rows.htm
Về bài wikiHow này
- In
Bài viết này đã giúp ích cho bạn?
Có Không Quảng cáo Cookie cho phép wikiHow hoạt động tốt hơn. Bằng việc tiếp tục sử dụng trang web của chúng tôi, bạn đồng ý với chính sách cookie của chúng tôi.Bài viết có liên quan
Các bài viết hướng dẫn nổi bật
Các bài viết hướng dẫn phổ biến
Các bài viết hướng dẫn nổi bật
Các bài viết hướng dẫn nổi bật
Các bài viết hướng dẫn nổi bật
Các bài viết hướng dẫn nổi bật
- Chuyên mục
- Máy tính và Điện tử
- Office
- Trang chủ
- Giới thiệu về wikiHow
- Các chuyên gia
- Liên hệ với chúng tôi
- Sơ đồ Trang web
- Điều khoản Sử dụng
- Chính sách về Quyền riêng tư
- Do Not Sell or Share My Info
- Not Selling Info
Theo dõi chúng tôi
--Từ khóa » Xóa Bảng Trong Oracle
-
Lệnh Xóa Bảng Trong Oracle - Drop Table - Freetuts
-
Lệnh Delete Trong Oracle - Freetuts
-
Lệnh Xóa Bảng Trong Oracle - Drop Table - Vi
-
Lệnh Delete Trong Oracle - Vi
-
Sự Khác Nhau Giữ DELETE, DROP & CREATE Và TRUNCATE Của ...
-
SQL DROP TABLE - TRẦN VĂN BÌNH MASTER
-
Lệnh DROP TABLE Hay DELETE TABLE Trong SQL
-
Bỏ Bảng Trong Oracle SQL - HelpEx - Trao đổi & Giúp đỡ
-
DROP TABLE
-
Mệnh đề DELETE Xóa Dữ Liệu Trong SQL
-
DELETE - Lệnh Xóa Dữ Liệu - SQL & Database
-
Các Câu Lệnh Xóa Archive Log Trong Oracle - Blog Kiến Thức Database
-
[Tự Học SQL] Tạo Bảng(table), Xoá Bảng, After Bảng Trong SQL