Разное

Как удалить столбец в sql: SQL оператор ALTER TABLE — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

Содержание

Как удалить столбец из существующей таблицы?

Как удалить столбец из существующей таблицы?

У меня есть таблица MEN с Fname и Lname

Мне нужно удалить Lname

Как это сделать?

sql-server

Поделиться

Источник


Gali    

11 апреля 2011 в 19:19

10 ответов


  • Databricks — как изменить секцию существующей Дельта-таблицы?

    У меня есть таблица в Databricks delta, которая разделена на transaction_date . Я хочу изменить столбец раздела на view_date . Я попытался удалить таблицу, а затем создать ее с новым столбцом раздела, используя PARTITIONED BY (view_date) . Однако моя попытка не удалась, так как фактические файлы…

  • Добавьте ограничение notnull в столбец существующей таблицы

    Как добавить ограничение notnull в столбец существующей таблицы, в которую еще не вставлено значение, т. е. создана только таблица, и теперь я хочу изменить таблицу я пишу следующий запрос ALTER TABLE TABLENAME MODIFY COLUMNAME DATATYPE NOT NULL; но oracle бросает ошибку invalid alter table option



639

ALTER TABLE MEN DROP COLUMN Lname

Поделиться


jcomeau_ictx    

11 апреля 2011 в 19:22



150

Родовой:

ALTER TABLE table_name DROP COLUMN column_name;

В вашем случае:

ALTER TABLE MEN DROP COLUMN Lname;

Поделиться


reggie    

11 апреля 2011 в 19:21



72

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

Если на этот столбец ссылаются другие таблицы, то вам нужно выяснить, что делать с другими tables/columns. одним из вариантов является удаление внешних ключей и сохранение ссылочных данных в других таблицах.

Другой вариант-найти все ссылочные столбцы и удалить их, если они больше не нужны.

В таких случаях реальная проблема заключается в поиске всех внешних ключей. Вы можете сделать это, запросив системные таблицы или используя сторонние инструменты, такие как ApexSQL Search (бесплатно) или Red Gate Dependency tracker (премиум, но больше возможностей). Там целая нить по внешним ключам тут

Поделиться


John Moore    

09 апреля 2013 в 10:29




45

Это правильный ответ:

ALTER TABLE MEN DROP COLUMN Lname

Но… если CONSTRAINT существует на COLUMN, то сначала вы должны DROP CONSTRAINT , а затем вы сможете DROP COLUMN . Для того, чтобы бросить CONSTRAINT , работать:

ALTER TABLE MEN DROP CONSTRAINT {constraint_name_on_column_Lname}

Поделиться


Aaron Lelevier    

21 июля 2014 в 23:11



18

В SQL Server 2016 можно использовать новые операторы DIE.

ALTER TABLE Table_name DROP COLUMN IF EXISTS Column_name

Приведенный выше запрос является повторно выполняемым это drops столбец только в том случае, если это exists в таблице иначе он не будет выбрасывать ошибку.

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

Поделиться


Pரதீப்    

01 мая 2016 в 04:49



7

Вопрос в том, можно ли удалить только столбец из несуществующей таблицы 😉

BEGIN TRANSACTION

IF exists (SELECT * FROM  sys.columns c 
INNER JOIN  sys.objects t ON (c.[object_id] = t.[object_id])
WHERE t.[object_id] = OBJECT_ID(N'[dbo].[MyTable]')
AND c.[name] = 'ColumnName')
    BEGIN TRY
        ALTER TABLE [dbo].[MyTable] DROP COLUMN ColumnName
    END TRY
    BEGIN CATCH
        print 'FAILED!'
    END CATCH
ELSE
    BEGIN 
        SELECT ERROR_NUMBER() AS ErrorNumber;
        print 'NO TABLE OR COLUMN FOUND !'
    END 

COMMIT  

Поделиться


Tad    

27 ноября 2013 в 08:43



3

Простой ответ на это-использовать это:

ALTER TABLE MEN DROP COLUMN Lname;

Таким образом можно указать более одного столбца:

ALTER TABLE MEN DROP COLUMN Lname, secondcol, thirdcol;

Из SQL Server 2016 также можно удалить столбец только в том случае, если он существует. Это останавливает вас от получения ошибки для чего-то, что вас, вероятно, не волнует.

ALTER TABLE MEN DROP COLUMN IF EXISTS Lname;

Есть некоторые предпосылки для удаления столбцов. Колонны отброшены быть не может:

  • Используется индексом
  • Используется ограничениями CHECK, внешнего ключа, UNIQUE или первичного ключа
  • Связанные с DEFAULT
  • Привязка к правилу

Если все вышеперечисленное верно, вам нужно сначала отбросить эти ассоциации.

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

ALTER TABLE MEN REBUILD;

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

SELECT 
   Fname 
   -- Note LName the column not wanted is not selected
INTO 
   new_MEN
FROM
   MEN;

EXEC sp_rename 'MEN', 'old_MEN';
EXEC sp_rename 'new_MEN', 'MEN';

DROP TABLE old_MEN;

Но имейте в виду, что здесь есть окно для потери данных вставленных строк между первой командой select и последней командой rename.

Поделиться


Martin Brown    

03 мая 2018 в 14:51



2

Добавление столбцов в существующую таблицу:

ALTER TABLE table_name
 ADD
 column_name DATATYPE NULL  

Удаление столбцов в существующей таблице:

ALTER TABLE table_name
DROP COLUMN column_name

Поделиться


mithun    

11 июля 2012 в 08:59



2

Это также можно сделать с помощью графического интерфейса SSMS. Самое приятное в этом методе то, что он предупреждает вас, если в этом столбце есть какие-либо отношения, а также может автоматически удалять их.

  1. Поместите таблицу в проектное представление (щелкните правой кнопкой мыши на таблице) вот так:
  1. Щелкните правой кнопкой мыши столбец в режиме конструктора таблицы и выберите «Delete
    Column»

Как я уже говорил ранее, если есть какие-либо отношения, которые также должны быть удалены, он спросит вас, Хотите ли вы удалить их также. Скорее всего, вам придется сделать это, чтобы удалить столбец.

Поделиться


Tony L.    

15 декабря 2015 в 17:23



0

ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;

например

alter table Employee drop адрес столбца;

Поделиться


Anand Pipalwa    

06 декабря 2018 в 06:00


Похожие вопросы:

Как удалить столбец из таблицы с помощью консоли rails

Можно легко удалить столбец с помощью rails миграции. class SomeClass < ActiveRecord::Migration def self.up remove_column :table_name, :column_name end end Я хочу знать, есть ли какой-либо способ…

Удалить полный столбец из таблицы

[Name] [major_version] [minor_version] [revision] [install_failures] s 23 1 NULL 0 Это мой столик. Как я могу удалить столбец revision (не значение, полный столбец редакции) из таблицы?

Как удалить полный столбец из электронной таблицы с помощью Java?

Я создаю приложение, используя электронную таблицу Google для хранения данных. Я добавляю и обновляю столбцы динамически, но не получаю, как удалить полный столбец сразу! Может ли кто-нибудь помочь…

Databricks — как изменить секцию существующей Дельта-таблицы?

У меня есть таблица в Databricks delta, которая разделена на transaction_date . Я хочу изменить столбец раздела на view_date . Я попытался удалить таблицу, а затем создать ее с новым столбцом…

Добавьте ограничение notnull в столбец существующей таблицы

Как добавить ограничение notnull в столбец существующей таблицы, в которую еще не вставлено значение, т. е. создана только таблица, и теперь я хочу изменить таблицу я пишу следующий запрос ALTER…

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

Мне нужно удалить столбец из таблицы Excel, вставленной в тело сообщения. Мне нужно удалить столбец в Outlook, а не Excel. Я искал и ничего не могу найти.

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

Я хочу удалить столбец из таблицы. Как я могу это сделать?

Не удается удалить столбец существующей таблицы в Laravel 5.3?

У меня возникли проблемы в Laravel 5.3. Это не позволит мне удалить столбец из существующей таблицы. Я запустил ‘ composer require doctrine/dbal’ и это сработало нормально, но моя колонка не будет…

Удалить первый столбец таблицы

Я хочу удалить первый столбец(столбец, используемый для выбора строк) таблицы sap ui5. У меня нет требования, чтобы выбрать строку(ы). Я пытался сделать это с помощью css, но, он возится с…

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

Недавно я начал открывать Databricks и столкнулся с ситуацией, когда мне нужно удалить определенный столбец Дельта-таблицы. Когда я работал с PostgreSQL, это было так же просто, как ALTER TABLE…

Как удалить столбец таблицы в SQL Server 2012?

Я хочу удалить столбец таблицы в SQL Server 2012, не затрагивая другие столбцы в таблице (и их данные).

Как я могу это сделать? Возможно ли это вообще?

До сих пор я пытался удалить столбец через SQL Server Management Studio, но это говорит о том, что вся таблица должна быть удалена и создана заново.

sql-server

sql-server-2012

Поделиться

Источник


aknuds1    

21 ноября 2012 в 10:46

3 ответа


  • Как удалить trailing нули из двоичного поля в SQL Server 2012

    Я столкнулся с проблемой при вставке двоичного значения в двоичный столбец в SQL Server 2012. Я могу вставить значение в двоичный столбец, но когда я запрашиваю вставленное двоичное значение, я вижу нежелательные нули trailing в вставленном двоичном значении. Например, — создание таблицы blob с…

  • Восстановление удаленной таблицы в microsoft sql server 2012

    Я удалил таблицу в Microsoft SQL Server 2012. Теперь мне нужны данные из удаленной таблицы. Как восстановить удаленную таблицу без использования инструмента.



13

От MSDN

ALTER TABLE dbo.Table DROP COLUMN column_b

Поделиться


Paddy    

21 ноября 2012 в 10:49



1

ALTER TABLE table_name
DROP COLUMN column_name

Поделиться


il_guru    

21 ноября 2012 в 10:50



1

В столбец

alter table tblname drop column colname

Чтобы добавить столбец

alter table tblname add colname datatype

Поделиться


AnandPhadke    

21 ноября 2012 в 10:52


  • Как удалить столбец в SQL Server 2005?

    Как удалить столбец в SQL Server 2005?

  • Как полностью удалить SQL Server 2012

    Я удалил SQL Server Express 2012 из своего PC. Но после этого я заметил, что в программах и функциях были и другие вещи, такие как Microsoft SQL Server Native Client, Microsoft SQL Server 2012 Native Client, SQL Server Browser for SQL Server 2012 и другие программы. Что я могу удалить из моего PC,…


Похожие вопросы:

Автоматически вычисляемый столбец в SQL Server 2012

Возможно ли, чтобы столбец В автоматически вычислялся самим SQL Server 2012? Например: у меня есть три столбца START_DATE , END_DATE и DURATION . Я хочу получить продолжительность, делая это :…

Запрос JSON внутри столбца SQL Server 2012

У меня есть столбец внутри моей таблицы SQL Server 2012, который содержит следующие данные Json. [{bvin:145a7170ec1247cfa077257e236fad69,id:b06f6aa5ecd84be3aab27559daffc3a4}] Теперь я хочу…

Удаление SQL Server 2012

Мне нужно удалить SQL Server 2012 на компьютере с Windows Server 2008, но мне нужно оставить все существующие базы данных. Другими словами, Мне нужно удалить SQL сервер, но без удаления всех данных….

Как удалить trailing нули из двоичного поля в SQL Server 2012

Я столкнулся с проблемой при вставке двоичного значения в двоичный столбец в SQL Server 2012. Я могу вставить значение в двоичный столбец, но когда я запрашиваю вставленное двоичное значение, я вижу…

Восстановление удаленной таблицы в microsoft sql server 2012

Я удалил таблицу в Microsoft SQL Server 2012. Теперь мне нужны данные из удаленной таблицы. Как восстановить удаленную таблицу без использования инструмента.

Как удалить столбец в SQL Server 2005?

Как удалить столбец в SQL Server 2005?

Как полностью удалить SQL Server 2012

Я удалил SQL Server Express 2012 из своего PC. Но после этого я заметил, что в программах и функциях были и другие вещи, такие как Microsoft SQL Server Native Client, Microsoft SQL Server 2012…

Как удалить автоматическое увеличение из таблицы в sql server 2012

Я создал таблицу в SQL Server 2012 с первичным ключом в качестве автоматического приращения. Но как я могу удалить это свойство auto increment из таблицы с помощью запроса SQL?

Как удалить столбец идентификаторов в sql server 2012?

Как удалить существующее поле идентификатора таблицы с помощью запроса sql. Я уже пробовал запрос типа SET IDENTITY_INSERT Database.tableName OF

Как использовать маску в Столбцах в SQL Server 2012

Можно ли добавить маску на столбец (тип данных int или varhchar) в SQL Server 2012? У меня есть столбец ‘Main_Code’, я хочу сохранить код как ’01’ или ‘0001’ вместо ‘1’.Я читал о динамической маске…

Удалить столбец в таблице sql – Telegraph

Удалить столбец в таблице sql

SQL — Урок 9. Редактирование, обновление и удаление данных

=== Скачать файл ===

Столбец можно удалить из таблицы, используя инструкцию ALTER TABLE с предложением DROP COLUMN. Используя инструкцию ALTER TABLE DROP COLUMN , можно удалить за раз только один столбец. Столбец не может быть удален, если он является частью ограничения или частью ключа индекса, если только не добавлена возможность каскадирования. Если столбец имеет большое количество значений, удаление столбца может занять некоторое время. В этом случае, возможно, лучше пометить его как неиспользуемый UNUSED и удалить, когда в системе будет небольшое количество пользователей, чтобы избежать расширенных блокировок. Некоторые столбцы никогда не могут быть удалены, например столбцы, которые образуют часть ключа разбиения таблицы с разделами, или столбцы, образующие часть первичного ключа таблицы, упорядоченной с помощью индекса. Все Права Защищены Политика конфиденциальности Наверх. Главная Карта сайта О проекте Контакты. Используйте предложение DROP COLUMN для удаления ненужных столбцов из таблицы: Это не спам обязательно.

Сборник задач 5 класс скачать

Скачать gta vice

Amd a8 6600k характеристики

Справочник по SQL

Гарднерелла способы заражения

Сколько стоит ferrari 488 gtb

Спар саранск официальный сайт каталог

Магазин бум официальный сайт каталог товаров

Схема составления рассказа ефименкова л н

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

Схема печки 2108

Состав числа до 10 домики видео

Технологическая карта квадратные уравнения

Выпуск новостей иркутск сегодня

Чертеж долбяка в компасе

История 6 класс 23 параграф

Электромонтажные работы пермь

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

Prestigio телефон инструкция по эксплуатации

Как поставить китайскую дверь

Корм happy dog состав

Разработка и организация производственного процесса

Видимые свойства поверхности

SQL DROP

❮ Справочник ключевых слов SQL


КАПЕЛЬНАЯ КОЛОНКА

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

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


УДАЛИТЬ УНИКАЛЬНОЕ ограничение

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

SQL Server / Oracle / MS Доступ:

