web-dev-qa-db-ja.com

MySQLですべてのテーブルを削除する方法は?

データベースを削除したくない、

私は自分のマシンでウェブサイトをホストしていないので、

データベースを削除するには、データベースを再度作成する必要があり、多くの設定が必要になります。

特定のデータベース内のすべてのテーブルを削除するために使用できるMySQLのコマンドはありますか?

[〜#〜]編集[〜#〜]

私にできることはすべてphpMyAdmin

19
user198729

mysqldump -u [USERNAME] -p [PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^ DROP | mysql -u [USERNAME] -p [PASSWORD] [DATABASE]

ここ データベースを削除せずにすべてのテーブルを削除する方法は他にもあります。

7
Suraj Chandran

あなたはphpMyAdminでこれを行うことについて話していました。

私はこれをしなければならなかったので、使用しているバージョンがわかりませんが、私が持っているバージョンでは、テーブルリストの一番下までスクロールすると、[すべてチェック]をクリックして、その横にあるドロップダウンで「選択済み:」があり、「ドロップ」を選択すると、すべてのテーブルが空になります。

36
mkly

Information_schemaデータベースからSQLファイルを生成することもできます。

Select concat('DROP TABLE database_name.', table_name,';') from information_schema.TABLES where table_schema='database_name';

これにより、次のような出力が得られます。

DROP TABLE database_name.table1;
DROP TABLE database_name.table2;
[...]
DROP TABLE database_name.tableN;
5
Warnaud

私はあなたのニーズに直接合うものは何も知りません。次のことを試してみてください。

これを実行して、ドロップコマンドを表示します。

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
grep ^DROP


Nexこれを実行して、実際にドロップコマンドを実行できます。

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
grep ^DROP | 
mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
3
codaddict
$q=mysql_query("SHOW TABLES FROM ".SQL_DATABASE_NAME);

while($r=mysql_fetch_assoc($q)){
    mysql_query("DROP TABLE ".$r["Tables_in_".SQL_DATABASE_NAME]); 
}

それは私のために働きます!