Có thể dọn sạch toàn bộ cơ sở dữ liệu bằng cách kết nối nó với PHP và đưa ra một lệnh không?Cơ sở dữ liệu rỗng trong MySQL và PHP?
Trả lời
Bạn có thể lấy tên bảng với
SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Và làm cho truncate,
thậm chí, bạn có thể làm
SELECT 'TRUNCATE TABLE ' + table_name + ';' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Và sau đó lặp resultset thực hiện truy vấn chuỗi cho mỗi bản ghi .
Có. Về cơ bản, bạn cần có danh sách tất cả các Bảng trong Cơ sở dữ liệu, sau đó lặp lại qua danh sách đó và phát hành TRUNCATE TABLE $tablename
cho mỗi mục nhập.
này trông giống như một thực hiện đủ phong nha: Truncate all tables in a MySQL database
Cách đơn giản nhất để làm điều đó, nếu bạn có những đặc quyền, là:
DROP DATABASE dbName; CREATE DATABASE dbName; USE DATABASE dbName;
Cách khác là để truy vấn cơ sở dữ liệu information_schema
cho trigger, các thói quen được lưu trữ (các thủ tục và chức năng), các bảng, các khung nhìn và có thể là một cái gì đó khác, và thả riêng chúng.
Ngay cả sau này, cơ sở dữ liệu của bạn có thể vẫn không ở trạng thái giống như mới được tạo, vì nó có thể có bộ ký tự mặc định tùy chỉnh và bộ đối chiếu. Sử dụng ALTER DATABASE
để thay đổi điều đó.
Khi các tính năng tiếp tục được thêm (sự kiện ...), bạn sẽ càng ngày càng hoạt động theo cách này. Vì vậy, thực sự, cách duy nhất để hoàn toàn trống rỗng cơ sở dữ liệu là thả nó và tạo lại nó.
Bạn có thể nhận danh sách tất cả các bảng trong cơ sở dữ liệu ($databaseName
), lặp qua tất cả và áp dụng TRUNCATE TABLE
cho mỗi bảng.
$result = mysqli_query($link, "SHOW TABLES IN `$databaseName`");
while ($table = mysqli_fetch_array($result)) {
$tableName = $table[0];
mysqli_query($link, "TRUNCATE TABLE `$databaseName`.`$tableName`");
if (mysqli_errno($link)) echo mysqli_errno($link) . ' ' . mysqli_error($link);
else echo "$tableName was cleared<br>";
}
Điều này sẽ xóa nội dung của tất cả các bảng trong cơ sở dữ liệu, giữ cấu trúc.
Vui lòng [sửa] với nhiều thông tin hơn. Chỉ có mã và câu trả lời "dùng thử" này mới được [nản lòng] (// meta.stackexchange.com/questions/196187), vì chúng không chứa nội dung có thể tìm kiếm được và không giải thích tại sao một người nào đó nên "thử cái này". Chúng tôi nỗ lực ở đây để trở thành một nguồn lực cho kiến thức. – Mogsdad
Điều này phù hợp với tôi.
mysql -u < DB-USER > -p<DB-PASS> --silent --skip-column-names -e "SHOW TABLES" <DB-NAME> | xargs -L1 -I% echo 'DROP TABLE `%`;' | mysql -u < DB-USER > -p< DB-PASS > -v < DB-NAME >
- 1. Store datetime php trong cơ sở dữ liệu mysql
- 2. Lỗi khi kéo cơ sở dữ liệu mysql trong cơ sở dữ liệu mysql cục bộ
- 3. Ưu tiên kết nối cơ sở dữ liệu PHP/MySQL?
- 4. Cơ sở dữ liệu MySQL PHP Các ký tự lạ
- 5. Kích thước cơ sở dữ liệu. PHP - MySQL
- 6. Phiên PHP trong Cơ sở dữ liệu
- 7. đặt phiên trong cơ sở dữ liệu trong php
- 8. 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
- 9. Sao lưu cơ sở dữ liệu MySQL
- 10. MySQL kiểu dữ liệu cơ sở dữ liệu
- 11. Chuẩn hóa cơ sở dữ liệu MySQL
- 12. Lưu mảng trong cơ sở dữ liệu mysql
- 13. Facebook PHP SDK - Lưu trữ dữ liệu người dùng vào cơ sở dữ liệu MYSql
- 14. Bảng xóa MySQL - Cơ sở dữ liệu hiện tại hoặc mọi cơ sở dữ liệu?
- 15. Di chuyển cơ sở dữ liệu MySQL phát triển sang cơ sở dữ liệu sản xuất
- 16. Di chuyển bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MySQL
- 17. mangento trong cơ sở dữ liệu hoặc cơ sở oracle?
- 18. php mysqli danh sách cơ sở dữ liệu
- 19. Cần lấy dữ liệu rỗng trong .net với lược đồ bảng cơ sở dữ liệu
- 20. loại giờ trong cơ sở dữ liệu Mysql
- 21. tạo cơ sở dữ liệu trong mysql từ java
- 22. Tạo cơ sở dữ liệu innodb trong mysql
- 23. Thêm dữ liệu vào trường cơ sở dữ liệu MySQL đã có dữ liệu trong đó
- 24. Đặt cơ sở dữ liệu hiện tại trong MySQL Script
- 25. Lưu trữ Enums trong Cơ sở dữ liệu MySQL
- 26. cách kết nối F # với cơ sở dữ liệu MySQL?
- 27. thiết kế trường bảng trong cơ sở dữ liệu mysql?
- 28. Một cơ sở dữ liệu và nhiều cơ sở dữ liệu
- 29. php: phiên so với cơ sở dữ liệu
- 30. Khóa cơ sở dữ liệu máy chủ SQL với PHP
bạn sẽ mất cấu trúc của bảng –
Vâng khởi động chủ đề không nói bất cứ điều gì ngoại trừ anh muốn một cơ sở dữ liệu trống có cùng tên, do đó, nó hoàn toàn trả lời câu hỏi. Không có ý nghĩa để đưa ra các giả định sai, đó là lý do tại sao câu trả lời này nhận được +1 từ tôi. – Flavius
Nếu người dùng không có đặc quyền 'CREATE DATABASE', họ sẽ bị kẹt. –