Usuwanie rekordów z tabeli
|
04-16-2012, 06:53 PM
Post: #1
|
|||
|
|||
Usuwanie rekordów z tabeli
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). |
|||
« Starszy wątek | Nowszy wątek »
|
Użytkownicy przeglądający ten wątek: 1 gości