PHPスクリプトを使って既存のMySQLテーブルを削除する方法
PHPには、MySQLデータベースに対してSQLクエリを実行するための関数 mysql_query が用意されています。この関数と DROP TABLE ステートメントを組み合わせることで、既存のMySQLテーブルを簡単に削除できます。
基本的な流れ
PHPスクリプトでテーブルを削除する手順は以下の通りです。
mysql_connect()でMySQLサーバーに接続するmysql_select_db()で操作対象のデータベースを選択するDROP TABLE テーブル名というSQL文を作成する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_connect や mysql_query といった mysql 拡張モジュールの関数は、PHP 5.5.0 で非推奨となり、PHP 7.0 以降では完全に削除されました。現在開発を行う場合は、より安全で機能豊富な mysqli 拡張モジュールまたは PDO(PHP Data Objects) を使用することを強くおすすめします。特に、プレースホルダを使ったプリペアドステートメントを利用すれば、SQLインジェクションのリスクも大幅に軽減できます。
-
PHPスクリプトでMySQLテーブルのNULL値を処理するにはどうすればよいですか?
NULL値に応じたクエリの組み立て方PHPスクリプトでは、if...else条件文を活用することで、NULL値の有無に応じたSQLクエリを動的に作成できます。NULLは通常の比較演算子(= など)では判定できないため、変数に値が設定されているかを事前にチェックし、NULLの場合はIS NULLを使用したクエリへ切り替えるのがポイントです。サンプルデータここでは、次のデータを持つテーブルtcount_tblを例に説明します。mysql> SELECT * from tcount_tbl;+-----------------+----------------+| tutorial_autho
-
PythonとMySQLでテーブルからレコードを削除する方法を徹底解説
データベースを運用していると、テーブルから特定の行(レコード)を削除する必要が生じることがあります。例えば、クラスの生徒情報を管理するテーブルがあるとしましょう。ある生徒がクラスを退会した場合、その生徒の情報はもう不要になるため、該当する行をテーブルから削除する必要があります。 MySQLでは「DELETE FROM」ステートメントを使用して、テーブルから行やレコードを削除します。「WHERE」句を使うことで、削除対象の行を指定できます。なお、WHERE句を指定しない場合は、テーブル内のすべてのレコードが削除されてしまうため注意が必要です。 構文 すべての行を削除する場合 − DELETE F