mysql有多个表例如:nlog_item_20220911nlog_user_20220916nload_time_distribution_202209nlog_grow_20220909nnN个nnphp54操作n如何直接列出所有后缀为-_2022-关键词的表并实现删除列出的表
可以使用如下SQL语句列出所有后缀为 _2022 关键词的表:
SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_database_name'
AND TABLE_NAME LIKE '%\_2022';
其中,将 your_database_name 替换为你的数据库名称。
然后可以使用循环语句,依次删除列出的表:
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// 获取所有后缀为 _2022 的表名
$sql = "SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = '".$dbname."'
AND TABLE_NAME LIKE '%\_2022';";
$result = mysqli_query($conn, $sql);
// 循环删除表
while($row = mysqli_fetch_assoc($result)) {
$table_name = $row['TABLE_NAME'];
$sql = "DROP TABLE ".$table_name.";";
mysqli_query($conn, $sql);
echo $table_name." has been dropped.<br>";
}
// 关闭连接
mysqli_close($conn);
注意替换相应的数据库连接信息。
原文地址: https://www.cveoy.top/t/topic/qye 著作权归作者所有。请勿转载和采集!