C, PHP, VB, .NET

Дневникът на Филип Петров


* Промяна на съществуващи таблици

Публикувано на 15 февруари 2009 в раздел Бази от Данни.

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

Нека разгледаме предишния пример. Искаме да добавим полета за среден успех в таблицата „zadochnici“ и „students“. Ще изпълним следната команда:

ALTER TABLE `university`.`zadochnici`
ADD `sruspeh` FLOAT( 3 ) NULL;

ALTER TABLE `university`.`students`
ADD `sruspeh` FLOAT( 3 ) NULL;

В следващия момент обаче ще се досетим, че така се нарушава логическата връзка на таблиците. Знаем, че таблицата „zadochnici“ е подклас на таблицата „students“, т.е. напълно нелогично е да пазим оценките на задочниците два пъти. Затова ще изтрием така създаденото поле:

ALTER TABLE `university`.`zadochnici`
DROP `sruspeh`;

Ако искаме да променим името и/или типа данни на дадена колона, то използваме аналогичен синтаксис:

ALTER TABLE `university`.`students`
CHANGE `sruspeh` `sr_uspeh` FLOAT( 3 ) NULL;

Тук променихме името на колоната „sruspeh“ в „sr_uspeh“ в таблица „students“.

Чрез ALTER TABLE можете също да слагате и премахвате ключове. Това става чрез командите „ADD CONSTRAINT“ и „DROP CONSTRAINT“.

 



4 коментара


  1. kraikov каза:

    Задължително ли е писането на апостроф (`) при използването на атрибути?
    Заявките и в Workbench, и в Command Line се изпълняват и без него.

  2. Не е задължително.

  3. Студент каза:

    Може ли с един пример да покажете как се променя типа данни?

  4. ALTER TABLE <таблица>
    MODIFY <колона> <нов тип>;

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

Адресът на електронната поща няма да се публикува


*