Używanie backticków, podwójnych cudzysłowów i pojedynczych cudzysłowów podczas zapytań do bazy danych MySQL można sprowadzić do dwóch podstawowych punktów.
- Cytaty (pojedyncze i podwójne) są używane wokół ciągów.
- Wokół identyfikatorów tabel i kolumn są używane znaki wsteczne.
Podwójne cytaty
Używając podwójnych cudzysłowów, oto kilka przykładów danych wejściowych i wyjściowych:
SELECT "test", "'test'", "''test''", "te""st";
Wynik wygląda tak:
Zawijanie pojedynczych cudzysłowów wewnątrz podwójnych cudzysłowów anuluje oczekiwane zachowanie pojedynczych cudzysłowów w zapytaniu MySQL i zamiast tego traktuje je jako część ciągu. Można to zobaczyć w kolumnach 2 i 3 w powyższym przykładzie.
Wstawienie dwóch podwójnych cudzysłowów w środku ciągu spowoduje anulowanie jednego z nich.
Pojedyncze cytaty
Używając pojedynczych cudzysłowów, oto kilka przykładów danych wejściowych i wyjściowych:
SELECT 'test', '"test"', '""test""', 'te''st';
Wynik wygląda tak:
Jak pokazano w powyższej demonstracji, pojedyncze cudzysłowy zachowują się w tych kontekstach tak samo jak podwójne cudzysłowy.
Korzystanie z pojedynczych cudzysłowów i podwójnych cudzysłowów razem
Często występuje skrócenie ciągu lub bezpośredni cytat. W sytuacjach takich jak raporty z badań NPS lub inne formularze opinii klientów ma to często miejsce. W takich przypadkach użyj podwójnych cudzysłowów, aby zawinąć ciąg tekstowy, który zawiera skrócenie, takie jak Oni zachowa pojedynczy cudzysłów w łańcuchu jako apostrof.
W takim przypadku przedstawienie ciągu znaków ze skróceniem powinno wyglądać tak:
SELECT "They've found this tutorial to be helpful"
Wynik wygląda tak:
Lub, jeśli musisz użyć podwójnych cudzysłowów, aby przedstawić cytat opinii klientów w ciągu, możesz użyć pojedynczych cudzysłowów, aby otoczyć cały ciąg.
SELECT 'They\'ve responded, "We found this tutorial helpful"'
Jeśli chcesz użyć pojedynczych cudzysłowów i podwójnych cudzysłowów w ciągu zawierającym zarówno skrócenie, jak i cudzysłów, będziesz musiał użyć odwrotnego ukośnika „”, aby anulować następujący znak. Na przykład:łańcuch zawierający to ' rozpozna ukośnik odwrotny jako instrukcję anulowania znaczenia syntaktycznego pojedynczego cudzysłowu i zamiast tego wstawi go do łańcucha jako apostrof.
SELECT 'They\'ve responded, "We found this tutorial helpful"'
Backticks
Backticki są używane w MySQL do wybierania kolumn i tabel ze źródła MySQL. W poniższym przykładzie wywołujemy tabelę zatytułowaną Album
i kolumna Title
. Używając backticków oznaczamy, że są to nazwy kolumn i tabel.
SELECT `Album`.`Title`
FROM `Album` AS `Album`
GROUP BY `Album`.`Title`
ORDER BY `Title` ASC
LIMIT 10;
Znaki wsteczne nazw kolumn mogą jednak nie być konieczne.
SELECT Album.Title
FROM Album AS Album
GROUP BY Album.Title
ORDER BY Title ASC
LIMIT 10;
Oba te zapytania zwrócą ten sam wynik.
Łączenie wszystkiego w całość
Poniższe zapytanie użyje wszystkiego, czego się tutaj nauczyliśmy, w tym cudzysłowów podwójnych, cudzysłowów pojedynczych i znaków wstecznych.
SELECT 'They\'ve responded, "We found this tutorial helpful"' as `Response`
Zwróci: