Как удалить базу данных sql
Перейти к содержимому

Как удалить базу данных sql

  • автор:

Справочник по MySQL : SQL : Удаление базы данных MySQL (DROP DATABASE)

Для удаления базы данных используется оператор DROP DATABASE.

Синтаксис:

DROP DATABASE [IF EXISTS] db_name

db_name — Задает имя базы данных, которую необходимо удалить. IF EXISTS — Если не указать этот параметр, то при попытке удаления не существующей базы данных, возникнет ошибка выполнения команды. Данный параметр доступен в MySQL 3.22 и более поздних версиях.

При выполнении команды DROP DATABASE удаляется как сама база данных, так и все таблицы, которые в ней находятся.

Если производится удаление базы данных, которая символически связана с другой базой данных, то удалиться как сама ссылка, так и оригинальная база данных.

В следующем примере мы удалим базу данных db_test:

DROP DATABASE `db_test`

Как удалить базу данных PostgreSQL

В предыдущей статье мы рассмотрели установку PostgreSQL на Debian. Сегодня разберемся с удалением баз данных PostgreSQL.

Удалить базу данных PostgreSQL можно двумя способами — командой DROP DATABASE или с помощью утилиты dropdb . Между этими методами нет большой разницы. Отличается только синтаксис, плюс использование утилиты dropdb даёт чуть больше возможностей для управления удалением.

DROP DATABASE

Первый способ удалить БД PostgreSQ L — использовать следующую инструкцию SQL:

DROP DATABASE ;

Команда удаляет каталог, который содержит информацию о БД и сохранённые ранее записи. DROP DATABASE может выполнить только владелец базы данных. Если кто-то в момент исполнения команды будет использовать БД, то удаление не будет завершено.

Практика

Чтобы убедиться на практике, что DROP DATABASE работает, создадим БД на сервере Timeweb Cloud , а затем удалим её.

Подключитесь к Postgres через терминал:

sudo -i -u postgres psql

Создайте новую БД для практики:

CREATE DATABASE example_db;

Чтобы убедиться, что новая БД успешно создана, выведите список всех баз данных:

В ответ отобразится таблица, в которой перечислены все БД, доступные на сервере.

Теперь посмотрим, как в PostgreSQL выполнить удаление базы данных. Выполните запрос:

DROP DATABASE example_db;

В терминале отобразится сообщение, о том, что БД удалена. Чтобы убедиться в этом, ещё раз выведите полный список БД:

В таблице не должно быть базы с именем example_db .

IF EXIST

Опция IF EXISTS позволяет выполнить проверку, существует ли база данных, прежде чем её удалять. Полный синтаксис выглядит следующим образом:

DROP DATABASE IF EXISTS < Имя базы данных >;

Если база данных существует, команда удаляет её. Если БД с таким именем нет, появляется информативное уведомление, а не сообщение об ошибке.

Чтобы проверить, как работает опция IF EXISTS , сначала создайте пример базы данных:

CREATE DATABASE timeweb_db;

Затем удалите только что созданную базу данных, используя опцию IF EXISTS :

DROP DATABASE IF EXISTS timeweb_db;

Если база данных с таким именем существует, результат будет таким же, как при использовании DROP DATABASE .

БД с именем timeweb_db больше недоступна. Повторите команду удаления с опцией IF EXISTS :

DROP DATABASE IF EXISTS timeweb_db;

В результате в терминале отобразится информативное сообщение о том, что такой сущности нет.

Напоследок выполните DROP DATABASE без дополнительных опций:

DROP DATABASE timeweb_db;

Использование DROP DATABASE без параметра IF EXISTS приведёт к тому, что в терминале появится менее информативное сообщение об ошибке.

WITH (FORCE)

Опция WITH (FORCE) доступна в Postgres версии 13 и выше. Она нужна для «силового» удаления базы данных, которая используется в данный момент. WITH (FORCE) принудительно закрывает сеанс и удаляет БД.

DROP DATABASE WITH (FORCE);

Утилита dropdb

Утилита командной строки dropdb — это просто оболочка для DROP DATABASE . По сути, эти два метода идентичны. Однако dropdb предлагает дополнительные возможности, которые помогают сделать удаление базы PostgreSQL более удобным и информативным.

dropdb

Флаг

Тип

Что делает

Выводит в терминал все команды, которые фактически выполняются на сервере при использовании утилиты dropdb

Разрывает все текущие подключения, прежде чем удалять БД

Выводит просьбу подтвердить удаление БД, прежде чем стирать её

Выводит в консоль версию утилиты

Добавляет информативности, выдавая вместо ошибки текстовое сообщение, если целевая БД не существует

Вызывает меню со справочной информацией

Задаёт имя хоста, на которой работает БД

Указывает номер порта, который прослушивает сервер

Позволяет подключиться к БД под именем указанного пользователя

Делает запрос пароля необязательным. Это особенно полезно при выполнении пакетных заданий и сценариев

Принудительно запрашивает пароль при выполнении каждой операции

Уточняет имя подключения к БД

Например, у вас есть облачные базы данных . Периодически нужно удалять неиспользуемые сущности. Вы хотите, чтобы этот процесс был безопасным и понятным всем пользователям. Утилита dropdb закрывает оба запроса.

Допустим, команда вида:

dropdb -i -e example_db

