Mysql добавить столбец в таблицу: MySQL | Изменение таблиц и столбцов
Содержание
MySQL: добавить столбец в таблицу, как переименовать и изменить поле
Иногда бывает, что вы создали таблицу в MySQL, но после недолгой работы обнаружили, что вам нужно внести изменения в таблицу, например:
Эффективный способ осуществить все эти действия — использовать оператор «ALTER TABLE». С помощью этого оператора можно:
добавить столбец;
удалить столбец;
модифицировать столбец;
переименовать таблицу;
изменить кодировку таблицы;
добавить, убрать или изменить ограничения в таблице;
и др.
В сегодняшней статье мы остановимся на наиболее популярных способах использования команды «ALTER TABLE».
Команда «ALTER TABLE»
Общий синтаксис команды «ALTER TABLE» выглядит так:
ALTER TABLE Наименование_таблицы
{ ADD наименование_нового_столбца указать_тип_информации_столбца [атрибуты_столбца] |
DROP COLUMN наименование_столбца |
MODIFY COLUMN наименование_столбца указать_тип_информации_столбца [атрибуты столбца] |
ALTER COLUMN наименование_столбца SET DEFAULT назначаем_значение_по_умолчанию |
ADD [CONSTANT] определяем_ограничения_таблицы |
DROP [CONSTANT] задаем_название_ограничениям }
Возможностей у команды «ALTER TABLE» намного больше, но не все они используются на практике, поэтому остановимся на тех, которые могут часто встретиться.
MySQL: как добавить столбец в таблицу
Представим, что у вас есть таблица MySQL с какой-то информацией под названием «MyTable», куда нужно добавить столбец «NewColumn». Код будет таким:
ALTER TABLE MyTable
ADD NewColumn VARCHAR(60) NULL;
В коде мы создали новый столбец «MyTable» с типом данных «VARCHAR» и атрибутом «NULL».
Добавить столбец в таблицу MySQL — не проблема. Однако это может стать проблемой, когда таблица далеко не новая и заполнена большим объемом информации, особенно когда таблица содержит очень много строк. Поэтому добавление столбцов нужно использовать с осторожностью, чтобы не навредить. Если таблица новая, тогда проблем возникнуть не должно.
MySQL: как удалить столбец
Чуть выше мы добавили новый столбец в таблицу MySQL, теперь давайте его удалим. Таким же способом можно удалить любой столбец таблицы. Для этого будем использовать следующий код:
ALTER TABLE MyTable
DROP COLUMN NewColumn
MySQL: как изменить значение столбца по умолчанию
Представим, что в добавленном столбце нужно изменить значение по умолчанию, в нашем случае это будет число «35». Для этого будем использовать такой код:
ALTER TABLE MyTable
ALTER COLUMN NewColumn SET DEFAULT 35;
MySQL: как изменить тип столбца
Иногда нужно поменять тип информации, сохраняемой в столбце. В нашем случае мы при добавлении столбца указали тип данных «VARCHAR». Теперь давайте сменим его на «CHAR(90)», но оставим тот же атрибут «NULL». Код будет таким:
ALTER TABLE MyTable
MODIFY COLUMN NewColumn CHAR(90) NULL;
MySQL: как переименовать столбец таблицы
Допустим, мы хотим название нашего столбца «NewColumn» поменять на другое название — «OldColumn». В этом случае нам поможет вот такой код:
ALTER TABLE MyTable
RENAME COLUMN NewColumn TO OldColum
С переименованием столбцов таблицы нужно быть осторожными, потому что, если с этим столбцом была настроена какая-то зависимость, тогда она будет нарушена, а потому повлечет дальнейшие проблемы в работе с базой данных. Поэтому для переименования столбцов таблицы лучше всего использовать инструмент рефакторинга, который управляет зависимостями и обновит их при переименовании столбца этим инструментом.
MySQL: как переименовать таблицу
Метод «ALTER TABLE» хорош тем, что он работает не только «внутри» таблицы, но и с самой таблицей. Например, с его помощью можно переименовать таблицу MySQL. В нашем случае название «MyTable» мы поменяем на «GoodTable». Вот как это делается в коде:
ALTER TABLE MyTable RENAME TO GoodTable
Заключение
Сегодня мы разобрали, как довольно просто можно:
добавить столбец в таблицу MySQL;
переименовать таблицу MySQL;
удалить столбец из таблицы MySQL;
и др.
В других СУБД команда «ALTER TABLE» может не работать или работать некорректно, поэтому лучше перед ее применением изучить официальную документацию вашей СУБД.
ALTER TABLE оператор MySQL — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite
В этом учебном пособии вы узнаете, как использовать MySQL оператор ALTER TABLE для добавления столбца, изменения столбца, удаления столбца, переименования столбца или переименования таблицы (с синтаксисом и примерами).
Описание
MySQL оператор ALTER TABLE используется для добавления, изменения или удаления столбцов в таблице. Оператор MySQL ALTER TABLE также используется для переименования таблицы.
Добавить столбец в таблицу
Синтаксис
Синтаксис добавления столбца в таблицу MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ];
table_name — имя таблицы для изменения.
new_column_name — имя нового столбца для добавления в таблицу.
column_definition — тип данных и определение столбца (NULL или NOT NULL и т. д.).
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице создается столбец. Если этот параметр не указан, то новый столбец будет добавлен в конец таблицы.
Пример
Рассмотрим пример, который показывает, как добавить столбец в таблицу MySQL, используя оператор ALTER TABLE.
Например:
ALTER TABLE contacts
ADD last_name varchar(40) NOT NULL
AFTER contact_id;
| ALTER TABLE contacts ADD last_name varchar(40) NOT NULL AFTER contact_id; |
Этот MySQL пример ALTER TABLE добавит столбец с именем last_name в таблицу contacts. Он будет создан как столбец NOT NULL и появится в таблице после поля contact_id.
Добавить несколько столбцов в таблицу
Синтаксис
Синтаксис добавления нескольких столбцов в таблицу MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
. ..
;
table_name — имя таблицы для изменения.
new_column_name — имя нового столбца для добавления в таблицу.
column_definition — тип данных и определение столбца (NULL или NOT NULL и т. д.).
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице создается столбец. Если этот параметр не указан, новый столбец будет добавлен в конец таблицы.
Пример
Рассмотрим пример, который показывает, как добавить несколько столбцов в таблицу MySQL, используя оператор ALTER TABLE.
Например:
ALTER TABLE contacts
ADD last_name varchar(40) NOT NULL
AFTER contact_id,
ADD first_name varchar(35) NULL
AFTER last_name;
| ALTER TABLE contacts ADD last_name varchar(40) NOT NULL AFTER contact_id, ADD first_name varchar(35) NULL AFTER last_name; |
Этот пример ALTER TABLE добавит в таблицу contacts два столбца — last_name и first_name.
Поле last_name будет создано как столбец varchar (40) NOT NULL и появится в таблице contacts после столбца contact_id. Столбец first_name будет создан как столбец NULL varchar (35) и появится в таблице после столбца last_name.
Изменить столбец в таблице
Синтаксис
Синтаксис для изменения столбца в таблице MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name ];
table_name — имя таблицы для изменения.
column_name — имя столбца для изменения в таблице.
column_definition — измененный тип данных и определение столбца (NULL или NOT NULL и т. д.).
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице помещается столбец, если вы хотите изменить его позицию.
Пример
Рассмотрим пример, который показывает, как изменить столбец в таблице MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE contacts
MODIFY last_name varchar(50) NULL;
| ALTER TABLE contacts MODIFY last_name varchar(50) NULL; |
Этот пример ALTER TABLE изменит столбец с именем last_name как тип данных varchar (50) и установит для столбца значения NULL.
Изменить несколько столбцов в таблице
Синтаксис
Синтаксис для изменения нескольких столбцов в таблице MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name ],
MODIFY column_name column_definition
[ FIRST | AFTER column_name ],
…
;
table_name — имя таблицы для изменения.
column_name — имя столбца для изменения в таблице.
column_definition — измененный тип данных и определение столбца (NULL или NOT NULL и т. д.).
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице помещается столбец, если вы хотите изменить его позицию.
Пример
Рассмотрим пример, который показывает, как изменить несколько столбцов в таблице MySQL, используя оператор ALTER TABLE.
ALTER TABLE contacts
MODIFY last_name varchar(55) NULL
AFTER contact_type,
MODIFY first_name varchar(30) NOT NULL;
| ALTER TABLE contacts MODIFY last_name varchar(55) NULL AFTER contact_type, MODIFY first_name varchar(30) NOT NULL; |
Этот пример ALTER TABLE будет изменять в таблице contacts два столбца — last_name и first_name.
Поле last_name будет изменено на столбец NULL varchar (55) и появится в таблице после столбца contact_type. Столбец first_name будет изменен на столбец varchar (30) NOT NULL (и не изменит позицию в определении таблицы contacts, так как не указано FIRST | AFTER).
Удаление столбца из таблицы
Синтаксис
Синтаксис для удаления столбца из таблицы в MySQL (с использованием оператора ALTER TABLE):
Например:
ALTER TABLE table_name
DROP COLUMN column_name;
table_name — имя таблицы для изменения.
column_name — имя столбца для удаления из таблицы.
Пример
Рассмотрим пример, который показывает, как удалить столбец из таблицы в MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE contacts
DROP COLUMN contact_type;
| ALTER TABLE contacts DROP COLUMN contact_type; |
Этот пример ALTER TABLE удаляет столбец с именем contact_type из таблицы contacts.
Переименование столбца в таблице
Синтаксис
Синтаксис для переименования столбца в таблице MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE table_name
CHANGE COLUMN old_name new_name
column_definition
[ FIRST | AFTER column_name ];
table_name — имя таблицы для изменения.
old_name — столбец для переименования.
new_name — новое имя столбца.
column_definition — тип данных и определение столбца (NULL или NOT NULL и т. д.). Вы должны указать определение столбца при переименовании столбца, даже если оно не изменится.
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице помещается столбец, если вы хотите изменить его позицию.
Пример
Рассмотрим пример, который показывает, как переименовать столбец в таблице MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE contacts
CHANGE COLUMN contact_type ctype
varchar(20) NOT NULL;
| ALTER TABLE contacts CHANGE COLUMN contact_type ctype varchar(20) NOT NULL; |
Этот MySQL пример ALTER TABLE переименует столбец с именем contact_type в ctype. Столбец будет определен как столбец varchar (20) NOT NULL.
Переименовать таблицу
Синтаксис
Синтаксис для переименования таблицы в MySQL:
ALTER TABLE table_name
RENAME TO new_table_name;
table_name — таблица для переименования.
new_table_name — новое имя таблицы для использования.
Пример
Рассмотрим пример, который показывает, как переименовать таблицу в MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE contacts
RENAME TO people;
| ALTER TABLE contacts RENAME TO people; |
Этот пример ALTER TABLE переименует таблицу contacts в people.
Узнайте как использовать оператор ALTER TABLE в распространенных БД:
- ALTER TABLE Oracle PL/SQL
- ALTER TABLE SQL Server
- ALTER TABLE PostgreSQL
- ALTER TABLE MariaDB
- ALTER TABLE SQLite
MySQL: Оператор ALTER TABLE
В этом руководстве по MySQL объясняется, как использовать оператор MySQL ALTER TABLE для добавления столбца, изменения столбца, удаления столбца, переименования столбца или переименования таблицы (с синтаксисом и примерами).
Описание
Оператор MySQL ALTER TABLE используется для добавления, изменения или удаления/удаления столбцов в таблице. Оператор MySQL ALTER TABLE также используется для переименования таблицы.
Добавить столбец в таблицу
Синтаксис
Синтаксис для добавления столбца в таблицу в MySQL (с помощью оператора ALTER TABLE):
ALTER TABLE имя_таблицы ДОБАВИТЬ new_column_name column_definition [ПЕРВАЯ | ПОСЛЕ имя_столбца];
- имя_таблицы
- Имя изменяемой таблицы.
- новое_имя_столбца
- Имя нового столбца для добавления в таблицу.
- столбец_определение
- Тип данных и определение столбца (NULL или NOT NULL и т. д.).
- ПЕРВЫЙ | ПОСЛЕ имя_столбца
- Дополнительно. Он сообщает MySQL, где в таблице создать столбец. Если этот параметр не указан, новый столбец будет добавлен в конец таблицы.
Пример
Давайте рассмотрим пример, который показывает, как добавить столбец в таблицу MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE контакты ДОБАВИТЬ last_name varchar(40) NOT NULL ПОСЛЕ contact_id;
Этот пример MySQL ALTER TABLE добавит столбец с именем last_name в таблицу контактов . Он будет создан как столбец NOT NULL и появится после поля contact_id в таблице.
Добавить несколько столбцов в таблицу
Синтаксис
Синтаксис для добавления нескольких столбцов в таблицу в MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE имя_таблицы ДОБАВИТЬ new_column_name column_definition [ПЕРВАЯ | ПОСЛЕ имя_столбца], ДОБАВИТЬ new_column_name column_definition [ПЕРВАЯ | ПОСЛЕ имя_столбца], ... ;
- имя_таблицы
- Имя изменяемой таблицы.
- новое_имя_столбца
- Имя нового столбца для добавления в таблицу.
- столбец_определение
- Тип данных и определение столбца (NULL или NOT NULL и т. д.).
- ПЕРВЫЙ | ПОСЛЕ имя_столбца
- Дополнительно. Он сообщает MySQL, где в таблице создать столбец. Если этот параметр не указан, новый столбец будет добавлен в конец таблицы.
Пример
Давайте рассмотрим пример, который показывает, как добавить несколько столбцов в таблицу MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE контакты ДОБАВИТЬ last_name varchar(40) NOT NULL ПОСЛЕ contact_id, ДОБАВИТЬ first_name varchar(35) NULL ПОСЛЕ фамилии;
Этот пример ALTER TABLE добавит два столбца в таблицу контактов — last_name и first_name .
9Поле 0046 last_name будет создано как столбец varchar(40) NOT NULL и появится после столбца contact_id в таблице. Столбец first_name будет создан как столбец varchar(35) NULL и появится в таблице после столбца last_name .
Изменить столбец в таблице
Синтаксис
Синтаксис для изменения столбца в таблице в MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE имя_таблицы ИЗМЕНИТЬ имя_столбца определение_столбца [ПЕРВАЯ | ПОСЛЕ имя_столбца];
- имя_таблицы
- Имя изменяемой таблицы.
- имя_столбца
- Имя столбца, который нужно изменить в таблице.
- столбец_определение
- Измененный тип данных и определение столбца (NULL или NOT NULL и т. д.).
- ПЕРВЫЙ | ПОСЛЕ имя_столбца
- Дополнительно. Он сообщает MySQL, где в таблице расположить столбец, если вы хотите изменить его позицию.
Пример
Давайте рассмотрим пример, показывающий, как изменить столбец в таблице MySQL с помощью инструкции ALTER TABLE.
Например:
ALTER TABLE контакты ИЗМЕНИТЬ last_name varchar(50) NULL;
Этот пример ALTER TABLE изменит столбец с именем last_name , чтобы он был типом данных varchar(50), и заставит столбец допускать значения NULL.
Изменение нескольких столбцов в таблице
Синтаксис
Синтаксис для изменения нескольких столбцов в таблице в MySQL (с использованием оператора ALTER TABLE):
ИЗМЕНИТЬ ТАБЛИЦУ имя_таблицы ИЗМЕНИТЬ имя_столбца определение_столбца [ПЕРВАЯ | ПОСЛЕ имя_столбца], ИЗМЕНИТЬ имя_столбца определение_столбца [ПЕРВАЯ | ПОСЛЕ имя_столбца], . .. ;
- имя_таблицы
- Имя изменяемой таблицы.
- имя_столбца
- Имя столбца, который нужно изменить в таблице.
- столбец_определение
- Измененный тип данных и определение столбца (NULL или NOT NULL и т. д.).
- ПЕРВЫЙ | ПОСЛЕ имя_столбца
- Дополнительно. Он сообщает MySQL, где в таблице расположить столбец, если вы хотите изменить его позицию.
Пример
Давайте рассмотрим пример, который показывает, как изменить несколько столбцов в таблице MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE контакты ИЗМЕНИТЬ last_name varchar(55) NULL ПОСЛЕ contact_type, ИЗМЕНИТЬ first_name varchar(30) NOT NULL;
Этот пример ALTER TABLE изменит два столбца на контакты таблица — фамилия и имя_имя .
Поле last_name будет изменено на столбец varchar(55) NULL и появится после столбца contact_type в таблице. Столбец first_name будет изменен на столбец varchar(30) NOT NULL (и не изменит положение в определении таблицы контактов , поскольку не указан FIRST | AFTER ).
Удалить столбец в таблице
Синтаксис
Синтаксис для удаления столбца в таблице в MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE имя_таблицы УДАЛИТЬ КОЛОННУ имя_столбца;
- имя_таблицы
- Имя изменяемой таблицы.
- имя_столбца
- Имя столбца, который нужно удалить из таблицы.
Пример
Давайте рассмотрим пример, который показывает, как удалить столбец в таблице MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE контакты УДАЛИТЬ КОЛОННУ контакт_тип;
Этот пример ALTER TABLE удалит столбец с именем contact_type из таблицы с именем contact .
Переименовать столбец в таблице
Синтаксис
Синтаксис для переименования столбца в таблице в MySQL (с использованием оператора ALTER TABLE):
ALTER TABLE имя_таблицы ИЗМЕНИТЬ КОЛОНКУ старое_имя новое_имя column_definition [ПЕРВАЯ | ПОСЛЕ имя_столбца]
- имя_таблицы
- Имя изменяемой таблицы.
- старое_имя
- Столбец для переименования.
- новое_имя
- Новое имя столбца.
- столбец_определение
- Тип данных и определение столбца (NULL или NOT NULL и т. д.). Вы должны указать определение столбца при переименовании столбца, даже если оно не изменится.
- ПЕРВЫЙ | ПОСЛЕ имя_столбца
- Дополнительно. Он сообщает MySQL, где в таблице расположить столбец, если вы хотите изменить его позицию.
Пример
Давайте рассмотрим пример, который показывает, как переименовать столбец в таблице MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE контакты ИЗМЕНИТЬ СТОЛБЦУ contact_type ctype varchar(20) НЕ НУЛЕВОЕ;
Этот пример MySQL ALTER TABLE переименует столбец с именем contact_type в ctype . Столбец будет определен как столбец varchar(20) NOT NULL.
Таблица переименования
Синтаксис
Синтаксис для переименования таблицы в MySQL:
ALTER TABLE имя_таблицы ПЕРЕИМЕНОВАТЬ В new_table_name;
- имя_таблицы
- Таблица для переименования.
- новое_имя_таблицы
- Новое имя таблицы для использования.
Пример
Давайте рассмотрим пример, который показывает, как переименовать таблицу в MySQL с помощью оператора ALTER TABLE.
Например:
ALTER TABLE контакты ПЕРЕИМЕНОВАТЬ НА людей;
Этот пример ALTER TABLE переименует контактов стол для человек .
Как добавить столбец в таблицу MySQL в Python?
Необходимое условие: Python: MySQL Create Table
Python позволяет интегрировать широкий спектр серверов баз данных с приложениями. Для доступа к базе данных из Python требуется интерфейс базы данных. MySQL Connector — модуль Python — это API на языке python для связи с базой данных MySQL.
Оператор ALTER SQL
С помощью оператора ALTER можно добавлять, удалять или изменять столбец существующей таблицы, а также изменять ограничения таблицы.
Синтаксис для добавления столбца с оператором ALTER:
ALTER TABLE имя_таблицы ДОБАВИТЬ new_column_name column_definition [ПЕРВЫЙ | ПОСЛЕ имя_столбца];
Здесь table_name — это имя таблицы, в которую добавляется столбец, new_column_name — имя добавляемого столбца, а column_definition — тип данных и определение добавляемого столбца. FIRST и AFTER — необязательные операторы, сообщающие MySQL позицию нового столбца в таблице. Если этот параметр не указан, то новый столбец добавляется в конец таблицы.
Реализация:
Чтобы добавить столбец в таблицу MySQL в Python, сначала установите соединение с сервером базы данных. Затем создайте объект курсора. Этот объект-курсор взаимодействует с сервером MySQL и может использоваться для выполнения таких операций, как выполнение операторов SQL, выборка данных и вызов процедур. Итак, используя этот объект-курсор, выполните оператор ALTER, чтобы добавить столбец либо в конец, либо в определенную позицию. Давайте посмотрим на несколько примеров для лучшего понимания.
Используемая база данных:
Мы будем использовать базу данных с таблицей студентов, описывающей сведения о студентах, такие как номер списка и имя. Прежде чем мы научимся добавлять столбец в таблицу, создайте такую таблицу-образец (вставка значений необязательна).
Пример 1:
В этом примере показано добавление столбца в конце таблицы. Шаги следующие:
- Используйте функцию connect() для установления соединения с сервером базы данных. Передайте хост, пользователя (root или ваше имя пользователя), пароль (если есть) и параметры базы данных методу connect().
- Затем, чтобы создать объект курсора, используйте функцию cursor().
- Выполните инструкцию ALTER для добавления столбца потоковой передачи в таблицу студентов.
- Чтобы проверить, был ли добавлен столбец, выполните и получите результат оператора DESC для описания структуры таблицы.
Код:
Python
|
Выход:
9000. Пример 2: Пример 2: . . Выполните те же шаги, что и в приведенном выше примере, для установления соединения и создания объекта курсора. Используйте ключевое слово FIRST в операторе ALTER, чтобы добавить столбец «год зачисления» в начало таблицы студентов.
Code:
Python
|
Выход:
. Пример 3:
. Выполните те же шаги, что и в примере 1, для установления соединения и создания объекта-курсора. Используйте ключевое слово AFTER в операторе ALTER, чтобы добавить столбец электронной почты после столбца имени в таблице студентов.
Питон
9 9 ) \ ) \ |