English 中文(简体)
MySQL - Delete Query
  • 时间:2024-09-17

MySQL - DELETE Query


Previous Page Next Page  

If you want to delete a record from any MySQL table, then you can use the SQL command DELETE FROM. You can use this command at the mysql> prompt as well as in any script pke PHP.

Syntax

The following code block has a generic SQL syntax of the DELETE command to delete data from a MySQL table.


DELETE FROM table_name [WHERE Clause]

    If the WHERE clause is not specified, then all the records will be deleted from the given MySQL table.

    You can specify any condition using the WHERE clause.

    You can delete records in a single table at a time.

The WHERE clause is very useful when you want to delete selected rows in a table.

Deleting Data from the Command Prompt

This will use the SQL DELETE command with the WHERE clause to delete selected data into the MySQL table – tutorials_tbl.

Example

The following example will delete a record from the tutorial_tbl whose tutorial_id is 3.


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

mysql> use TUTORIALS;
Database changed

mysql> DELETE FROM tutorials_tbl WHERE tutorial_id=3;
Query OK, 1 row affected (0.23 sec)

mysql>

Deleting Data Using a PHP Script

PHP uses mysqp query() or mysql_query() function to delete records in a MySQL table. This function takes two parameters and returns TRUE on success or FALSE on failure.

Syntax


$mysqp->query($sql,$resultmode)

Sr.No. Parameter & Description
1

$sql

Required - SQL query to delete records in a MySQL table.

2

$resultmode

Optional - Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.

Example

Try the following example to delete a record in a table −

Copy and paste the following example as mysql_example.php −


<html>
   <head>
      <title>Deleting MySQL Table record</title>
   </head>
   <body>
      <?php
         $dbhost =  localhost ;
         $dbuser =  root ;
         $dbpass =  root@123 ;
         $dbname =  TUTORIALS ;
         $mysqp = new mysqp($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqp->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqp->connect_error);
            exit();
         }
         printf( Connected successfully.<br /> );
		 
         if ($mysqp->query( DELETE FROM tutorials_tbl where tutorial_id = 4 )) {
            printf("Table tutorials_tbl record deleted successfully.<br />");
         }
         if ($mysqp->errno) {
            printf("Could not delete record from table: %s<br />", $mysqp->error);
         }
         $sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date 
            FROM tutorials_tbl";
		 
         $result = $mysqp->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["tutorial_id"], 
                  $row["tutorial_title"], 
                  $row["tutorial_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf( No record found.<br /> );
         }
         mysqp_free_result($result);
         $mysqp->close();
      ?>
   </body>
</html>

Output

Access the mysql_example.php deployed on apache web server and verify the output. Here we ve entered multiple records in the table before running the select script.


Connected successfully.
Table tutorials_tbl record deleted successfully.
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021
Id: 5, Title: Apache Tutorial, Author: Suresh, Date: 2021
Advertisements