工作中寫過的一個腳本,刪除指定數據庫的所有表
用於重複測試數據,當然直接使用sql的if判斷執行不同動作也行,這只是提供了一種fang'fa
爲mysql寫的,把pdo的連接字符串換成其它的數據庫應該也能直接用
<?php
/**
* 從數據庫中刪除所有表
* @author gcud
* @version 20200109
*/
//一旦運行就沒有後悔的機會,除非你已經備份
//數據庫名
$DataBaseName='數據庫名';
//數據庫主機地址
$Host='127.0.0.1';
//數據庫端口
$Port='3306';
//數據庫用戶名
$UserName='root';
//數據庫用戶密碼
$Password='';
function Run($DataBaseName,$Host,$Port,$UserName,$Password){
$Sql="SELECT CONCAT('DROP TABLE ', table_name,';') FROM information_schema.`TABLES` WHERE table_schema='$DataBaseName';";
$Pdo=new PDO("mysql:host=$Host;port=$Port;dbname=$DataBaseName",$UserName,$Password);
$Result=$Pdo->query($Sql);
$ExecuteSql='';
foreach ($Result->fetchAll() as $Item){
$ExecuteSql.=$Item[0];
}
$Pdo->exec($ExecuteSql);
echo '已刪除所有數據';
}
Run($DataBaseName,$Host,$Port,$UserName,$Password);
注意,直接刪除沒有任何確認,數據有價值的話要自己提前做備份
防止拼音化行