# MODYFIKOWANIE TABEL i OPERACJE na TABELACH

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

### Modyfikowanie typów kolumn (typów atrybutów)

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:

### Zmiana nazwy kolumny i jej typu

ALTER TABLE `nazwa_tablicy` CHANGE `stara_nazwa_kolumny` `nowa_nazwa_kolumny` typ_danych

ALTER TABLE `nazwatabeli` CHANGE `imie` `pseudonim` int(10);

Uzyskany efekt:

### Zmiana zawartosci komórki w rekordzie

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:

### Usunięcie kolumny

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:

### Dodanie kolumny

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:

### Dodanie INDEKSU DO TABELI

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:

### Usuwanie indeksu

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:

⇒ Spis treści ⇐

⇐ PREV NEXT ⇒