ALTER TABLE Персонал
DROP CONSTRAINT UC_Person;

MySQL:

ALTER TABLE Лица
DROP INDEX UC_Person;


Отбросить ограничение первичного ключа

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

SQL Server / Oracle / MS Доступ:

ALTER TABLE Персонал
DROP CONSTRAINT PK_Person;

MySQL:

ALTER TABLE Лица
УДАЛИТЬ ПЕРВИЧНЫЙ КЛЮЧ;


Ограничение удаления внешнего ключа

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

SQL Server / Oracle / MS Доступ:

ALTER TABLE Заказы
УДАЛИТЬ ОГРАНИЧЕНИЕ FK_PersonOrder;

MySQL:

ALTER TABLE Заказы
УДАЛИТЬ ИНОСТРАННЫЙ КЛЮЧ FK_PersonOrder;


УДАЛИТЬ ограничение CHECK

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

SQL Server / Oracle / MS Доступ:

ALTER TABLE Лица
DROP CONSTRAINT CHK_PersonAge;

MySQL:

ALTER TABLE Лица
DROP CHECK CHK_PersonAge;


УДАЛЕНИЕ ПО УМОЛЧАНИЮ

Команда DROP DEFAULT используется для удаления
ограничение DEFAULT.

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

SQL Server / Oracle / MS Доступ:

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

MySQL:

ALTER TABLE Лица
ALTER City DROP DEFAULT;


ИНДЕКС ПАДЕНИЯ

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

MS Доступ:

DROP INDEX имя_индекса ВКЛ имя_таблицы ;

SQL Server:

DROP INDEX имя_таблицы . index_name ;

DB2 / Oracle:

MySQL:

ALTER TABLE table_name
DROP INDEX index_name ;


УДАЛЕНИЕ БАЗЫ ДАННЫХ

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

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

Пример

DROP DATABASE testDB;

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


ТАБЛИЦА ПАДЕНИЯ

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

Следующий SQL удаляет таблицу «Shippers»:

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


КАПЕЛЬНЫЙ ВИД

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

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


❮ Справочник ключевых слов SQL

Различные способы SQL для удаления повторяющихся строк из таблицы SQL

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

Введение

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

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

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

СОЗДАТЬ ТАБЛИЦУ Сотрудник

(

[ID] INT identity (1,1),

[FirstName] Varchar (100),

[LastName] Varchar (100),

[Country] Varchar (100) ,

)

GO

Вставить в значения Employee ([FirstName], [LastName], [Country]) (Raj, Gupta, India),

(Raj, ‘ Гупта ‘,’ Индия ‘),

(‘ Мохан ‘,’ Кумар ‘,’ США ‘),

(‘ Джеймс ‘,’ Барри ‘,’ Великобритания ‘),

(‘ Джеймс ‘,’ Барри ‘ , «Великобритания»),

(«Джеймс», «Барри», «Великобритания»)

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

SQL удаляет повторяющиеся строки с помощью Group By и имеет пункт

В этом методе мы используем предложение SQL GROUP BY для идентификации повторяющихся строк. Группы предложений Group By
данные в соответствии с определенными столбцами, и мы можем использовать функцию COUNT, чтобы проверить наличие строки.

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

SELECT [Имя],

[Фамилия],

[Страна],

COUNT (*) AS CNT

FROM [SampleDB].[dbo]. [Сотрудник]

ГРУППА ПО [Имя],

[Фамилия],

[Страна]

HAVING COUNT (*)> 1;

В выходных данных выше у нас есть две повторяющиеся записи с ID 1 и 3.

  • Emp ID 1 имеет два вхождения в таблице сотрудников
  • Emp ID 3 встречается в таблице сотрудников трижды.

Нам необходимо сохранить одну строку и удалить повторяющиеся строки.Нам нужно удалить из таблицы только повторяющиеся строки.
Например, EmpID 1 появляется в таблице два раза. Мы хотим удалить только одно его появление.

Мы используем функцию SQL MAX для вычисления максимального идентификатора каждой строки данных.

SELECT *

FROM [SampleDB]. [Dbo]. [Employee]

WHERE ID NOT IN

(

SELECT MAX (ID)

FROM [SampleDB].[dbo]. [Сотрудник]

ГРУППА ПО [Имя],

[Фамилия],

[Страна]

);

На следующем снимке экрана мы видим, что приведенный выше оператор Select исключает максимальный идентификатор каждой повторяющейся строки.
и мы получаем только минимальное значение ID.

Чтобы удалить эти данные, замените первый Select оператором удаления SQL согласно следующему запросу.

УДАЛИТЬ ИЗ [SampleDB]. [Dbo]. [Employee]

WHERE ID NOT IN

(

SELECT MAX (ID) AS MaxRecordID

FROM [SampleDB]. [Dbo]. [Employee]

GROUP BY [Имя],

[Фамилия],

[Страна]

);

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

SQL удаляет повторяющиеся строки с помощью общих табличных выражений (CTE)

Мы можем использовать общие табличные выражения, широко известные как CTE, для удаления повторяющихся строк в SQL Server. Это доступно
начиная с SQL Server 2005.

Мы используем функцию SQL ROW_NUMBER,
и добавляет уникальный последовательный номер строки для строки.

В следующем CTE он разделяет данные с помощью предложения PARTITION BY для столбцов [Имя], [Фамилия] и [Страна] и
генерирует номер строки для каждой строки.

С CTE ([имя],

[фамилия],

[страна],

дубликатсчет)

AS (ВЫБРАТЬ [имя],

[фамилия],

[страна],

НОМЕР СТРОКИ ( ) НАД (РАЗДЕЛ ПО [имя],

[фамилия],

[страна]

ЗАКАЗАТЬ ПО идентификатору) КАК DuplicateCount

ОТ [SampleDB].[dbo]. [сотрудник])

SELECT *

FROM CTE;

В выводе, если какая-либо строка имеет значение столбца [DuplicateCount] больше 1, это показывает, что это дубликат
строка.

Мы можем удалить повторяющиеся строки, используя следующий CTE.

WITH CTE ([FirstName],

[LastName],

[Country],

DuplicateCount)

AS (SELECT [FirstName],

[LastName],

[Country],

ROW ) НАД (РАЗДЕЛ ПО [Имя],

[Фамилия],

[Страна]

ЗАКАЗАТЬ ПО ИДЕНТИФИКАТОРУ) КАК DuplicateCount

ОТ [SampleDB].[dbo]. [Employee])

УДАЛИТЬ ИЗ CTE

WHERE DuplicateCount> 1;

Удаляются строки со значением [DuplicateCount] больше 1.

Функция RANK для удаления повторяющихся строк SQL

Мы можем использовать функцию SQL RANK для удаления
повторяющиеся строки также. Функция SQL RANK дает уникальный идентификатор строки для каждой строки независимо от повторяющейся строки.

В следующем запросе мы используем функцию RANK с предложением PARTITION BY.Предложение PARTITION BY подготавливает
подмножество данных для указанных столбцов и дает рейтинг для этого раздела.

SELECT E.ID,

E.firstname,

E.lastname,

E.country,

T.rank

FROM [SampleDB]. [Dbo]. [Сотрудник] E

INNER JOIN

(

SELECT *,

RANK () OVER (РАЗДЕЛ ПО имени,

фамилия,

страна

ORDER BY id) ранг

FROM [SampleDB].[dbo]. [Сотрудник]

) T ON E.ID = t.ID;

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

УДАЛИТЬ E

ИЗ [SampleDB]. [Dbo]. [Сотрудник] E

INNER JOIN

(

SELECT *,

RANK () OVER (РАЗДЕЛЕНИЕ ПО имени,

0002, страна

ORDER BY id) ранг

ОТ [SampleDB].[dbo]. [Сотрудник]

) T ON E.ID = t.ID

WHERE rank> 1;

Использование пакета SSIS для удаления повторяющихся строк с помощью SQL

Служба интеграции с SQL Server обеспечивает различные преобразования, операторы помогают как администраторам, так и
разработчикам в сокращении ручного труда и оптимизации задач. Пакет SSIS может удалить повторяющиеся строки из SQL
стол тоже.

Использование оператора сортировки в пакете служб SSIS для удаления повторяющихся строк

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

Давайте создадим пакет SSIS, чтобы показать эту задачу.

  • В SQL Server Data Tools создайте новый пакет интеграции. В новом пакете добавьте исходное соединение OLE DB.
  • Откройте редактор источника OLE DB, настройте исходное соединение и выберите целевую таблицу

  • Нажмите «Предварительный просмотр данных», и вы увидите, что в исходной таблице все еще есть повторяющиеся данные.

  • Добавить оператор сортировки из панели инструментов SSIS для операции удаления SQL и объединить его с исходными данными

Чтобы настроить оператор сортировки, дважды щелкните его и выберите столбцы, содержащие повторяющиеся значения.В нашем случае повторяющееся значение находится в столбцах [FirstName], [LastName], [Country].

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

В нижней левой части обратите внимание на флажок Удалить строки с повторяющимися значениями сортировки.

Он выполнит задачу по удалению повторяющихся строк из исходных данных.Поставим галочку в этом поле и
нажмите ОК. Он выполняет операцию удаления SQL в пакете SSIS.

После того, как мы нажмем OK, он вернется на вкладку потока данных, и мы увидим следующий пакет SSIS.

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

Добавить преобразование многоадресной рассылки SQL
из панели инструментов SSIS, как показано ниже.

Чтобы просмотреть отдельные данные, щелкните правой кнопкой мыши соединитель между сортировкой и многоадресной рассылкой. Щелкните Включить просмотрщик данных.

Общий пакет SSIS выглядит так, как показано ниже.

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

Закройте это, и пакет SSIS будет успешно выполнен.

Заключение

В этой статье мы исследовали процесс удаления повторяющихся строк SQL с помощью различных способов, таких как T-SQL, CTE и
Пакет SSIS. Вы можете использовать тот метод, который вам удобнее. Однако я бы посоветовал не реализовывать эти
процедуры и пакет на производственных данных напрямую.Вы должны тестировать в более низкой среде.

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

Работая старшим консультантом по администрированию баз данных для крупных клиентов и получив сертификат MCSA SQL 2012, он любит делиться знаниями в различных блогах.
С ним можно связаться по адресу [email protected]

Посмотреть все сообщения от Rajendra Gupta

Последние сообщения от Rajendra Gupta (посмотреть все)

Как добавить, удалить или переименовать столбец в таблице с помощью SQL

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

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

СОЗДАЙТЕ
ТАБЛИЦА Таблица1
(

Столбец1 INT NOT NULL,

Столбец2 VARCHAR (5) NULL,

Столбец3 VARCHAR (20) NOT NULL,

Столбец4 VARCHAR (50) NOT NULL,

Столбец 5 DATETIME NOT NULL
)
GO

INSERT
INTO Table1 (Столбец1, Столбец2, Столбец3, Столбец4, Столбец5)
ВЫБРАТЬ
1, «Mr», «Fred», «Bloggs», «23 декабря 1962 года» UNION
SELECT
2, «Миссис», «Фреда», «Блоггс», «10 января 1964 года»,

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

Чтобы добавить столбцы, просто определите имя столбца и тип данных (например,грамм. VARCHAR (100)) со следующим синтаксисом:

ALTER TABLE Table1
ДОБАВИТЬ Column6 VARCHAR (100) NULL

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

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

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

ALTER TABLE Table1
КАПЕЛЬНАЯ КОЛОНКА
Столбец 2

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

Вы также можете переименовать существующий столбец, хотя, что любопытно, это не поддерживается
ИЗМЕНИТЬ ТАБЛИЦУ
синтаксис, и вместо этого нам нужно будет использовать хранимую процедуру sp_rename:

exec sp_rename ‘Table1.Column1 ‘,’ ID ‘,’ COLUMN ‘
exec sp_rename’ Table1.Column5 ‘,’ DateOfBirth ‘,’ COLUMN ‘

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

Вы увидите следующее предупреждающее сообщение при запуске процедуры sp_rename в SQL Server Management Studio.
Однако беспокоиться не о чем, это всего лишь предупреждение, и столбец все равно будет переименован!

Db2 ALTER TABLE DROP COLUMN на практических примерах

Резюме : в этом руководстве вы узнаете, как удалить один или несколько столбцов в таблице с помощью оператора Db2 ALTER TABLE DROP COLUMN .

Введение в Db2 ALTER TABLE DROP COLUMN statement

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

 

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

В этом синтаксисе:

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

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

 

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

Обратите внимание, что между пунктами DROP COLUMN нет запятой.

Db2 ALTER TABLE DROP COLUMN examples

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

1) Пример удаления одного столбца

В следующем примере удаляется столбец note из таблицы orders :

 

ALTER TABLE orders ОТКАЗАТЬ КОЛОНКУ примечание;

Чтобы проверить изменение, вы можете использовать команду DESCRIBE TABLE :

 

DESCRIBE TABLE orders;

Вот результат:

Столбец примечаний был удален.

2) Пример удаления нескольких столбцов

В этом примере используется ALTER TABLE DROP COLUMN для удаления столбцов required_date и order_status :

 

ALTER TABLE orders УДАЛИТЬ КОЛОНКУ запрошенная дата DROP COLUMN order_status;

На следующем рисунке показан список столбцов таблицы заказов после выполнения вышеуказанного оператора:

 

DESCRIBE TABLE orders;

В этом руководстве вы узнали, как удалить один или несколько неиспользуемых столбцов из таблицы с помощью оператора Db2 ALTER TABLE DROP COLUMN .

  • Было ли это руководство полезным?
  • Да Нет

Добавление и удаление столбцов из таблицы — Видеоурок по Oracle Database

Обзор

Стенограммы

Файлы упражнений

Просмотр в автономном режиме

Детали курса

Владение языком SQL является важным навыком для любого профессионала Oracle и первым шагом на пути к тому, чтобы стать настоящим экспертом по Oracle.Как и в случае с любой другой платформой баз данных, Oracle имеет собственный подход к языку SQL, основанный на отраслевых стандартах. В этом курсе инструктор и консультант Oracle Дэвид Яхалом освещает основы, необходимые для кодирования с помощью SQL в среде Oracle Database 12c. Узнайте, как выбирать и фильтровать данные, а также управлять данными с помощью функций, включая SUBSTR, UPPER, MIN, MAX, AVG, SUM и другие. Затем узнайте, как объединить данные из двух или более таблиц в одном операторе с объединениями. Узнайте, как изменять данные с помощью команд DML и DDL, таких как DELETE и UPDATE, и группировать данные с помощью агрегатных функций.Дэвид также дает обзор расширенных концепций, таких как ограничения и подзапросы.

Примечание. Этот учебный курс подходит для начинающих разработчиков баз данных, не имеющих опыта работы с SQL или Oracle.

