Skip to content

Instantly share code, notes, and snippets.

@rahilwazir
Created April 27, 2016 15:01
Show Gist options
  • Save rahilwazir/ba4fd58ddf56114e59c0b4cc2941d0a1 to your computer and use it in GitHub Desktop.
Save rahilwazir/ba4fd58ddf56114e59c0b4cc2941d0a1 to your computer and use it in GitHub Desktop.
MySQL drop all tables from the database

drop_tables.sh

Drop all tables from database

Usage

$ ./drop_tables.sh <db-user> <db-pass> <db-name> <db-host>

The last parameter <db-host> is optional and defaults to localhost

Source

#!/bin/bash
MUSER="$1"
MPASS="$2"
MDB="$3"
MHOST="${4:-localhost}"
# Detect paths
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
if [ $# -lt 3 ]
then
echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} {MySQL-Database-Hostname}(Optional)"
echo "Drops all tables from a MySQL"
exit 1
fi
TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
for t in $TABLES
do
echo "Deleting $t table from $MDB database..."
$MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "drop table $t"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment