Всем привет. Бывают случаи когда возникает необходимость удалить базу данных MySql. Почему удалить, а не редактировать? Просто по незнанию нагородили кучу таблиц, или не знаете как выявить ошибку. Проще снести и создать новую БД. Лучшим вариантом, конечно, будет произвести импорт резервной копии базы данных. В принципе, каждый уважающий себя администратор должен знать как удалить базу данных MySql.
Вход в phpMyAdmin
Рассмотрим работу с базами данных MySql в phpMyAdmin, который встроен в локальный сервер Денвер (это вовсе не обязательно, лучше использовать для обучения и тренировки). После установки локального сервера на компьютер появится доступ в phpMyAdmin и возможность создавать базы данных.
Войти в phpMyAdmin на локальном сервере можно перейдя по ссылке: http://localhost./Tools/phpmyadmin/index.php.
Удаление базы данных MySql
В админке слева выбираете базу которую собираетесь убрать.
В следующем окне вверху кнопка Операции. Кликаете.
И последний шаг ⇒ жмёте Удалить базу данных (DROP).
Как удалить базу данных MySql из командной строки
БД можно стереть посредством команды в командной строке. Войдите в учетную запись на сервер БД: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root.
Команда на удаление БД выглядит так: DROP DATABASE database_name,
-где database_name обозначает имя базы данных.
Например, DROP DATABASE moyblog — обозначает удалить базу данных с именем moyblog.
Жмёте Enter, чем запустите выполнение команды. Система выдаст сообщение о завершении команды и затраченном времени.
Чистка и редактирование базы данных MySql
Удаление БД является радикальным методом. Во многих случаях достаточно будет убрать конкретную таблицу, очистить строки таблицы, некоторые записи – то есть провести редактирование базы данных MySql.
Удаление таблиц в базе данных
Войдите в нужную БД. Отметьте галкой нужные таблицы и нажмите Удалить. Если надо стереть лишь строки, не удаляя таблицу — жмите Очистить.
Очистить строки таблицы в БД
Входите в таблицу. На вкладке Обзор выбираете нужные строки и клацаете Удалить или Изменить.
Как видите удалить базу данных MySql совсем несложно,это дело пяти минут. Главное оставаться на чеку и не убрать лишнее.
Удачи Вам.
С уважением, Павел Коновалов
В этой статье описывается, как удалить (или удалить) базу данных MySQL или MariaDB через командную строку.
Прежде чем вы начнете
Все команды выполняются от имени администратора (минимальная привилегия,необходимая для удаления базы данных DROP) или от имени учетной записи root.
Чтобы получить доступ к консоли MySQL, введите следующую команду и введите ваш пароль пользователя root MySQL при появлении запроса:
mysql -u root -p
Если вы не установили пароль для своего корневого пользователя MySQL, вы можете пропустить переключатель -p.
Список всех баз данных MySQL
Перед удалением базы данных вы можете просмотреть список всех баз данных, которые вы создали. Для этого из оболочки MySQL выполните следующую команду:
SHOW DATABASES;
Команда выше напечатает список всех баз данных на сервере. Вывод должен быть похож на это:
+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec)
Удалить базу данных в MySQL
Удалить базу данных MySQL так же просто, как запустить одну команду. Это необратимое действие и должно выполняться с осторожностью. Убедитесь, что вы не удаляете неправильную базу данных, так как после удаления базы данных ее невозможно восстановить.
Всегда полезно создать резервную копию базы данных перед запуском запроса на удаление.
Чтобы удалить базу данных, введите следующую команду, где database_name находится имя базы данных, которую вы хотите удалить:
DROP DATABASE database_name;
Query OK, 1 row affected (0.00 sec)
Если вы попытаетесь удалить базу данных, которая не существует, вы увидите следующее сообщение об ошибке:
ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist
Чтобы избежать появления ошибок, как указано выше, используйте следующую команду:
DROP DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec)
В выводе выше Query OK означает, что запрос был успешным, и 1 warningговорит нам, что база данных не существует и база данных не была удалена.
В Linux базы данных MySQL и имена таблиц чувствительны к регистру.
Удалить базу данных MySQL с помощью mysqladmin
Вы также можете удалить базу данных MySQL из терминала Linux с помощью утилиты mysqladmin.
Например, чтобы удалить базу данных с именем database_name, введите следующую команду и введите свой пароль пользователя root MySQL при появлении запроса:
mysqladmin -u root -p drop database_name
Заключение
Вы узнали, как удалить базу данных MySQL.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как удалить базу MySQL – руководство по минированию
От автора: вы зачем трете ластиком монитор? Базу данных хотите удалить? Так может лезвием попробовать! Подождите, я пошутил (оказывается, неудачно)! Уберите опаску от экрана, садитесь и запоминайте, как удалить базу MySQL.
Зачем так радикально?
Удаление БД – это самое крайнее средство, но знание данной операции поможет вам сэкономить уйму времени, сил и нервов. Почему? Если вы когда-нибудь очень близко «общались» с любой из СУБД и создавали в ней различные структуры данных, то должны знать, что иногда легче просто «стереть» базу (таблицу) и пересоздать ее заново. Особенно в такие дни, когда то ли не по феншую ногу с утра поставили, то ли звезды не так расположились… В общем, в такие дни все бутерброды ложатся (падая) колбасой на землю, а девушки улыбаются не вам.
Понятно, что против звезд не попрешь, и все базы из-под вашей руки выходят какие-то «кривые». То не тот тип столбца задашь, то законнектиться нормально не получается. А с триггерами и процедурами вообще полнейший мрак! В таком случае легче просто удалить MySQL данные.
То же самое касается БД, которые прошли через руки «чайных дел мастеров». Причем никто кроме вас не виноват, потому что сами (как администратор баз данных) наделили их правами на изменение и добавление записей в таблицы. В этой ситуации также легче стереть все данные и пересоздать БД из резервной копии. В общем, настоящий админ должен знать не только, как создать, но и как удалить. Точно так же, как квалифицированный стоматолог должен уметь не только вставлять, но и удалять зубы .
Программные оболочки
Начнем обзор вариантов решения проблемы с возможностей нашей любимой оболочки для администрирования MySQL. Заходим в интерфейс phpMyAdmin, слева выделяем «провинившуюся» базу. Затем в основном меню сверху переходим через пункт «Операции» и справа выбираем «Удалить базу данных (DROP)».
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Иногда нужно произвести неполное удаление данных MySQL (конкретную таблицу базы). Данная программа предоставляет для этого встроенный функционал.
В списке слева снова выбираем нужную БД. Затем в списке, который отображается во вкладке «Структура» выделите таблицу и нажмите слева ссылку «Удалить». Если требуется просто стереть из таблицы все строки, но не удалять ее, то для этого воспользуйтесь ссылкой «Очистить».
Чтобы удалить определенные записи таблицы, перейдите справа по ссылке. После этого по вкладке «Обзор» (верхнее меню), выделите в таблице нужные строки и нажмите на «Удалить».
MySQL Administrator также умеет «избавляться» от ненужных данных. Чтобы удалить БД MySQL, зайдите в программу под учетной записью администратора СУБД или пользователя, наделенного привилегией на выполнение команды DROP. В меню слева нажмите пункт «Schema». Визу выделите нужную базу, кликните правой клавишей и выберите команду «Drop Schema».
Для удаления таблицы в верхнем меню (при активной вкладке «Catalogs») перейдите в раздел «Schema Tables». Нажмите по имени «неправильной» таблицы правой клавишей и выберите команду («Drop Table»).
Средства SQL
Хватит играться, давайте теперь работать как профессионалы. Рассмотрим каким образом можно удалить базу данных MySQL с помощью языка структурированных запросов. Для этого используется команда DROP DATABASE. Ее синтаксис:
DROP {DATABASE | SCHEMA} [IF EXISTS] db-name
DROP {DATABASE | SCHEMA} [IF EXISTS] db-name |
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Как видите, команда не отличается особой сложностью. В качестве параметров она принимает название БД. При этом использование второго параметра не является обязательным. Указание в запросе IF EXISTS предотвращает вывод сообщения об ошибке и остановку выполнения всех остальных команд. Особенно это важно при использовании мультизапросов, разработке триггеров и хранимых процедур.
Давайте разберемся с применение данной команды MySQL на удаление базы. Для экспериментов создайте «липовую» БД через вкладку основного меню «Базы данных». Я свою так и назвал lipa. Чувство юмора является обязательным атрибутом любого успешного администратора СУБД .
Дальнейшие эксперименты я предлагаю продолжить в командной строке. Так сказать, для разнообразия. Перед тем, как полностью удалить MySQL базу, зайдите на сервер СУБД под учеткой админа (или другого юзера с глобальными правами): Z:\usr\local\mysql-5.5\bin\mysql.exe -u root
Введите следующий запрос и запустите его на выполнение:
Система СУБД выведет сообщение об удачном выполнении команды и сколько времени потребовалось на это.
Теперь снова введите запрос в MySQL на удаление базы. В ответ на это сервер СУБД начнет ругаться и выдаст сообщение об ошибке, что такой БД уже не существует:
Теперь немного изменим запрос, и используем в нем условное выражение IF EXISTS. Получается, что мы говорим СУБД удалить базу с именем lipa, но лишь в том случае, если она существует:
DROP DATABASE IF EXISTS lipa;
DROP DATABASE IF EXISTS lipa; |
В результате MySQL выполнит наш запрос и лишь предупредит о наличии несоответствия (отсутствие БД). Но не прекратит выполнение текущего запроса и всего последующего кода, что очень важно при разработке ADO-приложений, триггеров и хранимых процедур. Таким образом гарантируется их отказоустойчивость.
Теперь вы знаете в MySQL как удалить базу. И при всей кажущейся простоте команда DROP DATABASE обладает мощным эффектом. Так что пользуйтесь ею осторожно, а лезвие и ластик оставьте в покое
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Хотите изучить MySQL?
Посмотрите курс по базе данных MySQL!
СмотретьКак удалить MySQL в Ubuntu
MySQL — это один из самых популярных движков баз данных, которые используются для обеспечения работы веб-сайтов и различных веб-приложений. База данных MariaDB используется на множестве веб-серверов и домашних компьютеров. Если вы хотите сменить базу данных на другую, или, например, установить MariaDB вместо MySQL, то сначала необходимо удалить старую версию.
В этой статье мы рассмотрим, как удалить MySQL в Ubuntu. Я предполагаю, что программа установлена из официальных репозиториев или PPA, поэтому удалять мы её будем таким же образом.
Содержание статьи:
Удаление MySQL в Ubuntu
В Ubuntu MySQL имеет такое же имя пакетов, сюда относятся mysql-server и mysql-client. Если вы хотите удалить MariaDB, то здесь пакеты будут называться по другому: mariadb-server mariadb-client.
1. Версия MySQL
Давайте сначала посмотрим, какая версия MySQL у вас установлена. Для этого выполните:
mysql --version
Затем вы можете посмотреть установленные пакеты с помощью пакетного менеджера:
sudo apt search mysql-server
2. Удаление MySQL
Остановите сервис базы данных:
sudo systemctl stop mysqld
Чтобы удалить MySQL с сохранением настроек и файлов конфигурации, нужно использовать опцию remove:
sudo apt remove mysql-server mysql-common mysql-server-core-* mysql-client-core-*
Однако, если вы хотите удалить базу данных полностью, вместе со всеми её конфигурационными файлами, нужно использовать purge:
sudo apt purge mysql-server mysql-common mysql-server-core-* mysql-client-core-*
Также нужно зайти в каталог /var/lib/mysql и удалить оттуда файлы базы данных, если они вам больше не нужны:
sudo rm -Rf /var/lib/mysql/
И удалите папку конфигурационных файлов, если она осталась:
sudo rm -Rf /etc/mysql/
Не забудьте про логи:
sudo rm -rf /var/log/mysql
Удалите пользователя и группу, созданные для MySQL:
sudo deluser --remove-home mysql
sudo delgroup mysql
3. Удаление PPA
Если вы устанавливали новую версию базы данных из PPA, и этот репозиторий вам больше не нужен, его тоже желательно удалить. На данный момент официальный репозиторий MySQL устанавливается в стиле CentOS с помощью deb-пакета, который можно скачать на официальном сайте. Вам достаточно его удалить:
sudo apt purge mysql-apt-config
Если ваш репозиторий добавлялся по другому, вы можете найти его и удалить в папке /etc/apt/sources.list.d/. Файлы репозиториев MySQL будут содержать в своём имени слова mysql или mariadb. В моём случае таких файлов нет:
Выводы
В этой небольшой статье мы разобрались, как удалить MySQL Ubuntu с помощью пакетного менеджера. Как видите, просто удалить пакет недостаточно, нужно удалить ещё несколько файлов, если вы хотите полностью очистить свою систему от ненужных файлов.
В этой статье рассмотрим, как создавать новые базы данных в MySQL из командной строки сервера, (а также BASH-скрипт для автоматического создания базы данных и пользователя MySQL на сервере).
Вход под root на MySQL-сервер
Для того, чтобы воспользоваться интерфейсом MySQL на удалённом сервере, необходимо сперва законнектится к серверу MySQL. В Debian это можно сделать командой mysql -uroot
так, чтобы сразу войти в интерфейс с правами root. После удачного входа появится приветствие сервера MySQL и приглашение для ввода команд на языке MySQL:
root@server:~# mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Выход в консоли из режима работы с MySQL-сервером
Для того, чтобы выйти из режима работы с MySQL-сервером в консоли нужно набрать команду exit:
MariaDB [(none)]> exit
Bye
root@server:~#
CREATE DATABASE
— команда MySQL для создания базы данных
Для того, чтобы создать базу данных на сервере нужно воспользоваться командой MySQL CREATE DATABASE
, введя после неё в ``
название базы данных. Помним про синтаксис MySQL и после команды обязательно ставим ;
:
MariaDB [(none)]> CREATE DATABASE `new_db`;
Query OK, 1 row affected (0.00 sec)
Более полная конструкция команды CREATE DATABASE
:
CREATE DATABASE new_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CHARACTER SET
задаёт порядок сортировки.COLLATE
задаёт кодировку таблиц создаваемой базы данных.
Если при создании таблицы эти параметры не указываются, то кодировка и порядок сортировки вновь создаваемой таблицы берутся из значений, указанных для всей базы данных, которую мы и прописываем этой командой.
- Если задан параметр
CHARACTER SET
, но не задан параметрCOLLATE
, то используется стандартный порядок сортировки. - Если задан параметр
COLLATE
, но не заданCHARACTER SET
, то кодировку определяет первая часть имени порядка сортировки вCOLLATE
.
- Кодировка, заданная в
CHARACTER SET
, должна поддерживаться сервером, - а порядок сортировки должен быть допустимым для текущей кодировки.
- Кодировка, заданная в
- Если не заданы оба параметра, то берётся значение по умолчанию.
Как посмотреть настройки уже существующей базы данных
Для того, чтобы посмотреть настройки уже существующей базы данных необходимо выполнить команду SHOW CREATE DATABASE, указав имя базы данных, настройки которой нужно посмотреть:
MariaDB [(none)]> SHOW CREATE DATABASE `new_db`;
+----------+-----------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------------------------------------+
| new_db | CREATE DATABASE `new_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+----------+-----------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Как посмотреть список всех баз данных на сервере MySQL
Для того, чтобы вывести список всех баз данных на сервере MySQL нужно воспользоваться командой show databases
:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| new_db |
+--------------------+
3 rows in set (0.00 sec)
Как удалить базу данных MySQL с сервера
Для удаления базы данных MySQL с сервера нужно воспользоваться командой DROP DATABASE
и ввести имя удаляемой базы данных:
MariaDB [(none)]> DROP DATABASE `new_db`;
Query OK, 0 rows affected (0.00 sec)
CREATE USER
— команда MySQL для создания пользователя базы данных
Для создания пользователя базы данных нужно воспользоваться командой CREATE USER
:
MariaDB [(none)]> CREATE USER new_user;
Query OK, 0 rows affected (0.00 sec)
Для задания/изменения пароля пользователя базы данных нужно воспользоваться командой:
MariaDB [(none)]> UPDATE mysql.user SET Password=PASSWORD('tyt_parol') WHERE User='new_user';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
DROP USER
— команда MySQL для удаления пользователя базы данных
Для того, чтобы удалить пользователя баз данных нужно выполнить команду DROP USER
:
MariaDB [(none)]> DROP USER `new_user`;
Query OK, 0 rows affected (0.00 sec)
Простейший BASH-скрипт для создания новой базы данным MySQL с пользователем и паролем
Быстро создавать базы данных можно с помощью такого BASH-скрипта:
#!/bin/bash
mysql -uroot <<MYSQL_SCRIPT
CREATE DATABASE $1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER '$1'@'localhost' IDENTIFIED BY '$2';
GRANT ALL PRIVILEGES ON $1.* TO '$1'@'localhost';
FLUSH PRIVILEGES;
MYSQL_SCRIPT
echo "MySQL database created."
echo "Database: $1"
echo "Username: $1"
echo "Password: $2"
На входе этому скрипту нужно задать два параметра:
- Имя базы данных (у пользователя будет такое же имя)
- Пароль пользователя базы данных.
Пример работы такого скрипта create-mysql.sh
при создании базы данных test c пользователем test
и паролем 123
:
root@server:~# ./create-mysql.sh test 123
MySQL database created.
Database: test
Username: test
Password: 123
Простейший BASH-скрипт для удаления базы данным MySQL с пользователем
Также можно создать BASH-скрипт для удаления базы данным MySQL с пользователем, имеющим такое же имя, что и база данных. Работает с одним параметром на входе:
#!/bin/bash
mysql -uroot <<MYSQL_SCRIPT
DROP DATABASE $1;
DROP USER '$1'@'localhost';
MYSQL_SCRIPT
echo "MySQL database and user deleted."
echo "Database: $1"
echo "Username: $1"
Резюме
Таким образом можно создавать и удалять базы данных MySQL и их пользователей на сервере, а также автоматизировать работу по их созданию и удалению.
Заберите ссылку на статью к себе, чтобы потом легко её найти 😉
Выберите, то, чем пользуетесь чаще всего:
Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )
Как удалить все таблицы в базе mysql через консоль
Работал сегодня с сервером mysql. Надо было проверять дампы баз и искать в них данные. Постоянно загружал и удалял таблицы, базы и т.д. В общем, работал много с mysql, а чтобы все было максимально быстро, то через консоль. Оказалось, что простого и быстрого способа удалить разом все таблицы в базе mysql нет. Рассказываю, как поступал я для очистки таблиц без удаления самой базы данных.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужно пройти .
В общем случае удалить таблицы из базы данных можно командой в консоли mysql:
mysql> use databasename; mysql> drop table00 table01, table02;
Если у вас таблиц десятки и сотни, очевидно, что вручную их указывать неудобно. Дальше каждый изобретает свой велосипед в виде различных скриптов на php или bash. Мне не захотелось этим заниматься, уверен был, что можно найти способ проще и я его нашел.
Можно воспользоваться mysqldump и некоторыми ключами.
# mysqldump – add-drop-table – no-data databasename
Эта команда сделает дамп только структуры базы данных, при этом для каждой таблицы перед ее созданием будет команда на удаление. Вот эти команды на удаление мы и заберем из дампа.
# mysqldump – add-drop-table – no-data databasename | grep ^DROP
Мы получили набор команд на удаление всех таблиц. Теперь направим эти команды в mysql консоль на исполнение.
# mysqldump – add-drop-table – no-data databasename | grep ^DROP | mysql databasename
У меня настроена авторизация в mysql из консоли без пароля. В общем случае, с паролем команда будет выглядеть вот так:
# mysqldump -uuser -ppassword – add-drop-table – no-data databasename | grep ^DROP | mysql -uuser -ppassword databasename
Таким простым способом, без скриптов, можно прямо в консоли сервера удалить все таблицы из базы данных mysql, не удаляя саму базу. Может возникнуть вопрос, а почему не удалить все же базу и не создать заново. Причин может быть несколько:
- У вас нет прав на создание и удаление баз данных (наиболее частый случай).
- Не помните точно параметры базы данных, не хочется вспоминать, искать, как создать новую базу данных с теми же параметрами, что стоят у текущей (мой случай).
Если у вас есть какое-то свое простое решение по удалению таблиц из базы, делитесь в комментариях.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!
От автора: вы думаете, что везде убрали? Дом вычистили, машину помыли, детей до блеска «выдраили». А на своем сервере СУБД забыли прибраться! Не умеете? Это не страшно! Сейчас я научу вас, как почистить базу MySQL.
Зачем убирать?
Чтобы не было мусора и пыли. В случае с базами данных имеется в виду «цифровой» мусор. Если ваш ресурс работает на основе CMS, то даже в этом случае в таблицах остаются различные «ошметки» после работы плагинов, системы движка. Ну, может и вы где-то тоже строку «забыли». Постепенно вся эта «пыль» скапливается в огромные пласты, которые затем негативно влияют на быстродействие всего ресурса. А это негативно отражается на юзабилити сайта. В общем, чистить все равно надо и придется.
Кроме этого «выросшая» как на дрожжах база может занимать много виртуального дискового пространства, в результате чего хостер начнет нервничать и заваливать вас сообщении о превышении лимита. Если ничего не предпримите (не перейдете на дорогостоящий тариф, в котором предоставляются большие «площади» под сайт), то он просто «выдернет из розетки» ваш ресурс. Поэтому лучше научиться, как почистить базу данных MySQL, чем тратиться на новый тарифный план или переезд на «новые рельсы».
Также иногда требуется удалить только содержимое таблицы, и сберечь ее структуру. Все это мы рассмотрим в сегодняшнем материале, посвященном правильной уборке на СУБД. Стартуем!
Очищаем таблицу
Часто требуется не удалять таблицу, а лишь очистить ее от всех строк, но при этом сохранить всю ее структуру: типы данных столбцов, индексы, первичные ключи и другие ее параметры. Конечно, можно всегда удалить таблицу целиком с помощью команды DROP TABLTE, но затем придется создавать ее и прописывать все атрибуты заново. А это не совсем удобно, поэтому в MySQL для удаления строк таблицы есть специальная команда. Ее синтаксис:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!TRUNCATE TABLE name_table;
TRUNCATE TABLE name_table; |
Пример, как почистить БД MySQL:
TRUNCATE TABLE `db1`.`user_animal`;
TRUNCATE TABLE `db1`.`user_animal`; |
Заглядываем в таблицу, и видим, что вкладка «Обзор» неактивна, а автоматически сгенерированный запрос на выборку вернул пустой результат. То есть, получили, что хотели:
Существует еще одна команда SQL, позволяющая получить аналогичный результат – DELETE FROM. Пример использования:
DELETE FROM `db1`.`animal`;
DELETE FROM `db1`.`animal`; |
Таким образом мы очистили все «клетки» таблицы animal от зверюшек. При этом структура таблицы не была затронута, удалены были только записи. Получаем в итоге один и тот же результат:
Перед тем, как почистить базу данных MySQL еще раз, разберемся, чем эти две команды отличаются. Точнее, чем TRUNKATE предпочтительнее для использования:
В отличие от DELETE FROM эта команда не стирает все записи построчно, а удаляет и заново создает таблицу. Данная операция занимает меньше времени.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Не возвращает число удаленных строк, что также экономит ресурсы.
Возможность воссоздания таблицы даже при поврежденных индексах или файле данных.
Средства программной оболочки
Но можно не мучатся с написанием «скучных» запросов и применить для очистки таблиц встроенный функционал phpMyAdmin. Заходим в программу, выбираем слева нужную базу. После этого в разделе основного меню выделяем таблицу, а в выпадающем списке отмечаем действие, которое следует выполнить с таблицей. Нас интересует команда «Очистить». И не забываем нажать в правом углу снизу «Ок».
Как видим, приложение выполнило ту же команду (TRUNCATE) и стерло все записи из указанной таблицы.
Перед тем, как почистить базу MySQL окончательно, заглянем на вкладку «Обзор», чтобы убедиться, что в таблице никаких данных не осталось. Все нормально, автоматически сгенерированная выборка вернула нулевой результат.
Легкая уборка
Но это еще не все возможности, которые предоставляет эта программа. Ее встроенные средства позволяют немного убраться. Точнее, оптимизировать работу выбранной таблицы, расставить все по своим местам. Для этого снова выделяем нужную таблицу из базы, но в выпадающем списке команд выбираем «Оптимизировать таблицу».
Система программы автоматически генерирует запрос к серверу СУБД, и отправляет его на выполнение. Ядро, в свою очередь, возвращает результат и отчет о выполнении запроса.
Эту операцию можно выполнять вместо «легкой уборки» таблицы, или через определенный промежуток времени после того, как основательно почистили БД MySQL. Но все-таки хотелось знать, что конкретно делает команда OPTIMIZE TABLE:
Восстанавливает удаленные или неполные записи в таблице.
Сортирует индексные страницы (приводит индексы в порядок).
Обновляет статистику по таблице.
Думаю, понятно, что это нужная команда, которую иногда следует выполнять, чтобы поддерживать «здоровье» таблиц в тонусе.
Мусоросборники
Что касается популярных движков, то с ними MySQL не сможет вам помочь. Ну откуда СУБД может знать, какие записи в таблицах являются «мусором», а какие нет. Для этого (под каждую CMS) разрабатываются специализированные расширения. Приведу несколько примеров таких плагинов для WordPress:
WP-Cleanup. Сообщается, что он не обновлялся целых 2 года, но на самом деле работает даже на последних версиях движка.
WP-Optimize.
Надеюсь, вы научились, как чистить базу данных MySQL. Главное понять, что убирать надо не только в квартире, машине, но и на сервере СУБД. Иначе ваш сайт «захламится» так, что ни один посетитель на него не «влезет». А этого нельзя допускать!
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Хотите изучить MySQL?
Посмотрите курс по базе данных MySQL!
СмотретьMySQL DROP DATABASE — Как удалить базу данных в MySQL Server
Сводка : в этом руководстве вы узнаете, как использовать оператор MySQL DROP DATABASE
для удаления существующей базы данных на сервере.
Оператор DROP DATABASE
удаляет все таблицы в базе данных и навсегда удаляет базу данных. Поэтому вы должны быть очень осторожны при использовании этого утверждения.
Ниже приведен синтаксис оператора DROP DATABASE
:
DROP DATABASE [IF EXISTS] database_name;
В этом утверждении вы указываете имя базы данных, которую вы хотите удалить.
Если вы попытаетесь удалить базу данных, которая не существует, MySQL выдаст ошибку.
Чтобы предотвратить возникновение ошибки при удалении несуществующей базы данных, вы можете использовать опцию IF EXISTS
. В этом случае MySQL завершает оператор без выдачи ошибки.
Оператор DROP DATABASE
возвращает количество удаленных таблиц.
В MySQL схема является синонимом базы данных, поэтому вы можете использовать их взаимозаменяемо:
DROP SCHEMA [IF EXISTS] database_name;
В следующем разделе мы будем использовать testdb
и testdb2
, созданные в учебнике CREATE DATABASE
.Если у вас нет этих баз данных, вы можете выполнить их, следуя предыдущему руководству.
MySQL DROP DATABASE
на примере программы mysql
Сначала войдите на сервер MySQL с помощью пользователя root
. Обратите внимание, что вы можете использовать своего собственного пользователя базы данных вместо пользователя root
.
> mysql -u root -p Введите пароль: ********
Введите пароль для пользователя root
и нажмите Enter.
Во-вторых, используйте оператор SHOW DATABASES
для просмотра всех существующих баз данных на сервере:
mysql> SHOW DATABASES; + -------------------- + | База данных | + -------------------- + | классические модели | | информационная схема | | mysql | | performance_schema | | системный | | testdb | | testdb2 | + -------------------- + 7 рядов в наборе (0,00 сек)
В-третьих, выполните оператор DROP DATABASE
:
mysql> DROP DATABASE testdb; Запрос в порядке, затронуто 0 строк (0.03 сек)
MySQL возвратил ноль затронутых строк. Это означает, что база данных testdb
имеет заметные.
MySQL DROP DATABASE
с использованием MySQL Workbench
Сначала запустите MySQL Workbench и войдите в MySQL Server.
Во-вторых, щелкните правой кнопкой мыши базу данных, которую вы хотите удалить, например, testdb2, и выберите опцию Drop Schema ...
.
В-третьих, MySQL Workbench отображает диалоговое окно для подтверждения удаления.Если вы выберете Просмотр SQL
, вы увидите оператор SQL, который будет выполнен. Если вы выберете Drop Now
, база данных будет немедленно удалена.
Чтобы быть в безопасности, давайте выберем Review SQL:
В-четвертых, если вы уверены, что оператор SQL удалит нужную базу данных, вы можете нажать кнопку Выполнить , чтобы выполнить оператор.
MySQL возвращает следующий вывод, указывающий, что база данных успешно удалена.Поскольку testdb2
является пустой базой данных, количество затронутых строк равно нулю.
Если вы просматриваете панель схемы , вы увидите, что testdb2 больше нет в списке.
Из этого руководства вы узнали, как использовать оператор MySQL DROP DATABASE
для удаления существующей базы данных на сервере.
- Был ли этот урок полезным?
- Да Нет
sql — удалить данные из всех таблиц в MYSQL
Переполнение стека- Товары
- Клиенты
- Случаи использования
- Переполнение стека Публичные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимать технический талант
- реклама Связаться с разработчиками по всему миру
Загрузка…
,SQL УДАЛИТЬ Заявление
Оператор SQL DELETE
Оператор DELETE используется для удаления существующих записей в таблице.
УДАЛИТЬ Синтаксис
УДАЛИТЬ ИЗ имя_таблицы ГДЕ состояние ;
Примечание: Будьте осторожны при удалении записей в таблице! Обратите внимание на предложение WHERE в УДАЛИТЬ утверждение. Предложение WHERE указывает, какие записи должны быть удалены. Если Вы пропускаете предложение WHERE, все записи в таблице будут удалены!
Демо База данных
Ниже приведен выбор из таблицы «Клиенты» в образце Northwind база данных:
CustomerID | CustomerName | ContactName | Адрес | город | Почтовый индекс | Страна |
---|---|---|---|---|---|---|
1 | Альфред Футтеркисте | Мария Андерс | Ул. Обере57 | Берлин | 12209 | Германия |
2 | Ана Трухильо Эмпаредадос и Хеладос | Ана Трухильо | Avda. de la Constitución 2222 | México D.F. | 05021 | Мексика |
3 | Антонио Морено Такерия | Антонио Морено | Матадерос 2312 | Мексика Д.F. | 05023 | Мексика |
4 | вокруг рога | Томас Харди | 120 Ганновер пл. | Лондон | WA1 1DP | Великобритания |
5 | Berglunds snabbköp | Кристина Берглунд | Berguvsvägen 8 | Luleå | S-958 22 | Швеция |
SQL DELETE Пример
Следующий оператор SQL удаляет клиента «Alfreds Futterkiste» из таблица «Клиенты»:
Пример
УДАЛИТЬ ИЗ ГДЕ CustomerName = ‘Альфред Футтеркисте’;
Попробуй сам »Таблица «Клиенты» теперь будет выглядеть так:
CustomerID | CustomerName | ContactName | Адрес | город | Почтовый индекс | Страна |
---|---|---|---|---|---|---|
2 | Ана Трухильо Эмпаредадос и Хеладос | Ана Трухильо | Avda.de la Constitución 2222 | México D.F. | 05021 | Мексика |
3 | Антонио Морено Такерия | Антонио Морено | Матадерос 2312 | México D.F. | 05023 | Мексика |
4 | вокруг рога | Томас Харди | 120 Ганновер пл. | Лондон | WA1 1DP | Великобритания |
5 | Berglunds snabbköp | Кристина Берглунд | Berguvsvägen 8 | Luleå | S-958 22 | Швеция |
Удалить все записи
Можно удалить все строки в таблице, не удаляя таблицу.это означает, что структура таблицы, атрибуты и индексы не будут повреждены:
Следующий оператор SQL удаляет все строки в таблице «Клиенты», без удаления таблицы:
,
- Товары
- Клиенты
- Случаи использования
- Переполнение стека Публичные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимать технический талант
- реклама Связаться с разработчиками по всему миру
Загрузка…
,