Инструктор

  • Дэвид Яхалом

    Управляющий директор в EPAM Systems

    Дэвид Яхалом — сертифицированный эксперт по базам данных и архитектор облачных решений с более чем 15-летним опытом.

    Он специализируется на информационных технологиях и платформах баз данных, таких как Oracle, Hadoop, Amazon Web Services, Microsoft Azure, MySQL и PostgreSQL.

    Дэвид — технический директор и основатель Naya Tech, а также создатель migVisor, уникального советника по миграции облачных баз данных SaaS, который ускоряет внедрение облачных технологий баз данных. Он также является автором курсов Introduction to Hadoop YARN и The Scoop on Hadoop Sqoop и является сертифицированным инструктором Cloudera и Oracle University.

    Узнать больше

    Видеть меньше

Навыки, описанные в этом курсе

Зрители этого курса

32256 человек смотрели этот курс

Связанные курсы

Создание изменения и удаления таблиц на сервере SQL

Вернуться к: Учебное пособие по SQL Server для начинающих и профессионалов

Создание изменения и удаления таблиц на сервере SQL

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

  1. Что такое SQL?
  2. Понимание подязыков SQL
  3. Язык определения данных в SQL Server.
  4. Создать команду в SQL Server
  5. Изменить команду в SQL Server
  6. Команда усечения в SQL Server.
  7. Отбросить команду в SQL Server.
  8. В чем разница между командами удаления и усечения в SQL Server?
Что такое SQL?
  1. Это непроцедурный язык, который используется для связи с любой базой данных, такой как Oracle, SQL Server и т. Д.
  2. Этот язык был разработан немецким ученым г-ном EFCodd в 1968 году
  3. ANSI (Американский национальный Standard Institute) одобрил эту концепцию, и в 1972 году SQL был выпущен на рынок. может взаимодействовать с любыми типами баз данных, такими как SQL Server, Oracle, MySQL, Sybase, BD2 и т. д.
  4. SQL не чувствителен к регистру, это означает, что все команды SQL не чувствительны к регистру.
  5. Каждая команда SQL должна заканчиваться точкой с запятой (;) (это необязательно для SQL Server)
  6. SQL может быть вызван как NLI (интерфейс естественного языка). Это означает, что все команды SQL почти аналогичны нормальному английскому языку.
Субъязыки SQL:

SQL содержит следующие подъязыки

  1. DDL (5 команд — create, alter, sp_rename, drop, truncate)
  2. DML (3 команды — Вставить, Обновить, Удалить).
  3. DQL / DRL (1 команда — выбор).
  4. TCL (3 команды — фиксация, откат, точка сохранения)
  5. DCL (2 команды — Grant, Revoke).
Язык определения данных (DDL):
  1. Язык определения данных (DDL) используется для определения объектов базы данных, таких как таблицы, синонимы, представления, процедуры, функции, триггеры и т. Д., Что означает, что операторы DDL используются для изменить / изменить базу данных или структуру таблицы и схему
  2. Команды DDL работают со структурой таблицы, а не с данными таблицы.
  3. Этот язык содержит пять команд. Это (CREATE, ALTER, SP_RENAME, TRUNCATE, DROP)

Давайте подробно обсудим каждую из этих команд языка определения данных.

Создать команду в SQL Server:

Команда CREATE используется для создания нового объекта базы данных в базе данных, такого как таблицы, представления, функции и т. Д. В SQL Server все объекты базы данных (таблицы, представления, и т. д.) сохраняются с расширением « dbo. <имя объекта> ».Синтаксис для создания базы данных показан ниже.

Пример : Следующая команда Create создает таблицу с именем Student.

 СОЗДАТЬ ТАБЛИЦУ студент
(
    Studid INT,
    sname VARCHAR (max),
    зарплата DECIMAL (6, 2)
)
 
Правила создания таблицы в SQL Server:

При создании базы данных в SQL Server необходимо соблюдать следующие правила.

  1. Имя таблицы должно быть уникальным в базе данных.
  2. Имя столбца должно быть уникальным в пределах определения таблицы.
  3. Имя таблицы не должно начинаться с цифровых и специальных символов, кроме символа подчеркивания (-).
  4. Не указывайте место в имени таблицы. Если вы хотите оставить место в имени таблицы, вы можете использовать символ подчеркивания.
  5. Имя таблицы должно содержать минимум 1 символ и максимум 128 символов.
  6. Таблица должна содержать минимум 1 столбец и максимум 1024 столбца.
Команда изменения в SQL Server:

Эта команда используется для изменения или модификации структуры таблицы.В SQL Server с помощью команды ALTER мы можем выполнять следующие операции с существующей таблицей.

  1. Увеличение / уменьшение ширины столбца.
  2. Изменить тип данных столбца.
  3. Измените NOT NULL на NULL или NULL на NOT NULL.
  4. Используется для добавления нового столбца в существующую таблицу.
  5. Используется для удаления существующего столбца.
  6. Мы можем добавить новое ограничение.
  7. Он может удалить существующее ограничение для таблицы.
  8. Отключить или повторно включить проверку ограничения таблицы.
  9. Изменение имени столбца в таблице.
Пример:

Чтобы понять использование команды ALTER в SQL Server, давайте сначала создадим следующую таблицу Student.

 СОЗДАТЬ ТАБЛИЦУ Студент
(
    Нет INT,
    Имя VARCHAR (50)
)
 
ALTER-ALTER COLUMN:

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

Синтаксис: ALTER TABLE ALTER COLUMN [NEW SIZE]

