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. Задължително ли е писането на апостроф (`) при използването на атрибути?
    Заявките и в Workbench, и в Command Line се изпълняват и без него.

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

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

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


*