ALTER TABLE Orders ADD PRIMARY KEY (id);
• Добавить внешний ключ вы можете с помощью команды
ALTER TABLE <���Имя таблицы>
ADD [CONSTRAINT <���Имя внешнего ключа>]
FOREIGN KEY [<���Имя индекса>] (<���Список столбцов>)
REFERENCES <���Имя родительской таблицы>
(<���Список столбцов первичного ключа родительской таблицы>)
[<���Правила поддержания целостности связи>];
При добавлении в таблицу внешнего ключа мы указываем имя таблицы, в которую нужно добавить ключ, имена столбцов, которые будут образовывать внешний ключ (эти столбцы должны уже существовать в таблице), а также имя родительской таблицы (на которую будет ссылаться данная таблица) и имена столбцов, образующих первичный ключ в родительской таблице. В случае необходимости можно также задать имя создаваемого внешнего ключа, имя индекса, автоматически добавляемого для столбцов внешнего ключа, и правила поддержания целостности связи при удалении и изменении строк родительской таблицы. Например, если бы внешний ключ не был определен при создании таблицы Orders (Заказы), мы могли бы добавить его с помощью команды
ALTER TABLE Orders
ADD FOREIGN KEY (customer_id) REFERENCES Customers (id)
ON DELETE RESTRICT ON UPDATE CASCADE);
Более подробно о внешних ключах говорилось в пункте «Ключевые столбцы и индексы». • Добавить в таблицу обычный индекс вы можете с помощью команды
ALTER TABLE <���Имя таблицы> ADD INDEX [<���Имя индекса>] (<���Список столбцов>);
Добавить уникальный индекс – с помощью команды
ALTER TABLE <���Имя таблицы>
ADD [CONSTRAINT <���Имя ограничения>]
UNIQUE (<���Список столбцов>);
Добавить полнотекстовый индекс – с помощью команды ALTER TABLE <���Имя таблицы>
ALTER TABLE <���Имя таблицы> ADD FULLTEXT [<���Имя индекса>] (<���Список столбцов>);
При добавлении в таблицу индекса мы указываем имя таблицы, в которую нужно добавить индекс, и имена столбцов, включенных в индекс. В случае необходимости можно также задать имя индекса. Более подробно об индексах было сказано в пункте «Ключевые столбцы и индексы». Например, добавить индекс для столбца store (склад) таблицы Products (Товары) можно с помощью команды
ALTER TABLE Products ADD INDEX (store);
• Изменить столбец таблицы вы можете с помощью следующих команд: – Чтобы полностью изменить описание столбца, выполните команду
ALTER TABLE <���Имя таблицы>
CHANGE <���Прежнее имя столбца >
<���Новое имя столбца>
<���Новый тип столбца> [<���Свойства столбца>]
[FIRST или AFTER <���Имя предшествующего столбца>];
...
Внимание!
Изменять тип столбца, который уже содержит какие-либо значения, необходимо с осторожностью, так как при этом возможно внесение коррективов в значения. Например, если тип данных с плавающей точкой меняется на целочисленный, числовые значения будут округлены.
В этой команде мы указываем имя таблицы, текущее имя столбца, новое имя столбца (которое может совпадать с текущим), новый тип столбца (который также может совпадать с текущим типом), а также, при необходимости, свойства столбца (старые свойства при выполнении команды CHANGE удаляются). Кроме того, можно определить место столбца среди остальных столбцов таблицы: изменяемый столбец может стать первым (FIRST) или следовать после указанного предшествующего столбца (AFTER).
Например, чтобы переименовать столбец store (склад) таблицы Products (Товары) в warehouse (склад) и изменить его тип на CHAR(100), выполните команду
ALTER TABLE Products CHANGE store warehouse CHAR(100);
Чтобы присвоить столбцу свойство AUTO_INCREMENT, необходимо либо одновременно с этим, либо заранее создать индекс для этого столбца. – Чтобы изменить описание столбца без переименования, выполните команду
ALTER TABLE <���Имя таблицы>
MODIFY <���Имя столбца>
<���Новый тип столбца> [<���Свойства столбца>]
[FIRST или AFTER <���Имя предшествующего столбца>];
Данная команда полностью аналогична предыдущей, за исключением возможности переименования столбца. – Чтобы установить значение по умолчанию для столбца, выполните команду
ALTER TABLE <���Имя таблицы>
ALTER <���Имя столбца>
SET DEFAULT <���Значение по умолчанию>;
Например, чтобы установить для столбца warehouse таблицы Products значение по умолчанию Склад № 1, выполните команду
ALTER TABLE Products ALTER warehouse SET DEFAULT \'Склад № 1\
Чтобы удалить значение по умолчанию, выполните команду
Читать дальше
Конец ознакомительного отрывка
Купить книгу