MySQL thoát

Sử dụng Backticks, Double Quotes và Single Quotes khi truy vấn cơ sở dữ liệu MySQL có thể rút gọn thành hai điểm cơ bản

  1. Dấu ngoặc kép (Đơn và Đôi) được sử dụng xung quanh chuỗi
  2. Backticks được sử dụng xung quanh định danh bảng và cột

Dấu ngoặc kép

Sử dụng dấu ngoặc kép ở đây là một số ví dụ đầu vào và đầu ra

SELECT "test", "'test'", "''test''", "te""st";

Đầu ra trông như thế này

MySQL thoát

Gói các trích dẫn đơn bên trong các trích dẫn kép sẽ hủy bỏ hành vi mong đợi của các trích dẫn đơn trong Truy vấn MySQL và thay vào đó coi nó như một phần của chuỗi. Điều này có thể được nhìn thấy trong các cột 2 và 3 trong ví dụ trên

Chèn hai dấu ngoặc kép vào giữa chuỗi sẽ hủy bỏ một trong số chúng

Dấu nháy đơn

Sử dụng dấu ngoặc đơn ở đây là một số ví dụ đầu vào và đầu ra

SELECT 'test', '"test"', '""test""', 'te''st';

Đầu ra trông như thế này

MySQL thoát

Như thể hiện trong phần trình diễn ở trên, dấu ngoặc đơn hoạt động giống như dấu ngoặc kép trong các ngữ cảnh này

Sử dụng dấu ngoặc đơn và dấu ngoặc kép cùng nhau

Thông thường sẽ có một sự co lại trong một chuỗi hoặc một trích dẫn trực tiếp. Trong các tình huống như trong các báo cáo khảo sát của NPS hoặc các biểu mẫu phản hồi khác của khách hàng, trường hợp này thường xảy ra. Trong những trường hợp này, sử dụng dấu ngoặc kép để bọc một chuỗi văn bản có chứa một dấu nháy đơn như They've sẽ giữ dấu nháy đơn trong chuỗi dưới dạng dấu nháy đơn

Trong trường hợp này, việc trình bày một chuỗi có rút gọn sẽ trông như thế này

SELECT "They've found this tutorial to be helpful"

Đầu ra trông như thế này

MySQL thoát

Hoặc, nếu bạn cần sử dụng dấu ngoặc kép để trình bày báo giá phản hồi của khách hàng trong chuỗi, thì bạn có thể sử dụng dấu ngoặc đơn để bao toàn bộ chuỗi

SELECT 'They responded, "We found this tutorial helpful"'

Nếu bạn cần sử dụng dấu ngoặc đơn và dấu ngoặc kép trong một chuỗi chứa cả dấu ngoặc kép và dấu ngoặc kép, bạn sẽ cần sử dụng dấu gạch chéo ngược ‘' để hủy bỏ ký tự sau. Ví dụ. một chuỗi chứa ' này sẽ nhận ra dấu gạch chéo ngược như một hướng dẫn để hủy bỏ ý nghĩa cú pháp của trích dẫn đơn lẻ và thay vào đó chèn nó vào chuỗi dưới dạng dấu nháy đơn

SELECT 'They\'ve responded, "We found this tutorial helpful"'

MySQL thoát

đánh dấu ngược

Backticks được sử dụng trong MySQL để chọn các cột và bảng từ nguồn MySQL của bạn. Trong ví dụ bên dưới, chúng tôi đang gọi đến bảng có tiêu đề Album và cột Title. Sử dụng backticks, chúng tôi đang biểu thị rằng đó là tên cột và bảng

    SELECT `Album`.`Title`
    FROM `Album` AS `Album`
    GROUP BY `Album`.`Title`
    ORDER BY `Title` ASC
    LIMIT 10;

Dấu gạch ngược cho tên cột có thể không cần thiết

    SELECT Album.Title
    FROM Album AS Album
    GROUP BY Album.Title
    ORDER BY Title ASC
    LIMIT 10;

