php從數據庫中刪除所有表

工作中寫過的一個腳本,刪除指定數據庫的所有表

用於重複測試數據,當然直接使用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);

注意,直接刪除沒有任何確認,數據有價值的話要自己提前做備份

防止拼音化行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章