ALTER umożliwia wykonanie operacji na strukturze istniejącej tabeli takie jak: dodawnie, usuwanie, zmiana nazwy, zmiana typu danych kolumny, a także dodawanie, usuwanie indeksu dla kolumny
Tworzymy tabelę i sprawdzamy jej zawartość poleceniem:
SELECT * FROM `nazwatabeli`;
Uzyskany efekt:
Sprawdzamy stan początkowy tabeli poleceniem SQL:
DESCRIBE nazwatabeli;
Uzyskany efekt:
Modyfikujemy typ atrybutu "imie" tabeli "mojatabela" i zmieniamy typ "varchar" na "char" wydając polecenie:
ALTER TABLE `nazwatabeli` MODIFY `imie` char(18);
DESCRIBE `nazwatabeli`;
Co oznacza, że w tabeli `mojatabela` w kolumnie `imie` zmieniamy typ na "char", oraz w drugiej linii wyświetlamy informacje o tabeli.
Uzyskany efekt:
ALTER TABLE `nazwa_tablicy` CHANGE `stara_nazwa_kolumny` `nowa_nazwa_kolumny` typ_danych
ALTER TABLE `nazwatabeli` CHANGE `imie` `pseudonim` int(10);
Uzyskany efekt:
W celu zmiany zawartości komórki należy jednoznacznie określić o którą komórkę chodzi podając w WHERE jednoznaczne informacje identyfikujące tą komórkę, np.:
UPDATE nazwatabeli SET pseudonim='4' WHERE pseudonim='0' and wiek='65';
Uzyskany efekt:
Aby usunąć kolumnę należy wydać klauzulę (zapytanie) o treści:
ALTER TABLE `nazwa_tablicy` DROP COLUMN `nazwa_kolumny`;
W naszym przypadku aby usunąć kolumnę `pseudonim` trzeba wydać polecenie:
ALTER TABLE `nazwatabeli` DROP COLUMN `pseudonim`;
Uzyskany efekt:
Aby dodać kolumnę należy wydać klauzulę (zapytanie) o treści:
ALTER TABLE `nazwa_tabeli` ADD `nazwa_kolumny` typ_danych;
W naszym przypadku aby dodać kolumnę `oczy` trzeba wydać polecenie:
ALTER TABLE `nazwatabeli` ADD COLUMN `oczy` VARCHAR(10);
Uzyskany efekt:
Indeksy pozwalają na szybsze przeszukiwanie bazy danych, ale za to więcej czasu zajmuje operacja aktualizacji (UPDATE) dla tabeli ze zdefiniowanym indeksem. W różnych bazach danych tworzenie indeksu może wyglądać nieco inaczej.
Aby dodać INDEKS należy wydać klauzulę (zapytanie) o treści:
ALTER TABLE `nazwa_tabeli` ADD INDEX (`nazwa_kolumny`);
W naszym przypadku aby dodać indeks do kolumny `wiek` trzeba wydać polecenie:
ALTER TABLE `nazwatabeli` ADD INDEX ( `wiek` ) ;
Uzyskany efekt:
Aby usunąć indeks z tabeli należy wydać klauzulę (zapytanie) o treści:
ALTER TABLE `nazwa_tabeli` DROP INDEX nazwa_indexu;
W naszym przypadku aby usunąć indeks `lp` trzeba wydać polecenie:
ALTER TABLE `nazwatabeli` DROP INDEX `wiek`;
Uzyskany efekt: