sql >> データベース >  >> RDS >> Mysql

MySQLドロップデータベース

    MySQLでデータベースを削除する必要がある場合があります。これは、MySQLDROPDATABASEコマンドを使用して簡単に実行できます。 MySQLでデータベースを削除する方法は次のとおりです。

    MySQLでデータベースを削除する方法

    MySQLでデータベースを削除する手順は次のとおりです。 MySQLDROPDATABASEクエリを使用してデータベースを削除します。

    MySQLDROPDATABASEコマンドの構文は次のとおりです

    DROP DATABASE [IF EXISTS] database_name;

    正常に実行されると、MySQLは削除されたテーブルの数を返します。上記のコマンドで、database_nameを削除するデータベース名に置き換えます。

    存在しないデータベースを削除しようとすると、MySQLはエラーを表示します。したがって、オプションの引数IF EXISTS

    を使用することをお勧めします。

    MySQLでは、データベースはSCHEMAとも呼ばれます。したがって、DROPDATABASEの代わりにDROPSCHEMAを使用することもできます。

    DROP SCHEMA [IF EXISTS] database_name;

    ボーナスリード:MySQL DROP TABLE

    コマンドラインからのMySQLDROPDATABASE

    コマンドラインからデータベースを削除する方法の例を次に示します。それらを使用して、UbuntuLinuxCLIおよびその他のLinuxシステムからデータベースを削除できます。

    コマンドラインからMySQLにログインします。 SHOW DATABASESコマンドを使用して、MySQLユーザーが使用できるすべてのデータベースを一覧表示します。

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | dashboard          |
    | fedingo            |
    | mysql              |
    | performance_schema |
    | sample             |
    | test               |
    | test1              |
    | test2              |
    | test3              |
    | test4              |
    +--------------------+
    11 rows in set (0.00 sec)
    

    次に、MySQLDROPDATABASEコマンドを使用してMySQLのデータベースを削除します

    mysql> drop database test4;
    Query OK, 0 rows affected (0.33 sec)
    

    test4データベースにテーブルがないため、出力には「影響を受けた0行」が表示されます。

    ボーナスリード:MySQL DROP COLUMN

    MySQLですべてのデータベースを削除する方法

    MySQLで複数のデータベースを削除する前に注意してください。元に戻すことはできません。デフォルトでは、DROPDATABASEコマンドで一度に削除できるデータベースは1つだけです。したがって、MySQLで複数のデータベースを削除する場合は、データベースごとに個別のDROPDATABASEコマンドを実行する必要があります。

    ただし、データベーステーブルが多数あり、面倒な場合は、すべてのデータベースを削除するスクリプトを次に示します。

    mysql -u<user> -p<password> -e "show databases" | 
    grep -v Database | grep -v mysql | grep -v information_schema | 
    gawk '{print "SET FOREIGN_KEY_CHECKS = 0;drop database
    " $1 ";select sleep(0.1);"}' | mysql -u<user> -p<password>

    上記のスクリプトで、太字の部分をmysqlのユーザー名とパスワードに置き換えます

    ボーナスリード:MySQLで今日からレコードを取得する方法

    各行の機能を見てみましょう

    mysql -u<user> -p<password> -e "show databases"

    MySQLにログインし、データベースのリストを返します。のようなもの

    Database
    information_schema
    my_db
    another_db
    api_platform
    mysql
    testdb
    joomla
    wordpress
    dev
    drupal
    

    最初の行データベース 単なる文字列であり、データベース名ではありません。データベース名のリストは2行目から始まります。その中でinformation_schema はシステムデータベースであり、削除しないでください。したがって、上記の出力からこれらの2行を削除します

    | grep -v Database | grep -v mysql | grep -v information_schema

    最後に、 gawkを使用します フィルタリングされたデータベース名のリストをループし、リスト内のデータベース名ごとにMySQLDROPDATABASEコマンドを生成して実行するコマンド。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. Pentaho Data Integration(Kettle)CommunityEditionからOracle12cデータベースに接続する

    2. SQLServerプロファイラーの使用| SQLServerのパフォーマンスのトラブルシューティング-5

    3. CTEとサブクエリの違いは?

    4. MySQLを使用して、テーブルのレコードインデックスを含む列を生成するにはどうすればよいですか?