Изменить ширину столбца

Давайте посмотрим, как мы можем изменить ширину столбца с помощью Изменить команду.В нашей таблице студентов ширина имени столбца равна VARCHAR (50). Давайте изменим ширину на VARCHAR (100). Для этого нам нужно использовать команду Alter, как показано ниже.

ALTER TABLE Student ALTER COLUMN Name VARCHAR (100)

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

Изменение типа данных существующего столбца.

Если вы хотите изменить тип данных существующего столбца, вы можете использовать команду ALTER. Например, в настоящее время тип данных столбца Name — VARCHAR, и мы требуем изменить тип данных с VARCHAR на NVARCHAR. Для этого вам нужно использовать команду ALTER, как показано ниже.

ALTER TABLE Student ALTER COLUMN Name NVARCHAR (100)

Изменение столбца NULL на NOT NULL.

Если вы хотите изменить столбец NULL на NOT NULL, вы можете использовать команду ALTER.Когда вы создаете столбец без ограничения NULL или NOT NULL, по умолчанию он равен NULL. Это означает, что этот столбец может принимать значения NULL. Предположим, вы хотите изменить значение столбца No с NULL на NOT NULL, тогда вам нужно использовать команду ALTER, как показано ниже.

ALTER TABLE Student ALTER COLUMN Нет INT NOT NULL

Изменение NOT NULL на NULL.

Если вы хотите изменить столбец NOT NULL на NULL, вы также можете использовать команду ALTER. Например, если вы хотите изменить значение столбца No с NOT NULL на NULL, вы можете использовать команду ALTER, как показано ниже.

ALTER TABLE Student ALTER COLUMN Нет INT NULL

Добавление нового столбца в существующую таблицу в SQL Server:

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

ALTER TABLE ADD [NEW SIZE]

Предположим, вы хотите добавить столбец Branch в существующую таблицу Student.Затем вам нужно использовать команду ALter, как показано ниже.

ALTER TABLE Student ADD Branch VARCHAR (20)

Удаление столбца в SQL Server:

Если вы хотите удалить существующий столбец из таблицы в SQL Server, вам необходимо использовать команду ALTER. Синтаксис использования команды ALTER для удаления или удаления столбца приведен ниже.

ALTER TABLE DROP COLUMN

Например, если вы хотите удалить или отбросить столбец Brach из таблицы Student, вам необходимо использовать команду ALTER , как показано ниже.

ALTER TABLE Student DROP COLUMN Branch

SP_RENAME Команда в SQL Server:

SP означает хранимую процедуру, а здесь SP_RENAME — это определенная системой хранимая процедура. Эта хранимая процедура используется для изменения имени столбца. Синтаксис для использования этой процедуры приведен ниже /

SP_RENAME ‘<ИМЯ ТАБЛИЦЫ>. <СТАРЫЕ ИМЯ КОЛОНКИ>‘, ‘НОВОЕ ИМЯ КОЛОНКИ’

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

SP_RENAME «Student.Name», «StudentName »

Эту хранимую процедуру SP_RENAME можно также использовать для изменения имени таблицы со старого имени таблицы на новое имя. Синтаксис для изменения имени таблицы с помощью хранимой процедуры SP_RENAME приведен ниже.

SP_RENAME ‘OLD TABLE NAME’, ‘NEW TABLE NAME’

Например, если вы хотите изменить имя таблицы с Student на StudentDetails, тогда вам необходимо использовать хранимую процедуру SP_RENAME, как показано ниже:

SP_RENAME ‘Student’, ‘StudentDetails’

Команда усечения в SQL Server:

Всякий раз, когда вы хотите удалить все записи или строки из таблицы без каких-либо условий, вам необходимо использовать команду Truncate в SQL Server.Таким образом, с помощью этой команды вы не можете удалить определенные записи из таблицы, потому что команда truncate не поддерживает предложение « where ». Синтаксис использования команды TRUNCATE приведен ниже.

TRUNCATE TABLE

Предположим, вы хотите удалить все записи из таблицы Student, тогда вам нужно использовать команду TRUNCATE, как показано ниже, в SQL Server.

ОБРЕЗАТЬ ТАБЛИЦУ Студент

Примечание: Команда усечения удалит строки, но не структуру таблицы.

Команда удаления в SQL Server:

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

DROP TABLE

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

ОТКАЗАТЬ ТАБЛИЦУ Студент

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

В чем разница между командами удаления и усечения в SQL Server?
Удалить Усечь
Это команда DML. Это команда DDL
С помощью команды удаления мы можем удалить определенную запись из таблицы. Но это невозможно с командой усечения.
Delete поддерживает предложение WHERE. Truncate не поддерживает предложение WHERE
Это временное удаление Это постоянное удаление
Delete поддерживает транзакции отката для восстановления удаленных данных. Truncate не поддерживает транзакцию отката, поэтому мы не можем восстановить удаленную информацию.
Команда удаления не сбрасывает свойство идентификации. Но он сбросит свойство идентификации.

В следующей статье я собираюсь обсудить типы данных в SQL Server с примерами.

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

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

2024 © Все права защищены. Карта сайта