MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

PHPスクリプトを使って既存のMySQLテーブルを削除する方法

PHPには、MySQLデータベースに対してSQLクエリを実行するための関数 mysql_query が用意されています。この関数と DROP TABLE ステートメントを組み合わせることで、既存のMySQLテーブルを簡単に削除できます。

基本的な流れ

PHPスクリプトでテーブルを削除する手順は以下の通りです。

  1. mysql_connect() でMySQLサーバーに接続する
  2. mysql_select_db() で操作対象のデータベースを選択する
  3. DROP TABLE テーブル名 というSQL文を作成する
  4. mysql_query() でSQL文を実行する

サンプルコード

次の例では、PHPスクリプトを使用して「tutorials_tbl」という名前のテーブルを削除しています。

<html>
   <head>
      <title>MySQLテーブルの削除</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost:3036';
         $dbuser = 'root';
         $dbpass = 'rootpassword';
         $conn = mysql_connect($dbhost, $dbuser, $dbpass);
         
         if(! $conn ) {
            die('接続できませんでした: ' . mysql_error());
         }
         echo '接続に成功しました<br />';
         $sql = "DROP TABLE tutorials_tbl";
         mysql_select_db( 'TUTORIALS' );
         $retval = mysql_query( $sql, $conn );
         
         if(! $retval ) {
             die('テーブルを削除できませんでした: ' . mysql_error());
         }
         echo "テーブルが正常に削除されました\n";
         mysql_close($conn);
      ?>
   </body>
</html>

コードのポイント

  • 接続に失敗した場合は die() で処理を中断し、mysql_error() によってエラー内容を表示します。
  • DROP TABLE の実行結果は $retval に格納され、失敗した場合も同様にエラーメッセージを出力して終了します。
  • 処理が完了したら mysql_close() を呼び出して、データベース接続を明示的に閉じます。

注意点:mysql_* 関数は非推奨

mysql_connectmysql_query といった mysql 拡張モジュールの関数は、PHP 5.5.0 で非推奨となり、PHP 7.0 以降では完全に削除されました。現在開発を行う場合は、より安全で機能豊富な mysqli 拡張モジュールまたは PDO(PHP Data Objects) を使用することを強くおすすめします。特に、プレースホルダを使ったプリペアドステートメントを利用すれば、SQLインジェクションのリスクも大幅に軽減できます。

  1. PHPスクリプトでMySQLテーブルのNULL値を処理するにはどうすればよいですか?

    NULL値に応じたクエリの組み立て方PHPスクリプトでは、if...else条件文を活用することで、NULL値の有無に応じたSQLクエリを動的に作成できます。NULLは通常の比較演算子(= など)では判定できないため、変数に値が設定されているかを事前にチェックし、NULLの場合はIS NULLを使用したクエリへ切り替えるのがポイントです。サンプルデータここでは、次のデータを持つテーブルtcount_tblを例に説明します。mysql> SELECT * from tcount_tbl;+-----------------+----------------+| tutorial_autho

  2. PythonとMySQLでテーブルからレコードを削除する方法を徹底解説

    データベースを運用していると、テーブルから特定の行(レコード)を削除する必要が生じることがあります。例えば、クラスの生徒情報を管理するテーブルがあるとしましょう。ある生徒がクラスを退会した場合、その生徒の情報はもう不要になるため、該当する行をテーブルから削除する必要があります。 MySQLでは「DELETE FROM」ステートメントを使用して、テーブルから行やレコードを削除します。「WHERE」句を使うことで、削除対象の行を指定できます。なお、WHERE句を指定しない場合は、テーブル内のすべてのレコードが削除されてしまうため注意が必要です。 構文 すべての行を削除する場合 − DELETE F