首页博客网络编程
释放一些空间:使MySQL删除行和其他表元素
摘要 每当不再需要数据库中的某些信息时,都可以使用 PHP 和 SQL 语句轻松删除它。 如果您不定期删除不相关的数据,它最终会在数据库中占用太多空间。 在MySQL中,您可以轻松删除表及其元素。

到目前为止,我们已经介绍了如何使用数据库管理系统来保存我们的数据。但是,某些数据会随时间而失去相关性。现在,我们将解释如何使MySQL删除行和其他表组件。

将不需要的数据排除在数据库之外将为您提供更多空间,并使您更容易组织和访问关键信息。有时,您甚至可能需要使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.com2017-07-23 15:22:16
2玛格丽特约翰生marg@example.com2017-08-24 11:24:31
3朱丽叶涂鸦juliete@example.com2017-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.com2017-07-23 15:22:16
2玛格丽特约翰生marg@example.com2017-08-24 11:24:31

MySQL 删除行:摘要

  • 每当不再需要数据库中的某些信息时,都可以使用 PHP 和 SQL 语句轻松删除它。

  • 如果您不定期删除不相关的数据,它最终会在数据库中占用太多空间。

  • 在MySQL中,您可以轻松删除表及其元素。


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/186

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位