Làm cách nào để xóa dữ liệu khỏi cơ sở dữ liệu MySQL?
MySQL là cơ sở dữ liệu nguồn mở phổ biến nhất thế giới, được công nhận về tốc độ và độ tin cậy. Bài viết này xem xét cách xóa tất cả dữ liệu khỏi bảng cơ sở dữ liệu MySQL và cách nó ảnh hưởng đến các trường gia tăng tự động Show
Xóa và cắt bớtCó hai cách để xóa tất cả dữ liệu trong bảng cơ sở dữ liệu MySQL
Cột tăng tự động cho bảng MyISAMNếu bạn có cột khóa chính tăng tự động trong bảng MyISAM, kết quả sẽ hơi khác một chút tùy thuộc vào phương pháp xóa bạn sử dụng. Khi sử dụng phương pháp “TRUNCATE TABLE”, giá trị hạt giống gia tăng tự động sẽ được đặt lại về 1. Khi sử dụng phương pháp “XÓA TỪ”, hạt tăng tự động sẽ được giữ nguyên như trước đây (ví dụ: nếu trường tăng tự động của bản ghi được chèn lần cuối là 123 thì bản ghi được chèn tiếp theo sẽ được đặt thành 124) Lưu ý rằng điều này đúng với MySQL >= 4. 0; . 23 TRUNCATE hoạt động giống như XÓA, điều đó có nghĩa là hạt giống tăng tự động không được đặt lại. Tôi hiện không có 3. 23 cơ sở dữ liệu được thiết lập để kiểm tra nên không thể xác nhận điều này Cột tăng tự động cho bảng INNODBĐối với các bảng INNODB, cho dù bạn sử dụng phương pháp “TRUNCATE TABLE” hay “DELETE FROM”, trường tăng tự động sẽ không được đặt lại. Nếu bạn đã chèn 5 bản ghi vào một bảng mới, sau đó xóa tất cả các bản ghi và chèn một bản ghi khác, trường sẽ có giá trị là 6, bất kể bạn đã sử dụng phương pháp nào Cập nhật ngày 17 tháng 2 năm 2009. Ban đầu tôi đã viết bài đăng này khi MySQL 4. 0 là phiên bản hiện tại. Bây giờ tôi vừa kiểm tra phần trên trên bảng INNODB bằng MySQL 5. 0 và sử dụng TRUNCATE sẽ đặt lại trường tăng tự động về mặc định. Vì vậy, hành vi đã thay đổi tại một số điểm hoặc tôi đã sai khi đưa ra tuyên bố trên Bạn có thực sự chắc chắn muốn xóa tất cả dữ liệu?Trước khi xóa tất cả dữ liệu trong cơ sở dữ liệu, bạn nên đảm bảo rằng bạn thực sự có ý định xóa tất cả dữ liệu. Trước tiên, nó thường trả tiền cho “CHỌN * TỪ tên bảng” hoặc “CHỌN COUNT(*) TỪ tên bảng” trước khi làm như vậy để kiểm tra xem có thực sự an toàn khi xóa tất cả dữ liệu. Có thể bạn thực sự muốn làm điều gì đó như “XÓA TỪ tên bảng WHERE foo = ‘bar'” để thay thế Lệnh Xóa MySQL được sử dụng để xóa các hàng không còn cần thiết khỏi các bảng cơ sở dữ liệu. Nó xóa toàn bộ hàng khỏi bảng và trả về số lượng hàng đã xóa. Lệnh xóa có ích để xóa dữ liệu tạm thời hoặc lỗi thời khỏi cơ sở dữ liệu của bạn Truy vấn Xóa trong MySQL có thể xóa nhiều hàng khỏi một bảng trong một truy vấn. Điều này chứng tỏ là lợi thế khi xóa số lượng lớn hàng khỏi bảng cơ sở dữ liệu Khi một hàng Xóa trong hàng MySQL đã bị xóa, nó không thể khôi phục được. Do đó, chúng tôi khuyên bạn nên sao lưu cơ sở dữ liệu trước khi xóa bất kỳ dữ liệu nào khỏi cơ sở dữ liệu. Điều này có thể cho phép bạn khôi phục cơ sở dữ liệu và xem dữ liệu sau này nếu cần Cách xóa một hàng trong MySQLĐể xóa một hàng trong MySQL, câu lệnh DELETE FROM được sử dụng DELETE FROM `table_name` [WHERE condition]; NƠI ĐÂY
Nếu mệnh đề WHERE không được sử dụng trong truy vấn DELETE của MySQL, thì tất cả các hàng trong một bảng nhất định sẽ bị xóa Ví dụ về truy vấn xóa MySQLTrước khi thảo luận chi tiết hơn về câu lệnh SQL DELETE, hãy chèn một số dữ liệu mẫu vào bảng phim để làm việc với INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8); Thực thi đoạn mã trên sẽ thêm ba (3) phim vào bảng phim. Trước khi chúng ta đi sâu hơn vào bài học của mình, hãy lấy tất cả các bộ phim trong bảng của chúng ta. Kịch bản hiển thị bên dưới thực hiện điều đó SELECT * FROM `movies`; Thực thi đoạn script trên cho chúng ta kết quả như sau movie_id title director year_released category_id 1 Pirates of the Caribean 4 Rob Marshall 2011 1 2 Forgetting Sarah Marshal Nicholas Stoller 2008 2 3 X-Men NULL 2008 NULL 4 Code Name Black Edgar Jimz 2010 NULL 5 Daddy's Little Girls NULL 2007 8 6 Angels and Demons NULL 2007 6 7 Davinci Code NULL 2007 6 9 Honey mooners John Schultz 2005 8 16 67% Guilty NULL 2012 NULL 18 The Great Dictator Chalie Chaplie 1920 7 19 sample movie Anonymous NULL 8 20 movie 3 John Brown 1920 8 Giả sử rằng thư viện video Myflix không còn muốn cho các thành viên thuê “The Great Dictator” nữa và họ muốn xóa nó khỏi cơ sở dữ liệu. Id phim của nó là 18, chúng ta có thể sử dụng tập lệnh hiển thị bên dưới để xóa hàng khỏi bảng Ví dụ về MySQL DELETE FROM `movies` WHERE `movie_id` = 18; Thực thi tập lệnh trên trong MySQL WorkBench đối với Myflix sẽ xóa phim có id 18 khỏi bảng cơ sở dữ liệu Làm cách nào để xóa dữ liệu khỏi cơ sở dữ liệu trong MySQL?Cú pháp XÓA
. Cẩn thận khi xóa bản ghi trong bảng. Lưu ý mệnh đề WHERE trong câu lệnh DELETE. Mệnh đề WHERE chỉ định (những) bản ghi nào sẽ bị xóa. DELETE FROM table_name WHERE condition; Note: Be careful when deleting records in a table! Notice the WHERE clause in the DELETE statement. The WHERE clause specifies which record(s) should be deleted.
Làm cách nào để xóa tất cả dữ liệu khỏi bảng trong MySQL?Câu lệnh TRUNCATE TABLE được sử dụng để xóa tất cả các bản ghi khỏi một bảng trong MySQL. Nó thực hiện chức năng tương tự như câu lệnh DELETE không có mệnh đề WHERE. Cảnh báo. Nếu bạn cắt bớt một bảng, câu lệnh TRUNCATE TABLE không thể được khôi phục
Bạn có thể XÓA dữ liệu khỏi cơ sở dữ liệu không?Mở rộng Cơ sở dữ liệu, bấm chuột phải vào cơ sở dữ liệu để xóa tệp, rồi bấm Thuộc tính. Chọn trang Tệp. Trong lưới Tệp cơ sở dữ liệu, chọn tệp cần xóa rồi nhấp vào Xóa. Nhấp vào OK |