Удалить таблицу sql: Удаление таблицы SQL: использование инструкции DROP TABLE
Удаление таблицы SQL: использование инструкции DROP TABLE
От автора: инструкция SQL DROP TABLE используется для того, чтобы произвести удаление таблицы SQL и всех данных, индексов, триггеров, ограничений и указанных прав доступа для этой таблицы.
ПРИМЕЧАНИЕ. Вы должны быть осторожны при использовании этой команды, поскольку, после того как таблица будет удалена, вся информация этой таблицы также будет потеряна.
Синтаксис
Основной синтаксис инструкции DROP TABLE выглядит следующим образом:
DROP TABLE имя_таблицы;
DROP TABLE имя_таблицы; |
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Пример
Сначала мы проверим наличие таблицы CUSTOMERS, а затем удалим ее из базы данных, как показано ниже:
Это означает, что таблица CUSTOMERS доступна в базе данных, поэтому давайте теперь удалим ее, как показано ниже.
DROP TABLE CUSTOMERS;
Query OK, 0 rows affected (0.01 sec)
DROP TABLE CUSTOMERS; Query OK, 0 rows affected (0.01 sec) |
Теперь, если вы выполните команду DESC, то получите следующее сообщение об ошибке:
DESC CUSTOMERS;
ERROR 1146 (42S02): Table ‘TEST.CUSTOMERS’ doesn’t exist
DESC CUSTOMERS; ERROR 1146 (42S02): Table ‘TEST.CUSTOMERS’ doesn’t exist |
TEST — это имя базы данных.
Источник: https://www.tutorialspoint.com/
Редакция: Команда webformyself.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Хотите изучить MySQL?
Посмотрите курс по базе данных MySQL!
Смотреть
DROP « Язык запросов 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
DROP PUBLIC SYNONYM synonym_name;
Удалить все из таблицы MySQL (TRUNCATE TABLE)
В этом уроке вы узнаете, как быстро удалить все строки из таблицы MySQL с помощью SQL запроса.
Удаление данных таблицы
TRUNCATE TABLE удаляет все строки из таблицы быстрее, чем DELETE. Логически, TRUNCATE TABLE похож на оператор DELETE без условия WHERE.
Оператор TRUNCATE TABLE удаляет все строки из таблицы, но структура таблицы и ее столбцы, ограничения, индексы и т.д. остаются неизменными. Чтобы удалить определение таблицы в дополнение к ее данным, вы можете использовать оператор DROP TABLE.
Синтаксис
Основной синтаксис TRUNCATE TABLE может быть задан с помощью:
TRUNCATE TABLE table_name;
Предположим, у нас есть таблица сотрудников в нашей базе данных со следующими записями:
+--------+--------------+------------+--------+---------+ | emp_id | emp_name | hire_date | salary | dept_id | +--------+--------------+------------+--------+---------+ | 1 | Vasya Pupkin | 2001-05-01 | 5000 | 4 | | 2 | Vanya Pupkin | 2002-07-15 | 6000 | 2 | +--------+--------------+------------+--------+---------+
Следующая команда удаляет все строки из таблицы employees:
TRUNCATE TABLE employees;
Теперь, после выполнения вышеприведенной команды SQL, если вы попытаетесь выбрать записи из таблицы сотрудников, вы получите пустой набор результатов.
TRUNCATE TABLE в сравнении с DELETE
Хотя DELETE и TRUNCATE TABLE, имеют одинаковый эффект — они работают по-разному. Вот некоторые основные различия между этими двумя утверждениями:
- Оператор TRUNCATE TABLE удаляет и заново создает таблицу таким образом, чтобы любое значение автоинкремента сбрасывается до начального значения, которое обычно равно 1.
- DELETE позволяет фильтровать, какие строки должны быть удалены, на основе необязательного условия WHERE, тогда как TRUNCATE TABLE не поддерживает условие WHERE, а просто удаляет все строки.
- TRUNCATE TABLE работает быстрее и использует меньше системных ресурсов, чем DELETE, потому что DELETE сканирует таблицу, чтобы сгенерировать число затронутых строк, затем удаляет строки по одной и записывает запись в журнал базы данных для каждой удаленной строки, тогда как TRUNCATE TABLE просто удалить все строки без предоставления дополнительной информации.
Оператор delete sql или запрос на удаление данных из таблиц
На уроке будет рассмотрен оператор Delete SQL, служащий для удаления записей таблиц, а также оператор Update sql, предназначенный для обновления данных. Будут разобраны конкретные примеры запросов
Запросы sql на удаление
Оператор Delete («удалить» — пер. с английского) удаляет записи из таблицы БД.
Синтаксис:
DELETE FROM <таблица> [WHERE <условие>];DELETE FROM <таблица> [WHERE <условие>];
Пример: БД Институт. Запрос на удаление урока за определенную дату (за 02.10.2016)
✍ Решение:
Исходные данные:
DELETE FROM lessons WHERE lessons.date ='2016-10-02' |
Delete from lessons
where lessons.date =’2016-10-02′
Результат:
sql delete 1. БД Институт. Выполните запрос на удаление курса с названием «Математика» (таблица courses
)
Важно: Если предложение WHERE
в запросе отсутствует, то удаляются все строки из таблицы
Пример: БД Компьютерный магазин. Требуется удалить те компьютеры из таблицы product
, для которых нет соответствующих строк в таблице pc
.
✍ Решение:
DELETE FROM `product` WHERE `Тип`="Компьютер" AND `Номер` NOT IN (SELECT `Номер` FROM pc) |
DELETE FROM `product`
WHERE `Тип`=»Компьютер» and `Номер` NOT IN
(select `Номер` from pc)
Оператор Update sql
Запрос предназначен для обновления (изменения) существующих данных. Update
в переводе с английского языка — обновить.
Пример: БД Институт. Увеличить зарплату всех учителей в 2 раза, а премию — в 10 раз
✍ Решение:
UPDATE teachers SET zarplata = zarplata * 2, premia = premia * 10 |
UPDATE teachers
SET
zarplata = zarplata * 2,
premia = premia * 10
Исходные данные:
Результат:
sql update 1. БД Институт. Увеличить в полтора раза зарплату у учителей, фамилия которых начинается на букву И
.
sql update 2. БД Компьютерный магазин. Изменить значение поля Память
у компьютеров, память которых менее 1024, установить его в 1024.
Важно: При отсутствии предложения WHERE
будут обновлены все строки таблицы
Удаление записей из базы данных SQL
Удаление записей
Для удаления записей из таблицы применяется оператор DELETE:
DELETE FROM имяТаблицы WHERE условие;
Данный оператор удаляет из указанной таблицы записи (а не отдельные значения столбцов), которые удовлетворяют указанному условию. Условие — это логическое выражение, различные конструкции которого были рассмотрены в предыдущих лабораторных занятиях.
Следующий запрос удаляет записи из таблицы Customer, в которой значение столбца LName равно ‘Иванов’:
DELETE FROM Customer
WHERE LName = ‘Иванов’
Если таблица содержатся сведения о нескольких клиентах с фамилией Иванов, то все они будут удалены.
В операторе WHERE может находиться подзапрос на выборку данных (оператор SELECT). Подзапросы в операторе DELETE работают точно так же, как и в операторе SELECT. Следующий запрос удаляет всех клиентов из города Москва, при этом уникальный идентификатор города возвращается с помощью подзапроса.
DELETE FROM Customer
WHERE IdCity IN (SELECT IdCity FROM City WHERE CityName = ‘Москва’)
Transact-SQL расширяет стандартный SQL, позволяя использовать в инструкции DELETE еще одно предложение FROM. Это расширение, в котором задается соединение, может быть использовано вместо вложенного запроса в предложении WHERE для указания удаляемых строк. Оно позволяет задавать данные из второго FROM и удалять соответствующие строки из таблицы в первом предложении FROM. В частности предыдущий запрос может быть переписан следующим образом
DELETE FROM Customer
FROM Customer k INNER JOIN
City c ON k.IdCity = c.IdCity AND c.CityName = ‘Москва’
Операция удаления записей из таблицы является опасной в том смысле, что связана с риском необратимых потерь данных в случае семантических (но не синтаксических) ошибок при формулировке SQL-выражения. Чтобы избежать неприятностей, перед удалением записей рекомендуется сначала выполнить соответствующий запрос на выборку, чтобы просмотреть, какие записи будут удалены. Так, например, перед выполнением рассмотренного ранее запроса на удаление не помешает выполнить соответствующий запрос на выборку.
SELECT *
FROM Customer k INNER JOIN
City c ON k.IdCity = c.IdCity AND c.CityName = ‘Москва’
Для удаления всех записей из таблицы достаточно использовать оператор DELETE без ключевого слова WHERE. При этом сама таблица со всеми определенными в ней столбцами сохраняется и готова для вставки новых записей. Например, следующий запрос удаляет записи обо всех товарах.
DELETE FROM Product
Задание для самостоятельной работы: Сформулируйте на языке SQL запрос на удаление всех заказов, не имеющих в составе ни одного товара (т. е. все пустые заказы).
Еще записи по теме
SQL DELETE — удаление данных в таблице или нескольких таблицах
Сводка : в этом руководстве вы узнаете, как использовать оператор SQL DELETE для удаления одной или нескольких строк в таблице.
Оператор DELETE
навсегда удаляет одну или несколько строк из таблицы. Синтаксис оператора DELETE
следующий:
DELETE FROM table WHERE condition; |
Чтобы удалить одну или несколько строк в таблице:
- Сначала вы указываете имя таблицы, в которой вы хотите удалить данные, в предложении
DELETE FROM
. - Во-вторых, вы помещаете условие в предложение WHERE, чтобы указать, какие строки следует удалить. Если вы опустите предложение
WHERE
, оператор удалит все строки в таблице.
Если вы хотите удалить все строки в большой таблице, вы должны использовать оператор TRUNCATE TABLE, который более эффективен, чем оператор DELETE
.
Примеры SQL DELETE
Давайте рассмотрим некоторые примеры использования оператора DELETE.
SQL DELETE — удаление одной строки в таблице
Следующий оператор удаляет сотрудника с идентификатором 3 из таблицы сотрудников
:
УДАЛИТЬ ИЗ сотрудников WHERE employeeID = 3; |
SQL DELETE — удаление всех строк в таблице
Чтобы удалить все строки в таблице сотрудников
, вы просто выполните следующий запрос: (не рекомендуется и перед этим сделайте резервную копию)
SQL DELETE — удаление связанных строк в нескольких таблицах
Это становится более сложным, когда вы хотите удалить строку в таблице, которая связана с другими строками в другой таблице.
Например, каждый сотрудник работает на одной или нескольких территориях, и на каждой территории есть несколько сотрудников. Таблица территорий сотрудников
используется для хранения отношений между сотрудниками и территориями.
При удалении строки в таблице сотрудников
необходимо также удалить связанные строки в таблице территорий сотрудников
. Для этого необходимо выполнить два оператора DELETE
следующим образом:
DELETE FROM employee WHERE employeeID = 3; |
УДАЛИТЬ С территорий сотрудников WHERE employeeID = 3 |
Большинство систем управления базами данных позволяют создать ограничение внешнего ключа, чтобы при удалении строки в таблице соответствующие строки соответствующая таблица также удаляется автоматически.Это гарантирует целостность данных. В этом случае вам просто нужно выполнить первый оператор DELETE
только для удаления строк в двух таблицах.
В случае, если система управления базой данных не поддерживает ограничение внешнего ключа, вы должны выполнить оба оператора DELETE
в одной транзакции, чтобы убедиться, что операторы выполняются в режиме «все или ничего».
В этом руководстве мы показали вам, как использовать оператор SQL DELETE
для удаления одной или нескольких строк в таблице.
- Было ли это руководство полезным?
- Да Нет
.
sql server ce — как удалить все данные в таблице в SQL CE?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
- Авторизоваться
зарегистрироваться текущее сообщество
.
php — Как удалить строку из таблицы SQL?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.