To polecenie usuwa wszystkie rekordy z tabeli. Obcięcie to polecenie DDL.Składnia: TRUNCATE tabela nazwa_tabeli;
Przykład: Przytnij nauczyciela tabeli;
ZAMÓW PRZEZ
Klauzula ORDER BY porządkuje tabelę lub kolumnę w porządku rosnącym lub malejącym. Domyślnie jest to kolejność rosnąca. „ASC” oznacza kolejność rosnącą, a „DESC” oznacza kolejność malejącą. Aby wynikowe rekordy pojawiały się losowo, metoda Rand() używana w MySQL.Przykład:Sortuj według w kolejności rosnącej wybierz *z kolejności nauczycieli według nazwy nauczyciela; lub wybierz *z kolejności nauczycieli według nazwy nauczyciela asc;
W tym przypadku dane wyjściowe są takie same.Przykład: wybierz *z kolejności nauczycieli według nazwy nauczyciela;
Przykład: Wybierz nauczyciela_id z kolejności nauczyciela przez rand();
LIMIT Słowo kluczowe Limit służy do pobierania skończonej liczby rekordów. Limit może być używany z jednym parametrem lub dwoma parametrami.
Ten parametr decyduje o liczbie rekordów do wyświetlenia. - Limit [pierwszy parametr, drugi parametr]
Tutaj pierwszy parametr wskazuje liczbę rekordów do pominięcia, a drugi parametr wskazuje liczbę rekordów do wyświetlenia.Przykład: Wybierz *z limitu nauczycieli 5;
Przykład: Wybierz *z limitu nauczycieli 2,3;
GRUPAJ WG
Klauzula GROUP BY używana do łączenia wierszy, które mają te same wartości. Głównie klauzula GROUP BY używana z funkcjami agregacji do tworzenia raportów podsumowujących z bazy danych.wybierz nazwę_działu, liczba(*)z grupy nauczycieli według nazwa_działu;
POSIADAJĄC KLAUZUJĘ
Klauzula having jest używana w połączeniu z funkcjami agregacyjnymi zamiast klauzuli where. Nie oznacza to, że funkcje klauzuli i agregacji nie są możliwe w tym samym zapytaniu. Możemy użyć klauzuli where i funkcji agregującej w tym samym zapytaniu.Uwaga: Klauzula mająca zastosowanie do grupy rekordów, z drugiej strony, gdy klauzula jest stosowana do każdego pojedynczego rekordu.Gdzie i klauzula mająca mogą być użyte w tym samym zapytaniu.Składnia: Wybierz nazwę funkcji (nazwa_kolumny)Z nazwa_tabeliGrupuj według (nazwa_kolumny)Posiadając (warunek)
Przykład: wybierz count(teacher_id) z grupy nauczycieli przez dept_name, mając dept_name='it';
Wybierz nazwę_działu, count(id_nauczyciela)z grupy nauczycieli według nazwy_działu, mając count(id_nauczyciela)>2;
SPRZĘŻENIA SQL
Tabela działu Tabela nauczyciela Przykład: Napisz zapytanie, aby wyświetlić nazwę działu z ich kierownikiem i ilu nauczycieli pracuje w danym dziale.wybierz dział.nazwa_działu,kierownik_działu,count(nazwa_nauczyciela)z działu dołącz do nauczycielaw dziale.nazwa_działu=nauczyciel.nazwa_działugroup by(nazwa_działu); TABELA A i TABELA B DOŁĄCZ Join zwraca wartości dopasowania z obu tabel z odpowiednim warunkiem włączenia. Wybierz * z A JOIN BON A.no=B.no;
PRAWY DOŁĄCZ SQL Right Join zwraca wszystkie rekordy z prawej tabeli oraz dopasowane wartości. Jeśli nie ma pasujących wartości w innej tabeli, zwróci null.Wybierz *Od A RIGHT JOIN BON A.no=B.no;
DOŁĄCZENIE LEWE Lewe sprzężenie SQL zwraca wszystkie rekordy z lewej tabeli i pasujące wartości. Jeśli nie ma pasujących wartości w innej tabeli, zwróci null.Wybierz * z A LEFT JOIN BON A.no=B.no;
WIDOK
Widok jest taki sam jak tabela w bazie danych. Tabela jest jednostką fizyczną, podczas gdy widok nie. Widok to wirtualna tabela oparta na zestawie wyników zapytania SQL.Użytkownik może utworzyć widok, pisząc zapytania SQL przy użyciu jednej lub kilku tabel, co oznacza, że widok może zawierać kolumny/pola/atrybuty z różnych tabel.Składnia: utwórz widok nazwa_widoku jakoWybierz kolumnę1,kolumnę2,….Od nazwa_tabeliWhere warunek;
Przykład: Utwórz widok view_student asSelect student_id,student_name,dept_nameOd studentGdzie student_id<10;
wybierz *z view_student;
Poniższy ekran wyjściowy pokazuje, że użytkownik może wykonywać funkcje SQL w widoku, gdy dane obecne w widoku pochodzą z jednej tabeli. Podobnie jest w przypadku opcji WHERE i JOIN. # ZAMIEŃ WIDOK W widoku zastępowania użytkownik może zmienić nazwę widoku lub zawartość widoku, zmieniając zapytanie w widoku.Składnia: Utwórz lub zamień widok nazwa_widoku jako Wybierz kolumnę1,kolumnę2,……Od warunku studentWhere;
Przykład: Utwórz lub zamień widok view_student jako Wybierz identyfikator_ucznia, nazwa_studenta, nazwa_działu, rok zajęćOd studentaGdzie identyfikator_ucznia z przedziału od 15 do 35;
# UPUŚĆ WIDOK Użytkownik może upuścić widok za pomocą polecenia DROP VIEW.Składnia: Upuść nazwę widoku_widoku;
Przykład: Upuść viewview_student;
ZAgnieżdżone ZAPYTANIE Zapytanie w innym zapytaniu nazwane zapytanie zagnieżdżone. Użytkownik może skierować do nich zapytanie zewnętrzne i zapytanie wewnętrzne. Zapytanie wewnętrzne o nazwie podzapytanie . Podzapytanie może skutkować jednorzędowym lub wielowierszowym wynikiem wyjściowym. Użytkownik może umieścić podzapytanie przed klauzulą select lub where.Składnia: Wybierz kolumnyFrom nazwa_tabeliWhere w (wybierz nazwę_kolumnyFrom nazwa_tabeliWhere);Wybierz nazwę_kolumny =(wybierz nazwę_kolumnyFrom nazwa_tabeliWhere),kolumnyFrom nazwa_tabeliWhere;
Przykład: Pierwszy kwartał Wyświetlaj nazwiska nauczycieli z działu „IT”, których wynagrodzenie jest wyższe niż średnia pensja działu „IT”.Wybierz nazwę_nauczycielaOd nauczycielaWhere wynagrodzenie>(wybierz avg(wynagrodzenie)Od nauczyciela, gdzie nazwa_działu=„IT”);
SQL SEKWENCJA W MySQL do wygenerowania sekwencji używane jest słowo kluczowe AUTO_INCREMENT. Generuje sekwencję wartości liczbowych, która służy do jednoznacznej identyfikacji każdego rekordu. W przypadku zastosowania tej opcji do kolumny, zwiększa wartość kolumny o 1 podczas wstawiania nowego rekordu do tabeli.Pole Auto_increment powinno być kluczem.Składnia: Utwórz tabelę nazwa_tabeli(kolumna1 typ danych AUTO_INCREMENT,kolumna2 typ danych,…,kolumna1 klucz podstawowy);
Przykład: utwórz próbki tabeli (sample_id int auto_increment klucz podstawowy,sample_name varchar(20),ilość int,cena zmiennoprzecinkowa);
Zastosuj AUTO_INCREMENT po utworzeniu tabeli
Składnia: Zmień tabelę nazwa_tabeli zmień kolumnę nazwa_kolumny nazwa_klucza podstawowego auto_inkrementacja typu danych;
Przykład: zmień tabelę studentmodify kolumnystudent_id int auto_increment;
INDEKS
Użytkownik może stworzyć indeks. Dane są pobierane z bazy danych bardzo szybko za pomocą indeksu. Użytkownik nie może zobaczyć indeksu. Indeks jest używany tylko w celu wyszukiwania lub zapytania.Składnia Utwórz indeks nazwa_indeksuNa nazwa_tabeli (nazwa_kolumny);
Przykład: utwórz indeks stud_indexon student (nazwa_studenta);
INDEKS UPADKU
Składnia: Zmień tabelę nazwa_tabeliDrop index_name;
Przykład: indeks zmień tabelę studentdrop stud_index;
Przykłady
P1 Znajdź najwyższą pensję z tabeli nauczyciela na podstawie identyfikatora nauczyciela. Odp: wybierz teacher_id z listy nauczycieli według teacher_id desc limit 1;// ile rekordów wyświetlićorwybierz max(teacher_id) od nauczyciela;
Q2 Znajdź drugą najwyższą pensję z tabeli nauczyciela na podstawie identyfikatora nauczyciela. Odp :wybierz Teacher_id z kolejności nauczycieli według teacher_id desc limit 1,1; // pomiń 1 rekord, wyświetl 1 rekordQ3 Znajdź trzecie najwyższe wynagrodzenie z tabeli nauczycieli na podstawie identyfikatora nauczyciela. Odp: wybierz identyfikator_nauczyciela z kolejności nauczycieli według identyfikatora_nauczyciela opis limit 2,1;P3 Znajdź n najwyższą pensję z tabeli nauczyciela na podstawie identyfikatora_nauczyciela. Odp: wybierz id_nauczyciela z zamówienia nauczyciela według id_nauczyciela opis limit n-1,1;