Usuwanie rekordów z tabeli - Wersja do druku +- Forum hosting 4un.eu (http://www.4un.eu/forum) +-- Dział: Inne (/Forum-Inne) +--- Dział: Tworzenie stron (/Forum-Tworzenie-stron) +---- Dział: MySQL (/Forum-MySQL) +---- Wątek: Usuwanie rekordów z tabeli (/Thread-Usuwanie-rekord%C3%B3w-z-tabeli) |
Usuwanie rekordów z tabeli - deros - 04-16-2012 06:53 PM Czasami zachodzi sytuacja, że trzeba usunąć z tabeli konkretny rekord, Do tego celu służy polecenie: DELETE FROM x WHERE y=z , WHERE określa warunek, do usunięcia rekordu, gdzie x to nazwa tabeli, a y to nazwa pola zawierająca wartość z. Jeśli nie określimy warunku zostaną usunięte wszystkie rekordy z tabeli. Należy pamiętać, aby użytkownik połączony z bazą danych mógł usuwać rekordy inaczej polecenie nie zostanie wykonane. W poprzednich wątkach dotyczących bazy danych, założyłem, że posługujemy się tabelą chemia z trzema uczniami. Aby zobrazować polecenie delete posłużę się ponownie tym założeniem. Tak więc w tabeli chemia mamy trzech uczniów: uczeń z nr 1 dostał ze sprawdzianu 4, z odpowiedzi 3, a z aktywności 5 uczeń nr 2 dostał ze sprawdzianu 5, z odpowiedzi 5 i z aktywności 5 oraz ucznia z nr 3, który ma tylko 5 ze sprawdzianu. Wyobraźmy sobie, że uczeń nr 2 został przepisany do innej klasy i potrzebujemy wykreślić jego z tabeli. Polecenie w SQL będzie miało następującą postać: Cytat:DELETE FROM chemia WHERE nr=2Korzystając z PHP polecenie będzie wyglądało: Cytat: $usun = mysql_query("DELETE FROM chemia WHERE nr=2");W ten sposób z naszej tabeli zniknie, uczeń z nr 2 w dzienniku. Oczywiście nazwa pola, tabeli czy wartość będąca warunkiem wykonania może zostać pobrana ze zmiennej, (używanie zmiennych jest przydatne w wszelkiego rodzaju panelach administracyjnych). Cytat:$tabela='chemia';Wykonanie powyższych instrukcji przez interpretator PHP spowoduje usunięcie ucznia z nr 2 z tabeli chemia. Jak wspominałem w wątku o tworzeniu tabel usunięcie ucznia z nr 2, nie spowoduje, że uczeń, który miał nr 3 w dzienniku otrzyma nr drugi. Możemy stosować bardziej złożone warunki pozwalające określić co powinno zostać usunięte z naszej tabeli. (więcej o warunkach opiszę w osobnym wątku gdyż polecenie WHERE i jego parametry (zwane operatorami porównań), są wspólne dla poleceń SELECT, UPDATE, DELETE). |