• Изменить столбец таблицы вы можете с помощью следующих команд: – Чтобы полностью изменить описание столбца, выполните команду
Внимание!
Изменять тип столбца, который уже содержит какие-либо значения, необходимо с осторожностью, так как при этом возможно внесение коррективов в значения. Например, если тип данных с плавающей точкой меняется на целочисленный, числовые значения будут округлены.
В этой команде мы указываем имя таблицы, текущее имя столбца, новое имя столбца (которое может совпадать с текущим), новый тип столбца (который также может совпадать с текущим типом), а также, при необходимости, свойства столбца (старые свойства при выполнении команды CHANGE удаляются). Кроме того, можно определить место столбца среди остальных столбцов таблицы: изменяемый столбец может стать первым (FIRST) или следовать после указанного предшествующего столбца (AFTER).
Например, чтобы переименовать столбец store (склад) таблицы Products (Товары) в warehouse (склад) и изменить его тип на CHAR(100), выполните команду
Чтобы присвоить столбцу свойство AUTO_INCREMENT, необходимо либо одновременно с этим, либо заранее создать индекс для этого столбца. – Чтобы изменить описание столбца без переименования, выполните команду
Данная команда полностью аналогична предыдущей, за исключением возможности переименования столбца. – Чтобы установить значение по умолчанию для столбца, выполните команду
Например, чтобы установить для столбца warehouse таблицы Products значение по умолчанию Склад № 1, выполните команду
Чтобы удалить значение по умолчанию, выполните команду
Например, удалить значение по умолчанию, установленное для столбца warehouse, можно с помощью команды
• Удалить столбец таблицы вы можете с помощью команды
При удалении столбца он удаляется также из всех индексов, в которые он был включен (в отличие от первичного и внешнего ключа, которые требуется удалить прежде, чем удалять входящие в них столбцы). Если при этом в индексе не остается столбцов, то индекс также автоматически удаляется. Например, для удаления столбца warehouse (склад) из таблицы Products (Товары) выполните команду
• Удалить первичный ключ вы можете с помощью команды
Например, удалить первичный ключ из таблицы Orders (Заказы) можно с помощью команды
• Удалить внешний ключ вы можете с помощью команды
В этой команде необходимо указать имя внешнего ключа. Если вы не задали имя внешнего ключа при его создании, то имя было присвоено автоматически и узнать его можно с помощью команды SHOW CREATE TABLE (см. подраздел «Другие команды для работы с таблицами»). Например, удалить внешний ключ из таблицы Orders можно с помощью команды
(здесь orders_ibfk_1 – имя внешнего ключа, автоматически присвоенное ему при создании). • Удалить индекс (обычный, уникальный или полнотекстовый) вы можете с помощью команды
В этой команде необходимо указать имя индекса. Если вы не задали имя индекса при его создании, то имя было присвоено автоматически и узнать его можно с помощью команды SHOW CREATE TABLE (см. подраздел «Другие команды для работы с таблицами»). Например, удалить индекс, созданный для поля name (имя) таблицы Customers (Клиенты), можно с помощью команды
(здесь name – имя индекса: по умолчанию индексу присваивается имя первого индексируемого столбца). • Включить и отключить обновление неуникальных индексов в таблице с типом MyISAM вы можете с помощью следующих команд:
Эта команда временно отключает обновление неуникальных индексов, что позволяет увеличить быстродействие операций добавления строк в таблицу.
Эта команда позволяет восстановить индексы после добавления строк. • Переименовать таблицу вы можете с помощью команды
• Упорядочить строки таблицы по значениям одного или нескольких столбцов вы можете с помощью команды
Упорядочение строк позволяет ускорить последующие операции сортировки по значениям указанных столбцов. Однако порядок строк в таблице может нарушиться после операций добавления и удаления строк. По умолчанию строки таблицы упорядочиваются по возрастанию значений. Вы можете выбрать направление сортировки, указав ключевое слово ASC (по возрастанию) или DESC (по убыванию).
Для таблиц с типом InnoDB, в которых есть первичный ключ или уникальный индекс, не допускающий неопределенных значений (NOT NULL UNIQUE), эта команда игнорируется, поскольку строки таких таблиц автоматически упорядочиваются по значениям этого ключа/индекса.
• Задать опциональные свойства таблицы (см. пункт «Опциональные свойства таблицы») вы можете с помощью командыНапример, изменить тип таблицы можно с помощью команды
• Изменить кодировку и правило сравнения символьных значений, используемых по умолчанию для новых символьных столбцов таблицы, можно, как любое другое опциональное свойство таблицы, с помощью команды
Например, если для таблицы Products (Товары) требуется установить в качестве кодировки по умолчанию кодировку CP-1251, это можно сделать с помощью команды
После выполнения этой команды существующие столбцы таблицы Products по-прежнему будут иметь кодировку UTF-8. Если же с помощью команды ALTER TABLE будут добавляться новые символьные столбцы, то им будет по умолчанию присваиваться кодировка CP-1251. Если вы хотите не только изменить кодировку, используемую по умолчанию для новых столбцов, но и преобразовать в новую кодировку существующие символьные столбцы таблицы, то нужно использовать команду
При выполнении этой команды не просто меняются описания символьных столбцов: данные в этих столбцах также преобразуются в новую кодировку. Например, после выполнения команды
все наименования и описания товаров (значения столбцов description и details) преобразуются в кодировку CP-1251. Если же данные в столбце фактически закодированы с помощью одной