Cả hai truy vấn này sẽ trả về cùng một kết quả

MySQL thoát

Để tất cả chúng cùng nhau

Truy vấn sau đây sẽ sử dụng tất cả những gì chúng ta đã học ở đây, bao gồm dấu nháy kép, dấu nháy đơn và dấu nháy ngược

Đôi khi bạn có thể cần lưu trữ trích dẫn đơn, trích dẫn kép, dấu nháy đơn, dấu gạch ngược và các ký tự đặc biệt khác trong MySQL. Trong bài viết này, chúng ta sẽ xem xét cách thoát dấu ngoặc đơn, dấu ngoặc kép, dấu nháy đơn, dấu gạch ngược và các ký tự đặc biệt khác


Cách thoát khỏi trích dẫn đơn, ký tự đặc biệt trong MySQL

Bạn có thể dễ dàng thoát khỏi dấu ngoặc đơn, dấu ngoặc kép, dấu nháy đơn, dấu gạch ngược và các ký tự đặc biệt khác bằng cách thêm dấu gạch chéo ngược (\) trước ký tự đó

Đây là một truy vấn MySQL thoát khỏi dấu nháy đơn

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

Như bạn có thể thấy trích dẫn đơn đã được thoát và được hiển thị trong kết quả truy vấn

Tương tự, đây là truy vấn MySQL để thoát dấu ngoặc kép

________số 8_______

Tương tự, chúng ta có thể sử dụng dấu gạch chéo ngược để thoát dấu ngoặc đơn và dấu ngoặc kép để chèn giá trị vào bảng MySQL

Giả sử bạn có bảng sau escape_characters_demo(id, string)

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

Bây giờ chúng ta hãy thử chèn văn bản với dấu nháy đơn, dấu ngược và dấu ngoặc kép và sự kết hợp của chúng, sử dụng dấu gạch chéo ngược

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 |
+------+-------------------+

Như bạn có thể thấy ở trên, chúng tôi có thể thoát khỏi dấu ngoặc đơn, dấu ngoặc kép, dấu ngoặc ngược, nhiều dấu ngoặc đơn & dấu ngoặc kép và thậm chí là sự kết hợp của những dấu ngoặc kép này bằng cách thêm dấu gạch chéo ngược trước các ký tự đặc biệt này

Thoát trong MySQL là gì?

Mỗi chuỗi này bắt đầu bằng dấu gạch chéo ngược ( \ ), được gọi là ký tự thoát . MySQL nhận ra các chuỗi thoát được hiển thị trong Bảng 9. 1, “Trình tự thoát ký tự đặc biệt”. Đối với tất cả các chuỗi thoát khác, dấu gạch chéo ngược bị bỏ qua. Tức là ký tự đã thoát được hiểu là chưa thoát.

Làm cách nào để thoát các ký tự đặc biệt trong mật khẩu MySQL?

MySQL. tạo mật khẩu có ký tự đặc biệt .
Đặt mật khẩu giữa các dấu nháy đơn. '$******'
Đảm bảo rằng có một số ngay sau ký hiệu đô la. "$2 *****"
Sử dụng dấu gạch chéo ngược để "thoát" ký hiệu đô la trong mật khẩu. "\$****"

Làm cách nào để thoát dấu nháy đơn trong MySQL?

Gói các dấu nháy đơn bên trong dấu nháy kép sẽ loại bỏ hành vi dự kiến ​​của các dấu nháy đơn trong Truy vấn MySQL và thay vào đó coi nó như một phần của chuỗi. Điều này có thể được nhìn thấy trong các cột 2 và 3 trong ví dụ trên. Chèn hai dấu ngoặc kép vào giữa chuỗi sẽ hủy bỏ một trong số chúng.

'%' trong MySQL là gì?

Toán tử LIKE của MySQL . Dấu gạch dưới (_) đại diện cho một ký tự đơn. zero, one, or multiple characters. The underscore sign (_) represents one, single character.