Как дропнуть таблицу в sql
Перейти к содержимому

Как дропнуть таблицу в sql

  • автор:

SQL DROP

Используя запрос DROP можно удалить таблицы (TABLE), индексы (INDEX) и базы данных (DATABASE).

DROP TABLE

DROP TABLE, применяемый в базе данных Oracle. Обычно с таблицей в базе данных связано несколько объектов, например индекс, создаваемый первичным ключом, или ограничение UNIQUE, налагаемое на столбцы таблицы. При удалении таблицы Oracle автоматически удаляет и любой связанный с ней индекс. Для удаления таблицы из БД необходимо выполнить команду DROP TABLE:

DROP TABLE Пример 1.

DROP TABLE table;

Однако удалить таблицу не всегда столь просто. В любой момент мы можем создать таблицу с ограничениями целостности. Ограничение целостности (Integrityconstraint ) – это правило, устанавливаемое для таблицы и ограничивающее тип данных, которые можно вводить в эту таблицу. Если попытаться удалить таблицу с ограничениями целостности, возвращается сообщение об ошибке следующего вида: «Unique/primary keys in table referenced by foreign keys» (на уникальные/первичные ключи таблицы ссылаются внешние ключи). Когда существуют ограничения для других таблиц, на которые ссылается удаляемая таблица, можно пользоваться каскадной конструкцией CASCADE CONSTRAINTS:

DROP TABLE. Пример 2

Удаление таблицы с ограничениями целостности:

DROP TABLE table CASCADE CONSTRAINTS;

DROP TABLE, применяемый в mySQL

DROP TABLE. Пример 3

Для удаления таблицы также используется запрос:

DROP TABLE table;

DROP TABLE. Пример 4

В случае, если необходимо установить проверку на существование таблицы при удалении (если существует удалить таблицу) запрос принимает следующий вид:

DROP TABLE IF EXISTS table;

Данный запрос будет выполнен в том случае, если удаляемая таблица существует в базе данных. DROP INDEX Данный запрос DROP INDEX используется для удаления индексов в таблице. DROP INDEX, применяемый в базе данных Oracle: Когда индекс в базе данных больше не нужен, разработчик может удалить его командой DROP INDEX. После удаления индекса эффективность поиска с использованием столбца или столбцов, ограниченных индексом, больше не повышается и упоминание об индексе исчезает из словаря данных. Индекс, применяемый для первичного ключа, удалить нельзя. Синтаксис оператора DROP INDEX одинаков для удаления индекса любого типа (уникальности, битовой карты или В-дерева). Чтобы каким-то образом улучшить индекс, нужно сначала удалить его, а потом создать новый.

DROP INDEX. Пример 1

DROP INDEX my_index;

DROP INDEX, применяемый в mySQL:

DROP INDEX. Пример 2

Для удаления индексов (INDEX) используется запрос:

DROP INDEX my_index ON table;

Данный запрос удаляет индексы, указанные в my_index из таблицы table, но она не работает в версиях MySQL до 3.22. В версиях 3.22 и более поздних используется команда:

ALTER TABLE table_name DROP INDEX index_name;

DROP DATABASE DROP DATABASE. Пример 1

DROP DATABASE database;

Запрос DROP DATABASE удаляет базу данных database.

TRUNCATE TABLE

Запрос TRUNCATE TABLE используется для того, чтобы удалить данные внутри таблицы, тем самым не затрагивая саму таблицу. В нужном случае TRUNCATE TABLE может быть очень полезен. TRUNCATE TABLE, примеры использования TRUNCATE TABLE:

TRUNCATE TABLE. Пример 1

TRUNCATE TABLE table;

DROP SEQUENCE DROP SEQUENCE используется для удаления последовательности.

DROP SEQUENCE. Пример 1

DROP SEQUENCE sequence_name;

DROP SYNONYM DROP SYNONYM используется для удаления синонимов.

DROP SYNONYM. Пример 1

DROP SYNONYM synonym_name;

Для удаления общих синонимов необходимо воспользоваться командой DROP PUBLIC SYNONYM.

DROP SYNONYM. Пример 2

Оператор SQL DROP

Оператор SQL DROP является универсальным оператором удаления объектов базы данных.

Оператор SQL DROP имеет одинаковый синтаксис для удаления различных объектов:

DROP [ INDEX | TABLE | DATABASE ] object

Где object — название базы, таблицы, столбца в таблице, индекса.

Примеры оператора SQL DROP.

Пример 1. Удалить таблицу Artists используя оператор SQL DROP:

DROP TABLE Artists

Пример 2. Удалить базу данных Libraly используя оператор SQL DROP:

DROP DATABASE Libraly

Руководство по SQL. Очистка таблицы.

Для полного удаления всех данных из таблицы, в языке SQL используется команда TRUNCATE TABLE. Конечно, мы можем использовать команду DROP TABLE, для удаления данных и создать такую же таблицу, но нам придётся создавать её повторно. В подобных случаях, команда TRUNCATE TABLE крайне облегчает нам работу.

Запрос с использованием команды TRUNCATE TABLE имеет следующий вид:

 TRUNCATE TABLE имя_таблицы; 

Предположим, что у нас есть таблицы developers_copy, которая содержит следующие записи:

 +----+-------------------+------------+------------+--------+ | ID | NAME | SPECIALTY | EXPERIENCE | SALARY | +----+-------------------+------------+------------+--------+ | 1 | Eugene Suleimanov | Java | 2 | 2000 | | 2 | Peter Romanenko | C++ | 3 | 3500 | | 3 | Andrei Komarov | JavaScript | 2 | 2100 | +----+-------------------+------------+------------+--------+ 

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

 mysql> TRUNCATE TABLE developers_copy; 

Теперь наша таблица developers_copy пуста:

 mysql> SELECT * FROM developers_copy; Empty set (0.00 sec) 

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

Руководство по SQL. Удаление таблицы.

Для удаления существующих таблиц и всех её данных из базы данных (далее – БД) используется SQL выражение DROP TABLE.

Данная команда имеет следующий вид:

 DROP TABLE имя_таблицы; 

Предположим, что мы хотим удалить из нашей БД таблицу с именем developers_copy, которая имеет следующий вид:

 mysql> desc developers_copy; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | ID | int(11) | NO | | NULL | | | NAME | varchar(100) | NO | | NULL | | | SPECIALTY | varchar(100) | YES | | NULL | | | EXPERIENCE | int(11) | NO | | NULL | | | SALARY | int(11) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) 

Для этого нам необходимо использовать команду, указанную ниже:

 mysql> drop table developers_copy; Query OK, 0 rows affected (0.05 sec) 

Если после этого мы попытаемся получить данные из таблицы developers_copy, то мы получим ошибку 1146:

 mysql> desc developers_copy; ERROR 1146 (42S02): Table 'sql_tutorial.developers_copy' doesn't exist 

На этом мы заканчиваем изучение способа удаления таблиц из БД.
В следующей статье мы рассмотрим процесс добавления данных в таблицу.

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

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