Kurs MySQL - wprowadzanie zapytań
Wprowadzanie zapytań Upewnij się, że jesteś podłączony do serwera (jest to omówione w poprzedniej części). Samo połączenie nie wybiera żadnej
bazy danych, jednak na razie wszystko jest w porządku. Na tym etapie ważniejsze jest, aby dowiedzieć się jak wprowadzać
zapytania niż rzucać się od razu w wir tworzenia tabel, wypełniania ich danymi i uzyskiwanie odpowiedzi. Ta część opisuje
podstawowe zasady wydawania poleceń, używając kilku zapytań możesz zaznajomić się ze sposobem, w jaki działa Poniżej przedstawiono proste polecenie, które każe serwerowi zwrócić numer jego wersji i aktualną datę. Po symbolu zachęty
mysql> SELECT VERSION(), CURRENT_DATE(); +-----------+---------------+ | VERSION() | CURRENT_DATE()| +-----------+---------------+ | 4.0.24-nt | 2005-05-29 | +-----------+---------------+ 1 row in set (0.06 sec) mysql> Zapytanie to ilustruje kilka rzeczy związanych z
Wielkość liter w słowach kluczowych nie ma znaczenia. Następujące zapytania są równoważne: mysql> SELECT VERSION(), CURRENT_DATE(); mysql> select version(), current_date(); mysql> SeLeCt vErSiOn(), current_DATE(); Następne zapytanie pokazuje, jak można użyć mysql> SELECT SIN(PI()/4), (4+1)*5; +-------------+---------+ | SIN(PI()/4) | (4+1)*5 | +-------------+---------+ | 0.707107 | 25 | +-------------+---------+ Zaprezentowane do tej pory polecenia były stosunkowo krótkimi, jednoliniowymi instrukcjami. Możesz nawet wprowadzić kilka instrukcji w jednej lini kończąc każdą z nich średnikiem: mysql> SELECT VERSION(); SELECT NOW(); +-----------+ | VERSION() | +-----------+ | 4.0.24-nt | +-----------+ +---------------------+ | NOW() | +---------------------+ | 2005-05-29 08:19:41 | +---------------------+ Polecenie nie musi się całe zawierać w jednej linii więc długie instrukcje, wymagające kilku wierszy nie stanowią problemu.
Oto przykład instrukcji zapisanej w kilku linijkach: mysql> SELECT -> USER() -> , -> CURRENT_DATE;"); +----------------+--------------+ | USER() | CURRENT_DATE | +----------------+--------------+ | root@localhost | 2005-05-29 | +----------------+--------------+ Zauważ, że po wprowadzeniu pierwszej linii symbol zachęty zmienia się z Jeżeli zadecydujesz, że nie chcesz wykonywać polecenia które właśnie prowadzasz, możesz je anulować przez wpisanie \c: mysql> SELECT -> USER() -> \c mysql> Zauważ, że symbol zachęty powraca do postaci Poniższa tabela pokazuje wszystkie symbole zachęty jakie możesz spotkać i w skrócie opisuje, w jakim stanie znajduje się
Instrukcje wielowierszowe powstają często przez przypadek, kiedy zamierzasz wydać instrukcję w jednej linii,
ale zapominasz o końcowym średniku. W takim przypadku, mysql> SELECT USER() -> Jeżeli Ci się to zdarzy (myślisz, że wprowadziłeś poprawną instrukcję, ale jedyną odpowiedzią jest symbol zachęty mysql> SELECT USER() -> ; +----------------+ | USER() | +----------------+ | root@localhost | +----------------+ Symbole zachęty w postaci '> i "> występują podczas wprowadzania łańcuchów znakowych. W MySQL możesz podawać łańcuchy ujmując je w apostrofy lub w cudzysłowy, a łańcuch znaków może ciągnąć się przez kilka wierszy. Kiedy widzisz zachętę w postaci'> lub "> oznacza to, że wprowadziłeś linię zawierającą łańcuch zaczynający się od znaku ' lub ", ale nie podałeś do tej pory odpowiadającego znaku kończącego łańcuch. Wszystko jest w porządku, jeżeli rzeczywiście wprowadzasz wielowierszowy tekst, jednak czy naprawdę często to robisz? Chyba raczej nie. Znacznie częściej symbole zachęty '> i "> oznaczają, że zapomniałeś o kończącym cudzysłowie. Np.: mysql> SELECT * FROM moja_tabela WHERE imie = "Jan AND wiek < 30; "> Jeżeli wprowadzisz powyższą instrukcję Co możesz zrobić w tym momencie? Najprostszą rzeczą jest anulowanie polecenia. Jednakże, nie możesz po prostu wpisać \c
ponieważ mysql> SELECT * FROM my_table WHERE nazwisko = "Jan AND wiek < 30; "> "\c mysql> Symbol zachęty powraca do postaci Ważne jest, żeby wiedzieć, co oznaczają symbole '> i "> ponieważ, jeżeli przez przypadek wprowadzisz
nie zakończony łańcuch, to każda następna linia którą wpiszesz będzie sprawiała wrażenie ignorowanej przez
|