吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 215|回复: 0
收起左侧

[学习记录] 【shell脚本】删除目标数据库中的所有表

[复制链接]
turato 发表于 2024-8-7 13:14

功能:删除目标MySQL数据库的所有表
使用步骤:
1、将脚本保存为 delete_mysql_tables.sh,并赋予执行权限:
chmod +x delete_mysql_tables.sh

2、执行脚本时,提供数据库名称作为参数:
./delete_mysql_tables.sh your_database_name

全部代码:

#!/bin/bash

# 定义常量
MYSQL_HOST="xxxxxx.mysql.rds.aliyuncs.com"
MYSQL_USER="test"
MYSQL_PASSWORD="123456"
MYSQL_CMD="mysql"

# 检查是否提供了数据库名称作为参数
if [ -z "$1" ]; then
    echo "Usage: $0 <database_name>"
    exit 1
fi

# 定义数据库名称变量
MYSQL_DB_NAME="$1"

# 函数:执行 MySQL 命令并捕获输出
execute_mysql_cmd() {
    local cmd="$1"
    $MYSQL_CMD -h "$MYSQL_HOST" -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" -D "$MYSQL_DB_NAME" -e "$cmd"
}

# 函数:获取所有表的名称
get_tables() {
    execute_mysql_cmd "SHOW TABLES;" | awk 'NR>1 {print $1}'
}

# 函数:删除表
delete_table() {
    local table="$1"
    echo "Deleting table: $table"
    execute_mysql_cmd "DROP TABLE IF EXISTS $table;"
}

# 获取所有表的名称
tables=$(get_tables)

# 循环删除每个表
for table in $tables; do
    delete_table "$table"
done

echo "All tables have been deleted from database: $MYSQL_DB_NAME"

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表