52 lines
2.2 KiB
Plaintext
52 lines
2.2 KiB
Plaintext
#
|
|
# ID: 8fda29
|
|
# Nazwa: Notatnik bazy danych
|
|
# Opis: 31.10.2023/3.11.2023
|
|
# Publiczny: 0
|
|
# Data utworzenia/ostatniej edycji (UTC): 2023-11-03 07:07:48
|
|
#
|
|
|
|
-- Zmiana nazwy tabeli
|
|
|
|
|
|
|
|
ALTER TABLE `domki` RENAME `mieszkania`; -- Polecenie książkowe (przestarzałe)
|
|
|
|
-- lub
|
|
|
|
RENAME TABLE `domki` TO `mieszkania`; -- phpMyAdmin pomija ekran rezultatu zapytania, a więc ta metoda nie nadaje się do użycia na egzaminie
|
|
|
|
|
|
|
|
-- Dodawanie kolumny
|
|
|
|
|
|
|
|
ALTER TABLE `uczen` ADD `pesel` CHAR(11) UNIQUE;
|
|
|
|
-- Uczen >> PESEL, stała ilość znaków. unikatowy.
|
|
|
|
|
|
|
|
ALTER TABLE `uczen` ADD `miasto` VARCHAR(50) AFTER `pesel`,
|
|
|
|
ADD `wiek` INT UNSIGNED,
|
|
|
|
ADD `stypendium` FLOAT UNSIGNED; -- Może być też ADD COLUMN ale tak jest krócej.
|
|
|
|
-- Uczen >> wiek l. naturalna, miasto ciąg znaków max 50 + po kolumnie pesel, stypendium - typ zmiennoprzecinkowy.
|
|
|
|
|
|
|
|
-- Usuwanie kolumny
|
|
|
|
|
|
|
|
ALTER TABLE `uczen` DROP `pesel`; -- Może być też DROP COLUMN ale tak jest krócej.
|
|
|
|
|
|
|
|
-- Usuwanie wielu kolumn
|
|
|
|
|
|
|
|
ALTER TABLE `uczen` DROP `miasto`, DROP `stypendium`; -- Może być też DROP COLUMN ale tak jest krócej.
|
|
|
|
|
|
|
|
-- Zadanie (dodawanie kolumny + zmiana nazwy kolumny + zmiana typu kolumny)
|
|
|
|
ALTER TABLE `uczen` ADD `kolor_oczu` VARCHAR(50), -- Dodanie kolumny
|
|
|
|
ALTER TABLE `uczen` CHANGE `kolor_oczu` `data_urodzenia`, -- Zmiana nazwy
|
|
|
|
ALTER TABLE `pracownicy` MODIFY `data_urodzenia` DATE; -- Zmiana typu kolumny
|
|
|
|
|
|
|
|
-- Usuń klucz obcy
|
|
|
|
|
|
|
|
ALTER TABLE `rezerwacje` DROP FOREIGN KEY `rezerwacje_ibfk_1`;
|
|
|
|
ALTER TABLE `rezerwacje` DROP FOREIGN KEY `rezerwacje_ibfk_2`;
|
|
|
|
|
|
|
|
-- Usuwanie klucza podstawowego
|
|
|
|
ALTER TABLE `rezerwacje` DROP PRIMARY KEY;
|
|
|
|
-- W tym przypadku zwróci błąd ponieważ klucz podstawowy zawiera AUTO INCREMENT
|
|
|
|
-- Błąd: "Incorrect table definition; there can be only one auto column and it must be defined as a key"
|
|
|
|
-- Dlatego najpierw trzeba usunąć AUTO INCREMENT z phpMyAdmin, a następnie spróbować jeszcze raz
|
|
|
|
|
|
|
|
-- Dodanie klucza relacji z konkretną nazwą
|
|
|
|
ALTER TABLE `rezerwacje` ADD CONSTRAINT `klasa` FOREIGN KEY (`IdPracownika`) REFERENCES `pracownicy`(`Idpracownika`);
|
|
|
|
-- Usuwanie poprzednio dodanego klucza obcego
|
|
|
|
ALTER TABLE `rezerwacje` DROP FOREIGN KEY `klasa`; |