SQL delete CommandDelete query is used to delete records from the table. This query is used along with some condition to selectively delete records from the table. To delete all the records from the table we can use truncate command like this
This will remove all the records from the table. This is one way of deleting all the records from a table. Now let us try to delete records based on some selection. Now let us delete records of the students who has got mark less than 60. Here we are selectively deleting the records so we have to use WHERE clause to match the selection.
This will delete records for which mark is less than 60.
More on SQL WHERE command tutorial .
Deleting records from multiple tables.We can delete linked records from two tables by using single query. We know that there are two records in student_fee table and one record in student table for student id =2. We will delete them in single query
Now let us remove all the records from student table where they are present in student_fee table. This is same as deleting all records which are present in both tables.
Deleting from three tablesHere are three tables linked to each other ( Country > State > City )
This single query will delete CAN from plus2_country , delete all records from table plus2_state having country code ='CAN' and Delete all records from plus2_city for matching STATE of Country Canada
Deleting records that don't exist in another tableThis is required when we want to delete students who have not paid their fees. Now we will remove such records from first table ( student ) for which matching record is not available in second table ( student_fee ).
By using left Join
By using NOT EXISTS and subquery
By using NOT IN
Executing delete query using PHP ScriptAfter preparing the SQL we can execute the query from our PHP Script. Here is sample code using Php PDO.
config.php file is the database connection file.
$query is the string variable storing our SQL
Download sql dump of this student table
Download sql dump of linked student_fee table