Drop sql: SQL DROP TABLE Statement

Команда SQL для удаления и обновление данных в базе (DELETE, UPDATE)

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

Удаление данных из базы (DELETE)

Удаление из базы данных происходит с помощью команды «DELETE» (переводится с английского как «УДАЛИТЬ»). Функция удаляет не одну строку, а несколько, при этом выбирает для удаления строки по логике функции «SELECT». То есть чтобы удалить данные из базы, необходимо точно определить их. Приведём пример SQL команды для удаления одной строчки:

DELETE FROM `USERS` WHERE `ID` = 2 LIMIT 1;

Благодаря этому запросу из таблицы «USERS» будет удалена одна запись, у которой в столбце «ID» стоит значение «2».

Обратите внимание, что в конце запроса стоит лимит на выборку «LIMIT 1;» размером в 1 строку.

Его можно было не ставить, если поле «ID» является «PRIMARY KEY» (первичный ключ, то есть содержит только уникальные значения). Но всё-таки рекомендуем ставить ограничение «LIMIT 1;» в любом случае, если вы намерены удалить только одну строчку.

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

DELETE FROM `USERS` WHERE `ID` >= 5;

Этот запрос удалит все строки в таблицы, у которых в столбце «ID» стоит значение меньше 5. Если не поставить никакого условия «WHERE» и лимита «LIMIT», то будут удалены абсолютно все строки в таблице:

DELETE FROM `USERS`;

На некоторых версиях MySQL способ удаления всех строк через «DELETE FROM _;» может работать медленнее, чем «

TRUNCATE _;«; Поэтому для очистки всей таблицы лучше всё-таки использовать «TRUNCATE».

Обновление данных в базе (UPDATE)

Функция обновления «UPDATE» (переводится с английского как «ОБНОВИТЬ») довольно часто используется в проектах сайтов. Как и в случае с функцией «DELETE», фкнция обновления не успокоится до тех пор, пока не обновит все поля, которые подходят под условия, если нет лимита на выборку. Поэтому необходимо задавать однозначные условия, чтобы вместо одной строки нечаянно не обновить половину таблицы. Приведём пример использования команды «UPDATE»:

UPDATE `USERS` SET `NAME` = 'Мышь' WHERE `ID` = 3 LIMIT 1;

В этом примере, в таблие «USERS» будет установлено значение «Мышь» в столбец «NAME» у строки, в столбце «ID» которой стоит значение «3». Можно обновить сразу несколько столбцов у одной записи, передав значения через запятую. Попробуем обновить не только значение с толбце «NAME», но и значение в столбце «FOOD» используя один запрос:

UPDATE `USERS` SET `NAME` = 'Мышь', `FOOD` = 'Сыр' WHERE `ID` = 3 LIMIT 1;

Если не поставить никаких лимитов LIMIT и условий WHERE, то все записи таблицы будут обновлены без исключений.

Была ли эта статья полезна? Есть вопрос?

Закажите недорогой хостинг Заказать

всего от 290 руб

Инструкция DROP IF EXISTS в языке T-SQL | Info-Comp.ru

В этой заметке я расскажу Вам про инструкцию DROP языка T-SQL, а именно о новом параметре этой инструкции — IF EXISTS, который появился только в 2016 версии Microsoft SQL Server.

Содержание

  1. Инструкция DROP в T-SQL
  2. DROP IF EXISTS
  3. Пример DROP IF EXISTS – удаление таблицы или представления
  4. Пример DROP IF EXISTS – удаление функции

Инструкция DROP в T-SQL

DROP – это инструкция языка T-SQL, с помощью которой удаляются объекты в Microsoft SQL Server. Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.

DROP IF EXISTS

У инструкции DROP в Microsoft SQL Server 2016 появился дополнительный параметр IF EXISTS, который позволяет предварительно проверить существование объекта, перед его непосредственным удалением.

DROP с этим параметром значительно упрощает написание кода, так как в случае если Вам необходимо пересоздать таблицу, или просто удалить таблицу, предварительно не нужно писать различные дополнительные условные конструкции IF, чтобы проверить, существует ли эта таблица или нет. Инструкция DROP IF EXISTS сделает эту проверку сама.

Кстати, в других популярных СУБД, например, даже в бесплатной PostgresSQL, уже давно существует такая возможность, но компания Microsoft в свою СУБД добавила ее совсем недавно.

Инструкцию DROP IF EXISTS поддерживают следующие виды объектов Microsoft SQL Server (т.е. при их удалении можно использовать параметр IF EXISTS):

  • TABLE – таблица;
  • VIEW – представление;
  • PROCEDURE – хранимая процедура;
  • FUNCTION – функция;
  • SEQUENCE – последовательность;
  • TRIGGER – триггер;
  • INDEX – индекс;
  • DATABASE – база данных;
  • SCHEMA – схема;
  • ROLE — роль базы данных;
  • RULE – правила;
  • TYPE – псевдоним типа данных или определяемый пользователем тип данных;
  • AGGREGATE – определяемые пользователем агрегатные функции;
  • ASSEMBLY – сборка CLR;
  • USER – пользователь базы данных;
  • DEFAULT — объект «Значение по умолчанию»;
  • SECURITY POLICY — политика безопасности;
  • SYNONYM – синоним.

Пример DROP IF EXISTS – удаление таблицы или представления

Раньше, если перед удалением таблицы (или представления) необходимо было проверить, существует ли эта таблица, мы перед инструкцией по удалению таблицы (DROP) писали условную конструкцию IF в сочетании с функцией OBJECT_ID, код выглядел примерно следующим образом

   
   IF OBJECT_ID('dbo.TestTable', 'U') IS NOT NULL
        DROP TABLE dbo.TestTable;

   GO


Теперь условную конструкцию можно опустить, добавив вместо нее параметр IF EXISTS.

   
   DROP TABLE IF EXISTS dbo.TestTable;


Пример DROP IF EXISTS – удаление функции

Для того чтобы проверить существует ли функция перед удалением, можно перед инструкцией удаления писать следующую условную конструкцию (часто можно встретить именно такой подход).

   
   IF EXISTS (
                SELECT * FROM sys.objects 
                WHERE object_id = OBJECT_ID(N'dbo. TestFunction') 
                AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')
                )
   DROP FUNCTION dbo.TestFunction;


Теперь все гораздо проще.

   
   DROP FUNCTION IF EXISTS dbo.TestFunction;


Заметка! Для профессионального изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL.

У меня все, удачи!

SQL DROP

❮ Предыдущий ❮ Справочник по ключевым словам SQL Далее ❯


DROP COLUMN

Команда DROP COLUMN используется для удаления столбца в существующая таблица.

Следующий SQL-код удаляет столбец «ContactName» из таблицы «Customers»:

Пример

ALTER TABLE Customers
DROP COLUMN ContactName;

Попробуйте сами »


УДАЛЕНИЕ ограничения UNIQUE

Чтобы удалить ограничение UNIQUE, используйте следующий SQL:

SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ОГРАНИЧЕНИЕ DROP UC_Person;

MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;


DROP a PRIMARY KEY Constraint

Чтобы удалить ограничение PRIMARY KEY, используйте следующий SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY;


DROP a FOREIGN KEY Constraint

Чтобы удалить ограничение FOREIGN KEY, используйте следующий SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;


DROP a CHECK Constraint

Чтобы удалить ограничение CHECK, используйте следующий SQL:

SQL Server/Oracle/MS Access:

ALTER TABLE Persons
ОГРАНИЧЕНИЕ DROP CHK_PersonAge;

MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;


DROP DEFAULT

Команда DROP DEFAULT используется для удаления ограничение ПО УМОЛЧАНИЮ.

Чтобы удалить ограничение DEFAULT, используйте следующий SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ИЗМЕНИТЬ КОЛОНКУ Город УДАЛИТЬ ПО УМОЛЧАНИЮ;

