首页博客网络编程
到目前为止,我们已经介绍了如何使用数据库管理系统来保存我们的数据。但是,某些数据会随时间而失去相关性。现在,我们将解释如何使MySQL删除行和其他表组件。
将不需要的数据排除在数据库之外将为您提供更多空间,并使您更容易组织和访问关键信息。有时,您甚至可能需要使MySQL删除表。如果要具体说明要删除的数据,则必须应用条件子句。
MySQL 删除行任务与删除旧记录相关联。由于行中充满了数据,因此如果要删除旧信息,则应将其删除。
通过使用PHP和SQL语句,您可以使MySQL删除数据库中不再需要的用户或其他记录。
删除不必要的数据而不是让它占用数据库中的空间非常重要。
您可以使您的MySQL删除行,用户甚至整个表。
使用 MySQL 语句,您可以从表中删除某些记录:DELETE
例复制
<?php
$host = 'host';
$user = 'user';
$pass = 'pass';
$db = 'db'; try {
$conn = new PDO("mysql:host=$host;dbname=$db",$user,$pass);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// sql to delete a record
$sql= "DELETE FROM users WHERE user_id=3";
// use exec() because no results are returned
$conn->exec($sql);
echo "Record deleted successfully";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
如果要指定要消除的记录,则语句中的子句至关重要。如果未包含子句,您将删除所有记录。换句话说,MySQL删除表任务将完成。WHEREDELETEWHERE
通过使用一个例子,我们现在将解释如何MySQL删除行。让我们看一下下表:每一行代表某个用户的详细信息。因此,如果我们希望MySQL从表中删除用户详细信息,我们需要删除它们的行。
| user_id | 名字 | 姓 | 电子邮件 | reg_date |
|---|---|---|---|---|
| 1 | 约翰尼 | 道金斯 | johny@example.com | 2017-07-23 15:22:16 |
| 2 | 玛格丽特 | 约翰生 | marg@example.com | 2017-08-24 11:24:31 |
| 3 | 朱丽叶 | 涂鸦 | juliete@example.com | 2017-09-27 11:49:24 |
在下面的示例中,我们向 PHP 删除表示第三个用户(等于 3)的行编写语句。您应该使用哪一个取决于您选择的MySQL连接类型:它们适用于MySQLi面向对象(第一个示例),MySQLi过程(第二个示例)和PDO(最后一个示例)连接:user_id
例复制
<?php
$host = 'host';
$user = 'user';
$pass = 'pass';
$db = 'db'; // Create connection
$conn = new mysqli($host, $user, $pass, $db); // Check connection
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error);
} // sql to delete a record
$sql = "DELETE FROM users WHERE user_id=3";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else { echo "Failed to delete: " . $conn->error;
}
$conn->close();
?>
例复制
<?php
$host = 'host';
$user = 'user';
$pass = 'pass';
$db = 'db'; // Create connection
$conn = mysqli_connect($host, $user, $pass, $db);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
} // sql to delete a record
$sql = "DELETE FROM users WHERE user_id=3";
if (mysqli_query($conn, $sql)) {
echo "Record deleted successfully";
} else {
echo "Failed to delete: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
例复制
<?php
$host = 'host';
$user = 'user';
$pass = 'pass';
$db = 'db'; try {
$conn = new PDO("mysql:host=$host;dbname=$db",$user,$pass);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// sql to delete a record
$sql= "DELETE FROM users WHERE user_id=3";
// use exec() because no results are returned
$conn->exec($sql);
echo "Record deleted successfully";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
一旦语句被执行,我们将成功地使MySQL删除我们不需要的行。让我们看看表格现在的样子:
| user_id | 名字 | 姓 | 电子邮件 | reg_date |
|---|---|---|---|---|
| 1 | 约翰尼 | 道金斯 | johny@example.com | 2017-07-23 15:22:16 |
| 2 | 玛格丽特 | 约翰生 | marg@example.com | 2017-08-24 11:24:31 |
每当不再需要数据库中的某些信息时,都可以使用 PHP 和 SQL 语句轻松删除它。
如果您不定期删除不相关的数据,它最终会在数据库中占用太多空间。
在MySQL中,您可以轻松删除表及其元素。
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位