Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/325f61b386b46888110c1cb35f31dd5a to your computer and use it in GitHub Desktop.
Save anonymous/325f61b386b46888110c1cb35f31dd5a to your computer and use it in GitHub Desktop.
Добавить колонку в таблицу sql

Добавить колонку в таблицу sql



Команда ALTER TABLE используется для добавления , удаления или модификации колонки в уже существующей таблице. Таблица должна быть в схеме пользователя, или пользователь должен иметь системную привилегию ALTER ANY TABLE. Добавляя столбец с ограничением NOT NULL , разработчик или администратор БД должны учесть ряд обстоятельств. Сначала нужно создать столбец без ограничения, а затем ввести значения во все его строки. После того как все значения столбца станут не NULL -значениями, к нему можно применить ограничение NOT NULL. Если столбец с ограничением NOT NULL пытается добавить пользователь, возвращается сообщение об ошибке, говорящее о том, что либо таблица должна быть пустой, либо в столбце должны содержаться значения для каждой существующей строки напомним, что после наложения на столбец ограничения NOT NULL в нем не могут присутствовать NULL -значения ни в одной из существующих строк. В СУБД Oracle , начиная с версии 8i, можно удалять столбцы. Изменяя типы данных существующих столбцов или добавляя столбцы в таблицу базы данных, нужно соблюдать ряд условий. Общепринято, что увеличение — это хорошо, а уменьшение, как правило, — не очень. Уменьшение различных характеристик таблицы, в том числе некоторых типов данных столбцов и реального числа столбцов таблицы, требует особых действий. Часто перед внесением изменения нужно убедиться в том, что в соответствующем столбце или столбцах все значения являются NULL -значениями. Для выполнения подобных операций над столбцами таблицы, содержащими данные, разработчик должен найти или создать какую-то область для временного хранения этих данных. Например, создать таблицу с помощью команды CREATE TABLE AS SELECT , в которой извлекаются данные из первичного ключа и изменяемого столбца или столбцов. С помощью команды ALTER TABLE можно изменить имя таблицы без реального переноса физической информации в БД:. Ограничения целостности столбцов и таблиц БД можно изменять, а также запрещать, разрешать и удалять. Это дает разработчику возможность создавать, модифицировать и удалять бизнес-правила, ограничивающие данные. Рассмотрим добавление ограничений в БД. Простота или сложность этого процесса зависит от определенных обстоятельств. Если вместе с БД создать ограничение нельзя, проще всего добавить его перед вводом данных:. В первой из приведенных выше команд для добавления ограничения NOT NULL для столбца используется конструкция MODIFY, а для добавления всех табличных ограничений целостности других типов — конструкция ADD. Столбец, для которого добавляется ограничение, должен уже существовать в таблице БД; в противном случае создать ограничение не удастся. В этом случае команда будет выглядеть следующим образом:. Ограничения можно разрешать и запрещать. Разрешенное ограничение выполняет свои функции, реализуя бизнес-правила по отношению к вводимым в таблицу данным, а запрещенное ограничение переводится в разряд недействующих, как если бы оно было удалено, и его правила не реализуются. В некоторых случаях запрещение первичного ключа, от которого зависят внешние ключи, может вызвать определенные сложности, например:. Error at line 1: Cannot disable constraint …. ALTER TABLE t2 DISABLE PRIMARY KEY CASCADE;. Разрешить можно только те ограничения, которые были установлены ранее, а в данный момент запрещены. Ограничение, процесс создания которого завершился неудачей, не будет существовать в запрещенном виде, ожидая своего разрешения после устранения ошибки. Как правило, владелец таблицы или тот, кому предоставлены соответствующие права, может удалить ограничение:. Вы должны войти , чтобы оставить комментарий. Язык запросов SQL Структурированный язык манипулирования данными SQL. Команда ALTER TABLE Команда ALTER TABLE изменяет определение таблицы одним из следующих способов: Увеличение размера столбца CHAR или VARCHAR2 Увеличение размера столбца NUMBER Добавление новых столбцов в таблицу Уменьшение различных характеристик таблицы, в том числе некоторых типов данных столбцов и реального числа столбцов таблицы, требует особых действий. Уменьшение размера столбца NUMBER только при пустом столбце для всех строк Уменьшение размера столбца CHAR или VARCHAR2 только при пустом столбце для всех строк Изменение типа данных столбца только при пустом столбце для всех строк ALTER TABLE Пример 1 Добавление столбца в таблицу: ALTER TABLE t1 pole1 char 10 ; ALTER TABLE Пример 2 Изменение размера столбца таблицы: ALTER TABLE t1 MODIFY pole1 char 20 ; ALTER TABLE Пример 3 Удаление столбца таблицы: ALTER TABLE t1 DROP COLUMN pole1; С помощью команды ALTER TABLE можно изменить имя таблицы без реального переноса физической информации в БД: ALTER TABLE t1 RENAME TO t2; Аналогичную операцию можно выполнить с помощью команды RENAME: RENAME t1 TO t2; Ограничения целостности столбцов и таблиц БД можно изменять, а также запрещать, разрешать и удалять. Если вместе с БД создать ограничение нельзя, проще всего добавить его перед вводом данных: В этом случае команда будет выглядеть следующим образом: NULL-значения в столбцах запрещены. ALTER TABLE Пример 6 Запрещение ограничений: ALTER TABLE t2 DISABLE PRIMARY KEY; Error at line 1: ALTER TABLE t2 DISABLE PRIMARY KEY CASCADE; ALTER TABLE Пример 8 Запрещенное ограничение разрешается следующим образом: Как правило, владелец таблицы или тот, кому предоставлены соответствующие права, может удалить ограничение: Нажмите, чтобы отменить ответ. Базы данных Языки программирования Программирование в интернет Базы данных, SQL, ODBC Управление сайтом Интернет и локальные сети Учебная литература на ENG Internet.


ALTER TABLE ОПЕРАТОР


Обязательным параметром является указание типа данных. Про возможные типы данных подробно написано в Создание и удаление таблицы. Если необходимо, чтобы столбец встал в начало таблицы, нужно после параметров вставляемого столбца написать ключевое слово FIRST:. Если необходимо, чтобы столбец был вставлен не в начале таблицы, и не в конце, а после определенного столбца, то нужно применить ключевое слово AFTER имя столбца, после которого будет установлен новый столбец:. Материал из Справочник Web-языков. Главная MySQL Синтаксис SQL Вставка столбцов ALTER TABLE ADD. Добавить страницу в закладки: Просмотры Статья Обсуждение Просмотр История. Навигация Заглавная страница Сообщество Текущие события Свежие правки Случайная статья Справка. Инструменты Ссылки сюда Связанные правки Спецстраницы Версия для печати Постоянная ссылка.


https://gist.github.com/d3edd91cbb5a16a9f6eed3831314d34b
https://gist.github.com/02ecd6cf3cf754440e26c98abce04194
https://gist.github.com/2f14a73d877061aa3c60c4d55726f9bb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment