PHP MySQL DELETE, TRUNCATE, DROP Table
Как удалить, обрезать и удалить таблицу MySQL с помощью PHP в XAMPP
В этом руководстве мы обсудим, как выполнять операции DELETE, TRUNCATE и DROP в таблице базы данных MySQL с использованием PHP в XAMPP в Linux.
Прежде чем углубляться в эту тему, давайте разберемся в различиях между командами «Удалить», «Усечь» и «Отбросить».
Разница между командами DROP, TRUNCATE и DELETE
В следующей таблице показано, что такое команды DELETE, TRUNCATE, DROP и когда их использовать.
DROP | TRUNCATE | DELETE |
DROP will delete entire table (both rows and structure-columns). | TRUNCATE deletes all the rows in the table and structure(columns) will remain the same. | DELETE is used to delete particular rows based on the condition specified in WHERE clause |
Syntax:DROP TABLE table_name | Syntax:TRUNCATE TABLE table_name | Syntax:DELETE FROM table_name WHERE condition |
DROP is an Data Definition Language (DDL) Command | TRUNCATE is an Data Definition Language (DDL) Command | DELETE is an Data Manipulation Language (DML) Command |
DROP & TRUNCATE are equal in terms of computing. | TRUNCATE is faster than DELETE. | DELETE is slower than TRUNCATE. |
WHERE Clause is not used. | WHERE Clause is not used. | WHERE Clause is used. |
Use this when you don't need the table anymore. | Use this when you want to empty a table. | Use this when you want to delete a certain records from a table. |
DROP против TRUNCATE против DELETE
В двух словах,
- DELETE удалит определенные записи,
- TRUNCATE удалит все записи, но не удалит таблицу.
- и DROP удалит всю таблицу.
Предварительные условия
В демонстрационных целях я создал таблицу под названием "sales" в базе данных MySQL под названием "my_company" со следующими записями.
id | name | count |
1 | Cooking-Gas | 40 |
5 | Shampoo | 10 |
2 | Milk | 20 |
3 | Books | 14 |
4 | Chocos | 45 |
6 | Eggs | 12 |
Записи из таблицы продаж
Просмотр записей таблицы в базе данных MySQL
Внимание! В XAMPP имена базы данных и таблиц нечувствительны к регистру. Он будет рассматривать верхний/нижний регистр только как строчные.
Если вы еще не создали базу данных и таблицу, обратитесь к следующему руководству.
- Создание базы данных и таблицы MySQL с использованием PHP в XAMPP
Шаги по написанию 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.
Если это правда, то запись удаляется. В противном случае он вернет ошибку. Мы можем проверить ошибку, используя функцию mysqli_error($connection).
6. Закройте соединение с помощью функции mysqli_close()
.
Синтаксис:
mysqli_close($connection);
Давайте рассмотрим обсуждение использования каждой команды на примере.
УДАЛИТЬ строки из таблицы MySQL с помощью PHP
Команда DELETE используется для удаления определенной строки из таблицы.
Синтаксис запроса:
DELETE FROM table_name where condition;
Пример кода:
В этом примере мы удалим строку, в которой указан id=3.
Создайте обычный текстовый файл с именем delete.php
в папке /htdocs
со следующим содержимым.
Внимание! Если вы используете Linux, папка htdocs будет находиться в каталоге /opt/lampp/
. Если вы используете Windows, htdocs обычно находится в папке 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);
?>
Откройте веб-браузер и перейдите по адресу http://localhost/delete.php. Вы увидите такой вывод в окне браузера.
УДАЛИТЬ строки из таблицы MySQL с помощью PHP
Вы можете проверить, действительно ли строка удалена, на панели управления PhpMyAdmin.
Откройте панель управления phpMyAdmin, перейдя по URL-адресу http://localhost/phpmyadmin в браузере.
Нажмите «Обзор», чтобы просмотреть оставшиеся записи.
Просмотр записей в таблице MySQL
Как видите, строка с id=3 исчезла.
Усечь таблицу MySQL с помощью PHP
Команда 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);
?>
Перейдите к файлу http://localhost/truncate.php в веб-браузере. В окне браузера вы увидите сообщение «Усечено успешно».
Перейдите на панель управления phpMyAdmin и нажмите «Обзор», чтобы проверить, существуют ли какие-либо записи.
Усечь таблицу MySQL с помощью PHP
Как вы можете видеть на скриншоте выше, все записи удалены.
УДАЛИТЬ таблицу MySQL с помощью PHP
Команда 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);
?>
Откройте веб-браузер и перейдите по адресу http://localhost/drop.php, и вы увидите сообщение "Успешно удалено".
Зайдите в phpMyAdmin и проверьте, существует ли таблица или нет.
УДАЛИТЬ таблицу MySQL с помощью PHP
Да, в базе данных my_company нет такой таблицы «продажи». Мы просто удалили его с помощью команды DROP.
Заключение
В этом пошаговом руководстве мы обсудили три команды MySQL, а именно DELETE, TRUNCATE и DROP. Используя эти три команды, мы показали вам, как удалить одну строку из таблицы MySQL, удалить все строки в таблице и, наконец, удалить всю таблицу с помощью PHP.