PHP MySQL 删除、截断、删除表

在本指南中,我们将讨论如何在 Linux 的 XAMPP 中使用 PHP 对 MySQL 数据库表执行 DELETE、TRUNCATE 和 DROP 操作。

在进入主题之前,让我们了解 Delete、Truncate 和 Drop 命令之间的区别。

内容

  1. DROP、TRUNCATE 和 DELETE 命令的区别
  2. 先决条件
  3. 编写 PHP 代码的步骤
  4. 使用 PHP 从 MySQL 表中删除行
  5. 使用 PHP 截断 MySQL 表
  6. 使用 PHP 删除 MySQL 表
  7. 结论

DROP、TRUNCATE 和 DELETE 命令的区别

下表显示了什么是 DELETE、TRUNCATE、DROP 命令以及何时使用它们。

降低 截短 删除
降低 将删除整个表(行和结构列)。 截短 删除表中的所有行,结构(列)将保持不变。 删除 用于根据指定的条件删除特定行 WHERE 条款
句法:
DROP TABLE table_name
句法:
TRUNCATE TABLE table_name
句法:
DELETE FROM table_name WHERE condition
DROP 是一种数据定义语言 (DDL) 命令 TRUNCATE 是一种数据定义语言 (DDL) 命令 DELETE 是一种数据操作语言 (DML) 命令
DROP & TRUNCATE 在计算方面是相等的。 TRUNCATE 比 DELETE 快。 DELETE 比 TRUNCATE 慢。
WHERE 不使用从句。 WHERE 不使用从句。 WHERE 使用从句。
当您不再需要桌子时使用它。 当你想清空一个表时使用它。 当您想从表中删除某些记录时使用此选项。

删除与截断与删除

简而言之,

  • DELETE 将删除特定记录,
  • TRUNCATE 将删除所有记录但不会删除表,
  • 并且 DROP 将删除整个表。

先决条件

出于演示目的,我创建了一个名为 “销售量” 在一个名为的 MySQL 数据库中 “我的公司” 有以下记录。

ID 姓名 数数
1 烹饪气体 40
5 洗发水 10
2 牛奶 20
3 图书 14
4 巧克力 45
6 12

来自销售表的记录

查看 MySQL 数据库中的表记录

小心: 在 XAMPP 中,数据库和表名不区分大小写。 它将仅将大写/小写视为小写。

如果您尚未创建数据库和表,请参阅以下指南。

  • 在 XAMPP 中使用 PHP 创建 MySQL 数据库和表

编写 PHP 代码的步骤

1. 在您的 PHP 代码中指定服务器名称、用户名、密码和数据库名称。

2. 使用创建连接 mysqli_connect() 功能。

代码:

$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

3. 检查连接使用 mysqli_connect_error() 中指定的功能 if 健康)状况。 如果连接失败,此函数将表示错误。 这是一个可选步骤。

4. 指定 SQL 查询以使用 DELETE/DROP/TRUNCATE 命令从表中删除特定行。

5. 使用 mysqli_multi_query() 检查值是否被删除的函数。

句法:

mysqli_multi_query($connection, $query)

这里,

  • $connection 指定连接详细信息,
  • $query 是sql查询。

如果这是 True,则删除该记录。 否则会返回错误。 我们可以使用 mysqli_error($connection) 函数来检查错误。

6. 使用关闭连接 mysqli_close() 功能。

句法:

mysqli_close($connection);

让我们通过一个示例来讨论每个命令的用法。

使用 PHP 从 MySQL 表中删除行

DELETE 命令用于从表中删除特定行。

查询语法:

DELETE FROM table_name where condition;

示例代码:

在本例中,我们将删除 id=3.

创建一个名为的纯文本文件 delete.php 在下面 /htdocs 包含以下内容的文件夹。

小心: 如果您使用 Linux,则 文档 文件夹将在 /opt/lampp/ 目录。 如果您使用的是 Windows,则 文档 通常会在 C:xampp 文件夹。