приведёт к тому, что в терминале сначала появится просьба подтвердить удаление, а после подтверждения отобразятся команды, выполненные в ходе операции.

Коротко о главном

Чтобы удалить базу данных, вы должны быть её владельцем и иметь доступ к терминалу с привилегиями sudo .

Выбор способа удаления зависит от вас. Между DROP DATABASE и утилитой dropdb нет принципиальной разницы. Это лишь вопрос удобства использования и тех сценариев, при которых вам нужно в PostgresSQL удалить базу данных .

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.

Как удалить базу данных с MS SQL сервера удалённо через командную строку Windows

Как удалить SQL базу с сервера MSQ SQL путём выполнения команды в одну строку? В случае с Linux тут всё было бы понятно. Подключаемся по ssh и выполняем необходимые действия с базами данных, при желании можно автоматизировать некие процедуры путём скриптов. Но появилась задача сделать это из окружения Windows при помощи простой командной строки. Как это сделать?

Программа SQLCMD

Для начала нам необходимо скачать программу sqlcmd с официального сайта. Выбираем разрядность программы с скачиваем дистрибутив. Возможно для установки sqlcmd нам понадобится Microsoft ODBC Driver 17 for SQL Server. Качаем его тут. Всё скачали и установили. Теперь можно запускать командную строку и работать с sqlcmd.

Как удалить SQL базу при помощи SQLCMD

Подробно о функционале самой программы я тут писать не собирался и не буду. Вы можете самостоятельно ознакомиться со всеми её возможностями в официальной документации.

Для удаления базы данных с сервера используйте слеующий код, подставив свои параметры:

sqlcmd -S ip_адрес/hostname -U пользователь -P Пароль -Q "DROP DATABASE имя_базы;"

Создание и удаление баз в MySQL/MariaDB

Обновлено

Обновлено: 10.10.2020 Опубликовано: 10.08.2016

В данных примерах используется командная оболочка mysql и phpMyAdmin.

Если работа ведется на продуктивном сервере баз данных, рекомендуется сделать резервные копии.

Подключение к СУБД

Если мы планируем работать в командной строке, заходим в среду управления MySQL.

а) В Linux вводим команду:

* где root — пользователь, под которым мы будем подключаться к оболочке; ключ -p потребует ввода пароля.

б) В Windows запускаем командную строку — в меню пуск или найдя ее в поиске. Переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:

cd «%ProgramFiles%\MySQL\MySQL Server 5.5\bin\»

* в данном примере предполагается, что у нас установлена MySQL версии 5.5.

* здесь, как и в Linux, идет подключение к mysql/mariadb под учетной записью root с запросом пароля.

Создание новой базы

Для создания базы используется SQL-запрос CREATE DATABASE. Рассмотрим подробнее его использование.

Командная строка

Используйте данный шаблон команды:

> CREATE DATABASE newdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* вышеописанная команда создаст базу данных с названием newdb и кодировкой UTF-8 (самая распространенная и универсальная).

Проверить, что база появилась можно командой:

* данная команда выводит в консоль список баз, созданных в СУБД.

Подключиться к базе можно командой:

phpMyAdmin

В phpMyAdmin переходим в раздел Базы данных — вводим название новой базы — выбираем кодировку и нажимаем Создать:

Создаем базу данных в phpMyAdmin

Настройка прав доступа

Чтобы к созданной базе можно было подключиться, добавим пользователя:

> GRANT ALL PRIVILEGES ON newdb.* TO dbuser@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION;

* где newdb.* — наша база и все ее таблицы; dbuser@localhost — имя учетной записи, которая будет подключаться с локального сервера; password — придуманный нами пароль.
** В данном примере, учетной записи будут предоставлены полные права (ALL PRIVILEGES). Подробнее о правах в MySQL читайте статью Как создать пользователя MySQL и дать ему права.

Посмотреть список пользователей, которые имеют доступ к базе можно командой:

> SELECT db, host, user FROM mysql.db WHERE db=’newdb’;

* в данном примере мы выведем учетные записи, которым был дан прямой доступ к созданной нами базе. В данном списке не будут отражены пользователи с глобальными правами (например, root).

Поменять пароль пользователю можно одной из команд (в зависимости от версии СУБД):

> SET PASSWORD FOR ‘dbuser’@’localhost’ = PASSWORD(‘new_password’);

> ALTER USER ‘dbuser’@’localhost’ IDENTIFIED BY ‘new_password’;

> UPDATE mysql.user SET Password=PASSWORD(‘new_password’) WHERE USER=’dbuser’ AND Host=’localhost’;

* все 3 команды меняют пароль для пользователя dbuser@localhost на новый — new_password.

При необходимости, удалить пользователя можно командами:

> REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘dbuser’@’localhost’;

> DROP USER ‘dbuser’@’localhost’;

* первая команда отнимает все привилегии, выданные пользователю. Вторая удаляет самого пользователя.

Удаление базы MySQL

Удаление выполняется командой DROP DATABASE.

Командная консоль

Попробуем удалить ранее созданную базу:

> DROP DATABASE newdb;

phpMyAdmin

Выбираем нужную базу галочкой и кликаем по Удалить:

Удаляем базу MySQL в phpMyAdmin

Читайте также

Другие инструкции по MySQL / MariaDB:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *