Có thể cắt bớt tất cả các bảng trong cơ sở dữ liệu mysql không? truy vấn đó là gì.cắt ngắn tất cả các bảng trong cơ sở dữ liệu mysql
Trả lời
Bạn có thể làm truy vấn này:
select 'truncate table ' || table_name || ';'
from INFORMATION_SCHEMA.TABLES;
Sau đó lưu kết quả vào một kịch bản và chạy nó.
khả năng khác có thể được,
- Chạy truy vấn
- Sao chép kết quả vào clipboard (COPY)
- Dán kết quả vào các lệnh thông dịch MySQL (PASTE)
Làm xong.
Nếu bạn chỉ chạy truy vấn, bạn sẽ hiểu những gì tôi đang cố gắng nói.
xin lỗi nhưng, tôi không thể hiểu được tuyên bố của bạn, lưu kết quả vào một tập lệnh và chạy nó. – chetan
OK, hãy thực hiện việc này. Tôi sẽ cập nhật câu hỏi. –
Không thể sử dụng truy vấn sql đơn lẻ.
Mà có lẽ là một điều tốt. –
Tiếp tục từ ống @Pablo không concatenating đối với tôi - và tôi muốn để hạn chế nó vào một cơ sở dữ liệu duy nhất và sau đó chỉ bảng
SELECT CONCAT('truncate table ',table_name,';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '<<YOUR-DB-NAME>>'
AND TABLE_TYPE = 'BASE TABLE';
Tôi có cùng một vấn đề mà các đường ống không nối (MySQL 5.6.15). Điều này làm việc cho tôi. – nagu
Ở đây tôi để lại cho bạn một thủ tục lưu trữ để thiết lập lại cơ sở dữ liệu của bạn để Cero
CREATE DEFINER=`root`@`localhost` PROCEDURE `reset_database`(DB_NAME VARCHAR(100))
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE tableName VARCHAR(100);
DECLARE cur CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = DB_NAME AND table_type = 'BASE TABLE';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
SET FOREIGN_KEY_CHECKS = 0;
read_loop: LOOP
FETCH cur INTO tableName;
IF done THEN LEAVE read_loop; END IF;
SET @s = CONCAT('truncate table ',tableName);
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END LOOP;
SET FOREIGN_KEY_CHECKS = 1;
CLOSE cur;
END;
- 1. Đang cập nhật tất cả các bảng trong một cơ sở dữ liệu MySQL
- 2. Làm thế nào để xóa tất cả các bảng trong cơ sở dữ liệu MySQL?
- 3. Xóa dữ liệu khỏi tất cả các bảng trong MYSQL
- 4. Mysql - tìm một bảng trong tất cả cơ sở dữ liệu
- 5. Liệt kê tất cả các bảng trong cơ sở dữ liệu
- 6. Xóa tất cả các hàng trong bảng khỏi bảng cơ sở dữ liệu SQLite
- 7. đếm chính xác của tất cả các hàng trong cơ sở dữ liệu MySQL
- 8. Nhiệm vụ Rake để cắt ngắn tất cả các bảng trong Rails 3
- 9. Bảng xóa MySQL - Cơ sở dữ liệu hiện tại hoặc mọi cơ sở dữ liệu?
- 10. Cách xem tất cả các bảng trong cơ sở dữ liệu HSQLDB?
- 11. SQL Server - Tạo Trigger đơn chạy cho TẤT CẢ các bảng trong cơ sở dữ liệu
- 12. Đổi tên tất cả các bảng trong cơ sở dữ liệu
- 13. Cách lấy danh sách tất cả các bảng trong hai cơ sở dữ liệu khác nhau
- 14. thiết kế trường bảng trong cơ sở dữ liệu mysql?
- 15. MySQL: Nhiều bảng hoặc nhiều cơ sở dữ liệu?
- 16. Cách sao chép bảng từ một cơ sở dữ liệu mysql sang cơ sở dữ liệu mysql khác
- 17. Có cách nào để sao chép tất cả dữ liệu trong cơ sở dữ liệu mysql sang cơ sở dữ liệu khác không? (phpmyadmin)
- 18. Làm thế nào để thả tất cả các bảng trong cơ sở dữ liệu mà không làm rơi cơ sở dữ liệu?
- 19. mysql: xem tất cả các kết nối mở với một cơ sở dữ liệu đã cho?
- 20. Chọn từ tất cả các bảng - MySQL
- 21. Emacs cắt ngắn dòng trong tất cả các bộ đệm
- 22. Học thuyết tự động tạo tất cả các bảng cơ sở dữ liệu?
- 23. Lỗi khi kéo cơ sở dữ liệu mysql trong cơ sở dữ liệu mysql cục bộ
- 24. Xóa tất cả trừ n trên cùng khỏi bảng cơ sở dữ liệu trong SQL
- 25. Chuẩn hóa cơ sở dữ liệu MySQL
- 26. Đặt lại cơ sở dữ liệu (xóa tất cả), sau đó gieo một cơ sở dữ liệu
- 27. Làm cách nào để tôi có thể xóa tất cả các bảng trong cơ sở dữ liệu của mình?
- 28. Khôi phục bảng MySQL trở lại cơ sở dữ liệu
- 29. Danh sách các bảng không trống trong cơ sở dữ liệu MySQL
- 30. Thả tất cả các bảng ngoại trừ một trong MySql
thể trùng lặp của [Truncate tất cả các bảng trong một cơ sở dữ liệu MySQL trong một lệnh?] (Http://stackoverflow.com/questions/1912813/truncate-all-tables-in-a-mysql-database -in-one-command) –