Удалить столбец sql: Удаление столбцов из запросов — Visual Database Tools

Удаление определенных значений MYSQL — Stack Overflow на русском

Доброго времени суток.

Столкнулся с проблемой — искал в гугле — не нашёл, скорее, из-за неправильной формулировки вопроса. Собственно сам вопрос.

Таблица на 1000 строк. Нужно отредактировать значение столбца «Описание».

В этом столбце хранятся текстовые значения: один, два, три, пять, сорок, девять.
Каким образом удалить СРАЗУ все значения из ВСЕХ СТРОК данного СТОЛБЦА, ЗА ИСКЛЮЧЕНИЕМ значений: два, девять?

Всем большое спасибо!






3

UPDATE (название таблицы) SET (название столбца) = 0 WHERE (название столбца) != ‘2,9’;






8

Могу вам только посочувствовать.

При построении баз данных есть такое понятие, как нормальные формы. При их игнорировании, операции выборки или изменения данных приводят к логическим ошибкам. Так вот, ваша база не удовлетворяется даже самой первой (базовой) нормальной форме, которая гласит: каждая ячейка содержит ровно одно логическое значение и больше ничего. А поскольку вы туда запихнули несколько логических значений, то и просто так манипулировать данными через SQL будет либо затруднительно, либо невозможно.

В данном случае надо будет cтроить достаточно сложный запрос, если вы хотите сделать это только через SQL или даже воспользоваться процедурным расширением SQL/PSM(хранимые процедуры mysql). Но лучше разбить его на три простых запроса. Но в этом случае я не могу гарантировать правильный результат, так как могут быть проблемы с подстроками искомых тегов.

UPDATE %Table% SET %Row% = 'два, девять' WHERE %Row% LIKE '%два%' AND %Row% LIKE '%девять%';
UPDATE %Table% SET %Row% = 'два' WHERE %Row% LIKE '%два%' AND %Row% NOT LIKE '%девять%';
UPDATE %Table% SET %Row% = 'девять' WHERE %Row% NOT LIKE '%два%' AND %Row% LIKE '%девять%';

P.S. основная проблема в данном варианте в том, что паттерн поиска %девять% так же подходит и для тегов «сорок девять», «девятьсот» и т. д. где есть упоминание девятки.







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации


Почта

Необходима, но никому не показывается





Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки


Удаление индексов

    Об
    объекте


    Учебные
    материалы


    Правила
    описания синтаксиса команд SQL

    Создание
    баз данных

    Выбор
    базы данных

    Создание
    таблиц

    Изменение
    и удаление баз данных и их объектов

    Переименование
    таблиц

    Модификация
    типа данных столбца

    Добавление
    cтолбца

    Создание
    индексов

    Удаление
    индексов

    Удаление
    таблиц

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

    Добавление,
    изменение и удаление данных


    Практические
    задания


    Вопросы
    для самопроверки


    Описание
    базы данных db_sales


    Список
    литературы


Удаление индексов

MS
SQL Server



Для удаления обычных индексов в
СУБД MS SQL используется оператор DROP INDEX:


DROP
INDEX <index_name> ON <table_name>


Однако оператор DROP
INDEX неприменим к первичным ключам (индекс PRIMARY KEY) и
уникальным индексам (UNIQUE). Для удаления первичных ключей и
уникальных
индексов используется оператор ALTER TABLE
с предложением DROP CONSTRAINT:


ALTER TABLE
<table_name> DROP CONSTRAINT <index_name>


MySQL Server


В СУБД MySQL удаление индексов
производится операторами DROP INDEX или ALTER TABLE. Удаление первичных
ключей
(индексов PRIMARY KEY) осуществляется только с помощью оператора ALTER
TABLE. Операторы
удаления индексов имеют следующий синтаксис:


DROP
INDEX <index_name> ON <bl_name>


ALTER
TABLE <tbl_name> DROP INDEX <index_name>


Оператор для удаления индекса PRIMARY
KEY имеет синтаксис:


ALTER
TABLE <tbl_name> DROP PRIMARY KEY


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


Удаление столбцов из таблицы влияет
на индексы. Удаляя столбец из таблицы, вы тем самым удаляете этот
столбец из
индекса. Удаляя все индексируемые столбцы из таблицы, вы удаляете весь
индекс.

Пример

Удалить уникальный индекс client_phone
в таблице tbl_clients

MS
SQL:
*
ALTER
TABLE tbl_clients DROP CONSTRAINT client_phone



MySQL:
DROP INDEX
client_phone ON tbl_clients


или
ALTER TABLE tbl_clients DROP INDEX client_phone



* В MS SQL не допускает применения оператора DROP INDEX для удаления
уникальных индексов.

« Previous | Next »

Все, что вам нужно знать об этом

Введение

SQL позволяет пользователю удалить один или несколько столбцов из данной таблицы в базе данных, если они больше не нужны или стали избыточными. Для этого пользователь должен иметь разрешение ALTER на объект.

Начнем с синтаксиса использования оператора ALTER TABLE DROP COLUMN.

Синтаксис

ИЗМЕНИТЬ ТАБЛИЦУ имя_таблицы

УДАЛИТЬ КОЛОННУ имя_столбца;

В приведенном выше синтаксисе

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

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

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

Синтаксис

ALTER TABLE имя_таблицы     

КОЛОНКА УДАЛЕНИЯ    

    имя_столбца1,  

    имя_столбца2,  

    …,  

    имя_столбца_n;

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

Удаление одного столбца

Чтобы удалить столбец из таблицы, сначала создайте таблицу с именем «Студенты» со следующими операторами.

В результате этих операторов у вас будет создана таблица, как показано ниже:

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

Обратите внимание, что когда вы используете команду ALTER, она выдает выходные данные как «Таблица изменена». Теперь, если вы посмотрите на свою таблицу, она будет выглядеть так, как показано ниже.

Теперь столбец AGE исключен или удален из таблицы STUDENTS. Далее вы узнаете, как удалить несколько столбцов одновременно.

Удаление нескольких столбцов

В этом примере вы удалите столбцы Имя и Адрес из созданной таблицы.

Выход-

Теперь, как видите, у вас остался только столбец ID в таблице «Студенты».

Удалить столбец, который является внешним ключом

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

Синтаксис:

ИЗМЕНИТЬ ТАБЛИЦУ имя_таблицы

ОГРАНИЧЕНИЕ СБРОСА fk_name;

Здесь имя_таблицы представляет собой таблицу, из которой необходимо удалить внешний ключ, а имя_fk представляет имя столбца, который является внешним ключом в таблице, подлежащей изменению.

Это наша родительская таблица, первичным ключом которой является product_id.

Этот оператор представляет дочернюю таблицу «shop», содержащую shop_id в качестве первичного ключа и fk_shop_product_id в качестве внешнего ключа, относящегося к полю product_id в родительской таблице.

Используя приведенную выше инструкцию, вы удалили внешний ключ в дочерней таблице.

Получите опыт работы с новейшими инструментами и методами бизнес-аналитики с помощью Программы сертификации бизнес-аналитиков. Зарегистрируйтесь сейчас!

Подведение итогов

Вот краткий обзор тем, затронутых в этом руководстве. Во-первых, вы узнали, что SQL предоставляет пользователю право удалить столбец, который больше не требуется, с помощью команды ALTER. Далее вы увидели, что есть два способа удалить столбец в SQL: вы можете удалить один столбец или несколько столбцов одновременно. После этого вы рассмотрели, как можно удалить внешний ключ в таблице, используя ограничение DROP в команде ALTER.

Теперь, когда вы узнали о концепции столбца DROP в SQL, вы должны захотеть больше узнать и изучить SQL. Ознакомьтесь с сертификационным курсом Simplilearn по SQL и сразу же зарегистрируйтесь, чтобы овладеть SQL, как никогда раньше.

Есть к нам вопросы? Оставьте их в разделе комментариев к этой статье. Наши специалисты свяжутся с вами так же, как только это будет возможно!

SQL Удалить столбец из таблицы

При работе с базой данных SQL часто требуется удалить столбец. Возможно, столбец больше не актуален или вы случайно добавили его при создании таблицы. Какой бы ни была ваша причина, удалить столбцы из таблицы несложно. Кроме того, SQL позволяет удалять несколько столбцов одной командой.

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

Как удалить столбец из таблицы

Прежде чем мы откроем наш SQL, нам сначала нужно убедиться, что у нас работает MySQL. Подтвердите его статус с помощью приведенной ниже команды.

$ sudo systemctl status mysql

Если он не запущен, используйте systemctl для его запуска.

$ sudo systemctl start mysql

Давайте откроем MySQL в командной строке с помощью приведенной ниже команды.

$ mysql -u root -p

В этом руководстве мы будем использовать базу данных linuxhint . Итак, выберите свою базу данных с помощью команды use.

После выбора базы данных создадим таблицу пользователей с различными столбцами. В нашем случае у нас четыре столбца.

Мы можем использовать команду INSERT для вставки значений в наши столбцы.

Пока что мы можем проверить состояние нашей таблицы, используя ВЫБОР * команда. На изображении ниже вы заметите, что у нас есть разные столбцы и значения, которые мы вставили в столбцы.

Теперь, когда у нас есть готовая таблица, пришло время сосредоточиться на том, как удалять столбцы.

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

Ниже приведен синтаксис для удаления столбцов из таблицы.

$ ALTER TABLE имя_таблицы DROP COLUMN имя_столбца;

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

$ ALTER TABLE users DROP COLUMN фамилия;

После удаления столбца мы можем использовать команду desc , чтобы увидеть новую структуру. Вывод ниже показывает сообщение об успехе после того, как мы удалили столбец и оставшиеся столбцы после запуска команды desc.

Еще один способ убедиться, что удаленный столбец удален, — выбрать все столбцы и их значения с помощью команды «Выбрать все», как показано на рисунке ниже. Вы заметите, что у нас нет столбца lastname.

Удаление нескольких столбцов

Давайте сначала воспользуемся ключевым словом ADD, чтобы добавить дополнительные столбцы в нашу таблицу, чтобы продемонстрировать, как мы можем удалить несколько столбцов.

Проверим текущую структуру таблицы с помощью команды desc.

Чтобы удалить несколько столбцов одной командой, добавьте ключевое слово drop для каждого имени столбца, разделенного командой.

Вот синтаксис для удаления нескольких столбцов.