Mysqli-delete-query

提供:Dev Guides
移動先:案内検索

MySQLi-DELETEクエリ

MySQLiテーブルからレコードを削除する場合は、SQLコマンド DELETE FROM を使用できます。 このコマンドは、mysql>プロンプトだけでなく、PHPなどのスクリプトでも使用できます。

構文

MySQLiテーブルからデータを削除するDELETEコマンドの一般的なSQL構文は次のとおりです-

DELETE FROM table_name [WHERE Clause]
  • WHERE句が指定されていない場合、指定されたMySQLiテーブルからすべてのレコードが削除されます。
  • WHERE句を使用して、任意の条件を指定できます。
  • 一度に1つのテーブルのレコードを削除できます。

WHERE句は、テーブル内の選択した行を削除する場合に非常に便利です。

コマンドプロンプトからのデータの削除

これは、SQL DELETEコマンドとWHERE句を使用して、選択したデータをMySQLiテーブルtutorials_infに削除します。

次の例では、joharという名前のtutorial_infにレコードを削除します。

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> DELETE FROM tutorials_inf where name = 'johar';
Query OK, 1 row affected (0.23 sec)

mysql>

PHPスクリプトを使用したデータの削除

PHPの関数* mysqli_query()*にWHERE句を使用して、または使用せずにSQL DELETEコマンドを使用できます。 この関数は、mysql>プロンプトで実行されるのと同様の方法でSQLコマンドを実行します。

次の例を試して、althamasという名前のtutorial_infからレコードを削除してください。

<?php
   $dbhost = 'localhost:3306';
   $dbuser = 'root';
   $dbpass = '';
   $dbname = 'TUTORIALS';
   $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);

   if(! $conn ) {
      die('Could not connect: ' . mysqli_error());
   }
   echo 'Connected successfully<br>';
   $sql = ' DELETE FROM tutorials_inf WHERE name = "althamas"';

   if (mysqli_query($conn, $sql)) {
      echo "Record deleted successfully";
   } else {
      echo "Error deleting record: " . mysqli_error($conn);
   }
   mysqli_close($conn);
?>

サンプル出力は次のようになります。

Connected successfully
Record deleted successfully