首页博客网络编程
到目前为止,我们已经介绍了如何使用数据库管理系统来保存我们的数据。但是,某些数据会随时间而失去相关性。现在,我们将解释如何使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删除表任务将完成。WHERE
DELETE
WHERE
通过使用一个例子,我们现在将解释如何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中,您可以轻松删除表及其元素。
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位