<?php //specify the server name $server_name = "localhost";  //specify the username $user_name = "root";  //specify the password - Here, the password is empty $password = "";  //specify the database name $database_name = "my_company";  // Creating the connection by specifying the connection details $connection = mysqli_connect($server_name, $user_name, $password, $database_name);  //delete record with id-3 $query = "DELETE FROM sales where id=3";  if (mysqli_multi_query($connection, $query)) {   echo "record deleted Successfully"; } else {   echo "Error:" . mysqli_error($connection); }  //close the connection mysqli_close($connection); ?>

打开您的网络浏览器并导航到 https://localhost/delete.php. 您将在浏览器窗口中看到这样的输出。

使用 PHP 从 MySQL 表中删除行

您可以验证该行是否真的从 PhpMyAdmin 仪表板中删除。

通过从浏览器导航到 https://localhost/phpmyadmin URL 打开 phpMyAdmin 仪表板。

单击浏览以查看剩余记录。

查看 MySQL 表中的记录查看 MySQL 表中的记录

如您所见,id=3 的行不见了。

使用 PHP 截断 MySQL 表

TRUNCATE 命令用于从 MySQL 数据库表中删除所有行。

查询语法:

TRUNCATE TABLE table_name;

示例代码:

在此示例中,我们将删除所有行。

创建一个名为 truncate.php 有以下内容。

<?php //specify the server name $server_name = "localhost";  //specify the username $user_name = "root";  //specify the password - it is empty $password = "";  //specify the database name $database_name = "my_company";  // Creating the connection by specifying the connection details $connection = mysqli_connect($server_name, $user_name, $password, $database_name);  //delete all records $query = "TRUNCATE table sales";   if (mysqli_multi_query($connection, $query)) {   echo "Truncated Successfull"; } else {   echo "Error:" . mysqli_error($connection); }  //close the connection mysqli_close($connection); ?>

导航 https://localhost/truncate.php 来自您的网络浏览器的文件。 你会看见 “截断成功” 浏览器窗口中的消息。

转到 phpMyAdmin 仪表板并单击浏览以查看是否存在任何记录。

使用 PHP 截断 MySQL 表使用 PHP 截断 MySQL 表

正如您在上面的屏幕截图中看到的,所有记录都被删除。

使用 PHP 删除 MySQL 表

DROP 命令用于删除整个表。

查询语法:

DROP TABLE table_name;

示例代码:

在此示例中,我们将删除整个表及其结构(行和列)。

创建一个名为 drop.php 内容如下:

<?php //specify the server name $server_name = "localhost";  //specify the username $user_name = "root";  //specify the password - it is empty $password = "";  //specify the database name $database_name = "my_company";  // Creating the connection by specifying the connection details $connection = mysqli_connect($server_name, $user_name, $password, $database_name);  $query = "DROP table sales";   if (mysqli_multi_query($connection, $query)) {   echo "Dropped Successfully"; } else {   echo "Error:" . mysqli_error($connection); }  //close the connection mysqli_close($connection); ?>

打开您的网络浏览器并导航到 https://localhost/drop.php 你会看到 “成功掉线” 信息。

转到 phpMyAdmin 并检查该表是否存在。

使用 PHP 删除 MySQL 表使用 PHP 删除 MySQL 表

是的,在 my_company 数据库中没有名为“sales”的表。 我们刚刚使用 DROP 命令删除了它。

结论

在本步骤指南中,我们讨论了三个 MySQL 命令,即 DELETE、TRUNCATE 和 DROP。 使用这三个命令,我们向您展示了如何从 MySQL 表中删除单行,删除表中的所有行,最后使用 PHP 删除整个表。

Delete RowsDrop TableLinuxMySQLMySQL 命令PHPPHP MySQLProgrammingTruncate TableXAMPP