Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Cytat pojedynczy, cytat podwójny i znaki wsteczne w zapytaniach MySQL

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.

  1. Cytaty (pojedyncze i podwójne) są używane wokół ciągów.
  2. 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:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Jak zezwolić na zdalne połączenie z mysql

  2. Zapytanie MySQL do wybrania danych z zeszłego tygodnia?

  3. mySQL Zwraca top 5 z każdej kategorii

  4. Użycie if(isset($_POST['submit'])) do niewyświetlania echa, gdy skrypt jest otwarty, nie działa

  5. Jak poprawnie zapisywać ciągi znaków UTF-8 w MySQL za pomocą interfejsu JDBC?