Celem tego samouczka jest przeprowadzenie cię przez sposób korzystania z klauzuli w bazach danych Oracle.
Oracle Delete z instrukcji
Usuń z klauzuli pozwala nam usunąć jeden lub więcej wierszy z tabeli bazy danych w jednym poleceniu.
Składnia instrukcji jest jak pokazana następująco:
Usuń z nazwy Table_name
Gdzie stan;
W dostarczonej składni zaczynamy od wywołania usunięcia ze słowa kluczowego, a następnie nazwy tabeli, których dane chcemy usunąć.
Następnie używamy klauzuli Where, aby określić warunek, aby usunąć dane z tabeli. Jeśli pominiesz klauzulę gdzie i warunek, usuwa wszystkie dane z tabeli.
Oracle Delete z przykładu
Utwórzmy podstawową tabelę, która zawiera dane demo do celów demonstracyjnych.
Utwórz bazy danych tabeli
(
numer identyfikacyjny wygenerowany domyślnie na null jako tożsamość,
Nazwa varchar2 (50) nie null,
numer default_port,
najnowszy_wersja varchar2 (20) nie null,
Typ varchar2 (20) nie null,
język varchar2 (20) nie null
);
Po zainicjowaniu tabeli możemy dodać niektóre przykładowe dane, jak pokazano w poniższych instrukcjach wstawienia:
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („Oracle”, 1521, „19c”, „relacyjne”, „sql”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („mysql”, 3306, 8.0 ', „relacyjne”, „sql”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („postgresql”, 5432, „13”, „relacyjny”, „sql”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („MongoDB”, 27017, '4.4 ', „nie odnoszący się”, „javascript”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („Microsoft SQL Server”, 1433, „2017”, „Relacyjne”, „T-SQL”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („Apache Cassandra”, 9042, „4.0 ', „nie odnoszący się”, „java”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („Redis”, 6379, 6.0 ', „nie odnoszący się”, „C ++”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („Mariadb”, 3306, '10.5 ', „relacyjne”, „sql”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („sqlite”, null, „3.34 ', „relacyjne”, „c”);
Wstaw do baz danych (nazwa, default_port, najnowszy_wersja, typ, język)
Wartości („Neo4J”, 7474, '4.1 ', „nie odnoszący się”, „java”);
Powinno to dać nam tabelę z danymi, jak pokazano następująco:
Przykład 1: Usuń określone wiersze z tabeli
Załóżmy, że chcemy usunąć wszystkie bazy danych relacji z tabeli. Możemy użyć usunięcia z instrukcji z klauzulą Where i ustawić warunek jako typ równy „relacyjnej”.
Przykład:
Usuń z baz danych
gdzie typ = „relacyjny”;
Powinno to usunąć wszystkie relacyjne bazy danych z tabeli, jak pokazano w następującej nowej tabeli:
Jak widzimy, tabela zawiera cztery rekordy zamiast 10.
Przykład 2: Usuń kaskadę
W większości przypadków często musisz usunąć dane z tabeli z klawiszami obcy. Weźmy na przykład następujące tabele:
Utwórz tabelę size_stats (
Klucz podstawowy numer podstawowy bazy danych,
size_on_disk liczba nie null,
Numer SOISE_ Compressed
);
Tabela 2:
Utwórz bazy danych tabeli
(
numer identyfikacyjny wygenerowany domyślnie na null jako tożsamość,
Nazwa varchar2 (50) nie null,
numer default_port,
najnowszy_wersja varchar2 (20) nie null,
Typ varchar2 (20) nie null,
język varchar2 (20) nie null,
Klucz obcy (ID) Odwołuje się rozmiar_stats (baza danych) na delete Cascade
);
W takim przypadku tabela baz danych zawiera klucz obcy, który odwołuje się do klucza podstawowego tabeli size_stats. Kaskada ON Delete informuje silnik bazy danych, aby usunął wszystkie elementy dzieci po usunięciu elementu nadrzędnego z tabeli.
Przykład:
Usuń z baz danych
gdzie id = 3;
Poprzednie zapytanie usuwa wiersz, w którym id = 3 z tabeli baz danych.
Jeśli sprawdzimy tabelę size_stats, widzimy, że wiersz z batabase_id = 3 został również upuszczony.
Przykład 3: Usuń wszystkie wiersze
Aby usunąć wszystkie wiersze z tabeli, użyj klauzuli usuwania bez warunków, jak pokazano następująco:
Usuń z Table_name;
Wniosek
Nauczyłeś się usuwać jedno lub więcej wierszy z tabeli bazy danych za pomocą klauzuli usuwania z tego poście.