<?php $host = "localhost"; $username = 'root'; $password = 'root'; $database = 'dbname'; $filters = ['content','payload']; $pdo = new PDO("mysql:host={$host};dbname={$database}", $username, $password, array(PDO::ATTR_PERSISTENT => true)); $pdo->exec("set names 'utf8'"); $info = $pdo->query('SHOW TABLE STATUS;')->fetchAll(PDO::FETCH_ASSOC); foreach ($info as $key => $value) {
// 删除所有表注释 $pdo->exec("ALTER TABLE " . $value['Name'] . " COMMENT '';");
$info = $pdo->query("select * from information_schema.columns where table_name = '" . $value['Name'] . "'")->fetchAll(PDO::FETCH_ASSOC); foreach ($info as $i => $ivalue) {
// 删除整个数据库所有表中,存在在$filters数组中的列 if (in_array($ivalue['COLUMN_NAME'], $filters)) { $pdo->exec("ALTER TABLE " . $value['Name'] . " DROP COLUMN " . $ivalue['COLUMN_NAME'] . ";"); echo "删除表" . $value['Name'] . "中的:" . $ivalue['COLUMN_NAME']; echo " "; }
// 删除所有表的所有字段的注释 $pdo->exec("ALTER TABLE " . $value['Name'] . " MODIFY COLUMN " . $ivalue['COLUMN_NAME'] . " " . $ivalue['COLUMN_TYPE'] . " COMMENT '';"); echo "删除表" . $value['Name'] . "中的:" . $ivalue['COLUMN_NAME'] . "字段的注释"; echo " "; } }