开发者社区 问答 正文

PHP MySQL Delete From


DELETE FROM 语句用于从数据库表中删除行。


删除数据库中的数据


DELETE FROM 语句用于从数据库表中删除记录。

语法


DELETE FROM table_name
WHERE column_name = some_value

注释:SQL 对大小写不敏感。DELETE FROM 与 delete from 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数。该函数用于向 SQL 连接发送查询和命令。

例子


稍早时,我们在本教程中创建了一个名为 "Persons" 的表。它看起来类似这样:
FirstName LastName Age
Peter Griffin 35
Glenn Quagmire 33

下面的例子删除 "Persons" 表中所有 LastName='Griffin' 的记录:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

mysql_query("DELETE FROM Persons WHERE LastName='Griffin'");

mysql_close($con);
?>

在这次删除之后,表是这样的:
FirstName LastName Age
Glenn Quagmire 33

展开
收起
游客nm6mpjb2722bc 2015-07-20 10:42:32 9229 分享 版权
阿里云 AI 助理回答

您提供的是关于使用SQL DELETE语句从数据库表中删除特定记录的基本概念和示例代码,这里您是用PHP与MySQL进行交互。不过,请注意,您所使用的mysql_*函数(如mysql_connectmysql_query等)在PHP中已经被弃用,并不再推荐使用。自PHP 5.5.0起,建议使用MySQLi或PDO(PHP Data Objects)扩展来增强性能和安全性。

以下是使用MySQLi扩展重写上述示例的代码:

<?php
$servername = "localhost";
$username = "peter";
$password = "abc123";
$dbname = "my_db";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 准备SQL语句
$sql = "DELETE FROM Persons WHERE LastName='Griffin'";

// 执行SQL语句
if ($conn->query($sql) === TRUE) {
    echo "记录删除成功";
} else {
    echo "删除错误: " . $conn->error;
}

// 关闭连接
$conn->close();
?>

这段代码首先创建了一个到数据库的新连接,然后准备并执行了相同的DELETE语句,最后关闭了数据库连接。使用MySQLi的面向对象方式不仅更加现代化,而且提供了预处理语句等功能,可以进一步提升安全性和效率。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答