MySQL:

ALTER TABLE Persons
ALTER City DROP DEFAULT;


DROP INDEX

Команда DROP INDEX используется для удаления индекс в таблице.

Доступ MS:

ИНДЕКС DROP имя_индекса ON имя_таблицы ;

SQL Server:

ИНДЕКС УДАЛЕНИЯ имя_таблицы . имя_индекса ;

DB2/Oracle:

ИНДЕКС DROP имя_индекса ;

MySQL:

ALTER TABLE table_name
DROP INDEX index_name ;


DROP DATABASE

Команда DROP DATABASE используется для удалить существующую базу данных SQL.

Следующий SQL удаляет базу данных с именем «testDB»:

Пример

DROP DATABASE testDB;

Примечание: Будьте осторожны перед удалением базы данных.

Удаление база данных приведет к потере полной информации, хранящейся в базе данных!


DROP TABLE

Команда DROP TABLE удаляет таблицу в базу данных.

Следующий SQL удаляет таблицу «Отправители»:

Пример

DROP TABLE Грузоотправители;

Попробуйте сами »

Примечание : Будьте осторожны перед удалением таблицы. Удаление table приводит к потере всей информации, хранящейся в таблице!


DROP VIEW

Команда DROP VIEW удаляет представление.

Следующий SQL удаляет представление «Клиенты из Бразилии»:

Пример

DROP VIEW [Клиенты из Бразилии];

Попробуйте сами »

❮ Предыдущая ❮ Справочник по ключевым словам SQL Далее ❯


SQL | DROP, TRUNCATE — GeeksforGeeks

Просмотр обсуждения

Улучшить статью

Сохранить статью

  • Уровень сложности: Easy
  • Последнее обновление: 09 Янв, 2019

  • Читать
  • Обсудить
  • Посмотреть обсуждение

    Улучшить статью

    Сохранить статью

    DROP

    DROP используется для удаления всей базы данных или только таблицы. Оператор DROP уничтожает такие объекты, как существующая база данных, таблица, индекс или представление.
    Оператор DROP в SQL удаляет компонент из системы управления реляционными базами данных (RDBMS).
    Синтаксис:

      DROP объект object_name
    
    Примеры:
    УДАЛИТЬ ТАБЛИЦУ имя_таблицы; 
      table_name  : Имя удаляемой таблицы.
    
      DROP DATABASE имя_базы_данных; 
      имя_базы_данных  : Имя удаляемой базы данных.
     

    TRUNCATE

    Оператор TRUNCATE — это операция языка определения данных (DDL), которая используется для пометки экстентов таблицы для освобождения (пустых для повторного использования). В результате этой операции все данные быстро удаляются из таблицы, как правило, в обход ряда механизмов обеспечения целостности. Он был официально представлен в стандарте SQL:2008.
    Оператор TRUNCATE TABLE mytable логически (но не физически) эквивалентен оператору DELETE FROM mytable (без предложения WHERE).
    Синтаксис:

      TRUNCATE TABLE имя_таблицы; 
      table_name  : Имя таблицы для усечения.
      Имя БАЗЫ ДАННЫХ - student_data 
     

    DROP vs TRUNCATE

    • Truncate обычно является сверхбыстрым и идеально подходит для удаления данных из временной таблицы.
    • Truncate сохраняет структуру таблицы для использования в будущем, в отличие от drop table, когда таблица удаляется с полной структурой.
    • Удаление таблицы или базы данных с помощью инструкции DROP нельзя откатить , поэтому ее следует использовать с умом.

    Запросы

    • Чтобы удалить всю базу данных
       УДАЛИТЬ БАЗУ ДАННЫХ student_data;
       

      После выполнения вышеуказанного запроса вся база данных будет удалена.

    • Чтобы обрезать таблицу Student_details из базы данных student_data.
       TRUNCATE TABLE Student_details;
       

      После выполнения вышеуказанного запроса таблица Student_details будет усечена, т.

    Оставить комментарий

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

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