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

Jak uciec od pojedynczego cudzysłowu i znaków specjalnych w MySQL

Czasami może być konieczne przechowywanie pojedynczego cudzysłowu, podwójnego cudzysłowu, apostrofu, znaku wstecznego i innych znaków specjalnych w MySQL. W tym artykule przyjrzymy się, jak uniknąć pojedynczego cudzysłowu, podwójnych cudzysłowów, apostrofów, backticków i innych znaków specjalnych.


Jak uniknąć pojedynczego cudzysłowu i znaków specjalnych w MySQL

Możesz łatwo zmienić pojedyncze cudzysłowy, podwójne cudzysłowy, apostrofy, znaki wsteczne i inne znaki specjalne, dodając odwrotny ukośnik (\) przed tym znakiem.

Oto zapytanie MySQL, które unika pojedynczych cudzysłowów.

mysql> select 'test\'s' as test_string;
+-------------+
| test_string |
+-------------+
| test's      |
+-------------+

Jak widać, pojedynczy cytat został zmieniony i jest wyświetlany w wyniku zapytania.

Podobnie, tutaj jest zapytanie MySQL, aby uniknąć podwójnych cudzysłowów

mysql> select 'test\"s' as test_string;
+-------------+
| test_string |
+-------------+
| test"s      |
+-------------+

Podobnie możemy użyć odwrotnego ukośnika do zmiany pojedynczych cudzysłowów i podwójnych cudzysłowów do wstawienia wartości do tabeli MySQL.

Załóżmy, że masz następującą tabelę escape_characters_demo(id, string)

mysql> create table escape_characters_demo(
       id int,
       string varchar(255)
       );

Teraz spróbujmy wstawić teksty z pojedynczymi, odwrotnymi i podwójnymi cudzysłowami oraz ich kombinacjami, używając odwrotnego ukośnika.

mysql> mysql> insert into escape_characters_demo(id, string)
       values(1, 'test\'s'),
       (2, 'test\"s'),
       (3, 'test\`s'),
       (4, 'test\'s and best\'s'),
       (5, 'test\"s and best\"s'),
       (6, 'test\"s and best\'s');

mysql> select * from escape_characters_demo;
+------+-------------------+
| id   | string            |
+------+-------------------+
|    1 | test's            |
|    2 | test"s            |
|    3 | test`s            |
|    4 | test's and best's |
|    5 | test"s and best"s |
|    6 | test"s and best's |
+------+-------------------+

Jak widać powyżej, możemy uniknąć pojedynczych cudzysłowów, podwójnych cudzysłowów, znaków wstecznych, wielu pojedynczych i podwójnych cudzysłowów, a nawet ich kombinacji, dodając odwrotny ukośnik przed tymi znakami specjalnymi.

Mamy nadzieję, że teraz możesz łatwo zmieniać znaki specjalne w zapytaniach SELECT, INSERT i UPDATE.

Ubiq ułatwia wizualizację danych i monitorowanie ich w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj Ubiq za darmo.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. odpowiedniki onbeforeprint() i onafterprint() dla przeglądarek innych niż IE

  2. Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:TAK) (Mysql::Błąd)

  3. Jak mogę przywrócić pełne uprawnienia użytkownika root MySQL?

  4. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:awaria łącza komunikacyjnego

  5. Jak usunąć z wielu tabel w MySQL?