如果想从任何MySQL表中删除纪录,那么可以使用SQL命令:DELETE FROM. 可以使用这个命令在MySQL>提示符,以及PHP等脚本的语言。

语法

这里是DELETE命令从一个MySQL表中删除数据的通用的SQL语法:

DELETE FROM table_name [WHERE Clause]
  • 如果WHERE子句没有指定,则所有MySQL表中的记录将被删除。
  • 可以指定使用任何条件在WHERE子句中。
  • 可以一次删除一个表中的所有记录。

当要删除一个表中选择特定行,WHERE子句是非常有用的。

1、从命令提示符删除数据

使用SQL DELETE命令,在WHERE子句中选定 MySQL 表 docs_tbl 的数据将被删除。

示例

下面的例子将删除 docs_tbl表中 docs_id为3的一条记录。

[root@linuxxyz ~]# mysql -u root -p
Enter password:
mysql> use test;
Database changed
mysql> DELETE FROM docs_tbl WHERE docs_id=3;
Query OK, 1 row affected (0.23 sec)

2、使用PHP脚本删除数据

可以使用SQL DELETE命令带或不带WHERE子句到PHP的mysql_query()函数。在MySQL的>提示符下执行该函数,将执行类似SQL命令的效果。

示例

尝试下面的例子,表 docs_tbl 中的docs_id为3的记录将被删除。

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'DELETE FROM docs_tbl
        WHERE docs_id=3';

mysql_select_db('test');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
?>