maciejkapaste-backup-2023-2.../pastes/paste_8fda29.txt
2023-12-31 18:17:29 +01:00

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`;