delete命令从指定的表中删除表行,并返回已删除的数量。 访问使用row_count()函数删除的数量。 where子句指定行,如果没有行,则删除所有行。 limit子句控制删除的行数。
在多行的delete语句中,它只删除满足条件的那些行; 并且不允许limit和where子句。 delete语句允许从不同数据库中的表中删除行,但不允许从表中删除,然后从子查询中的同一个表中进行选择。
查看以下delete语法 -
delete from table_name [where …]
从命令提示符或使用php脚本执行delete命令。
在命令提示符下,只需使用标准命令 -
root@host# mysql –u root –p password; enter password:******* mysql> use products; database changed mysql> delete from products_tbl where product_id=133; mysql> select * from products_tbl where id_number='133'; error 1032 (hy000): can't find record in 'products_tbl'
在delete命令语句中使用mysql_query()函数 -
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('could not connect: ' . mysql_error()); } $sql = 'delete from products_tbl where product_id = 261'; mysql_select_db('products'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('could not delete data: ' . mysql_error()); } echo "deleted data successfully "; mysql_close($conn); ?>
成功删除数据后,您将看到以下输出 -
mysql> deleted data successfully mysql> select * from products_tbl where id_number='261'; error 1032 (hy000): can't find record in 'products_tbl'