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

Pojedyncze cudzysłowy, podwójne cudzysłowy i znaki wsteczne w MySQL

MySQL obsługuje pojedyncze cudzysłowy, podwójne cudzysłowy i znaki wsteczne do różnych celów. W tym artykule przyjrzymy się, kiedy używać pojedynczych cudzysłowów, podwójnych cudzysłowów i znaków wstecznych w MySQL.


Pojedyncze cudzysłowy, podwójne cudzysłowy i znaki wsteczne w MySQL

Należy pamiętać:

  1. Pojedyncze cudzysłowy i podwójne cudzysłowy są używane wokół łańcuchów
  2. Wokół nazw baz danych, nazw tabel i nazw kolumn używane są znaki wsteczne


Pojedyncze cytaty

Oto kilka przykładów użycia pojedynczych cudzysłowów w MySQL.

mysql> SELECT 'test' example1,
              '"test"' example2, 
              '""test""' example3, 
              'te''st' example4;
 +----------+----------+----------+----------+
 | example1 | example2 | example3 | example4 |
 +----------+----------+----------+----------+
 | test     | "test"   | ""test"" | te'st    |
 +----------+----------+----------+----------+

Jak widać powyżej, jeśli dodasz podwójne cudzysłowy wewnątrz pojedynczych cudzysłowów, będą one traktowane jako znaki łańcuchowe i wyświetlane bez zmian. Więc jeśli chcesz wyświetlić podwójne cudzysłowy w wyniku, zawiń je w pojedyncze cudzysłowy.

Jeśli chcesz wyświetlić pojedyncze cudzysłowy w ciągu, a także zapakować je w pojedyncze cudzysłowy, musisz zmienić wewnętrzne pojedyncze cudzysłowy za pomocą odwrotnego ukośnika (\), jak pokazano poniżej.

mysql> select 'They\'ve gone' as example;
 +--------------+
 | example      |
 +--------------+
 | They've gone |
 +--------------+


Podwójne cytaty

Oto kilka przykładów użycia podwójnych cudzysłowów w MySQL.

mysql> SELECT "test" example1, 
              "'test'" example2, 
              "''test''" example3, 
              "te""st" example4;
 +----------+----------+----------+----------+
 | example1 | example2 | example3 | example4 |
 +----------+----------+----------+----------+
 | test     | 'test'   | ''test'' | te"st    |
 +----------+----------+----------+----------+

Jak widać powyżej, jeśli dodasz pojedyncze cudzysłowy wewnątrz podwójnych cudzysłowów, będą one traktowane jako znaki łańcuchowe i wyświetlane bez zmian. Więc jeśli chcesz wyświetlić pojedyncze cudzysłowy w wyniku, umieść je w podwójnych cudzysłowach.

Jeśli chcesz wyświetlić pojedyncze cudzysłowy w ciągu, a także zapakować je w pojedyncze cudzysłowy, musisz zmienić wewnętrzne pojedyncze cudzysłowy za pomocą odwrotnego ukośnika (\), jak pokazano poniżej.

mysql> select "He said, \"They've gone\"" as example;
 +-------------------------+
 | example                 |
 +-------------------------+
 | He said, "They've gone" |
 +-------------------------+


Wstecz

Wokół nazwy bazy danych, nazwy tabeli, nazwy kolumny używane są znaki wsteczne. Są one wymagane, zwłaszcza jeśli nazwy bazy danych/tabeli/kolumn zawierają znaki odstępu.

Oto przykład. Spróbujemy utworzyć bazę danych o nazwie „przykładowe dane”.

mysql> create database sample data;
ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'data' at line 1

mysql> create database `sample data`;
Query OK, 1 row affected (0.01 sec)

mysql> use `sample data`
ERROR 1049 (42000): Unknown database 'sample';

mysql> use `sample data`
Database changed

Znaki wsteczne są opcjonalne, jeśli nazwy bazy danych, tabel i kolumn nie zawierają białych znaków.

Potrzebujesz narzędzia do raportowania dla MySQL? Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Host „xxx.xx.xxx.xxx” nie może połączyć się z tym serwerem MySQL

  2. 10 najciekawszych faktów i wskazówek dotyczących MySQL

  3. Grupowanie w interwał 5 minut w zakresie czasu

  4. Jak uruchomić skrypt SQL w MySQL?

  5. Jaka jest maksymalna długość danych, które mogę umieścić w kolumnie BLOB w MySQL?