Строковые данные необходимо экранировать перед использованием в запросе выбора, чтобы вернуть набор результатов с одинарной кавычкой («), обратной косой чертой (\), ASCII NULL и т. д. Для выполнения этой задачи используется функция MySQL QUOTE(). Он генерирует строковое значение, которое правильно экранирует данные запроса. В этом руководстве описано использование функции QUOTE() для экранирования строки в MySQL.
Синтаксис:
Функция QUOTE() принимает строковое значение в качестве аргумента, который будет экранирован, и возвращает экранированную строку после выполнения запроса. Синтаксис этой функции приведен ниже.
QUOTE(string)
- Символы управляющей последовательности
- Использование функции QUOTE() для строкового значения
- Пример 1: Использование функции QUOTE() для печати простой строки
- Пример 2: Использование функции QUOTE() для печати одинарной кавычки внутри строки
- Пример 3: Использование функции QUOTE() для печати двойной кавычки внутри строки
- Пример 4: Использование функции QUOTE() для печати строки с новой строкой
- Пример 5: Использование функции QUOTE() для печати строки с пробелом табуляции
- Пример 6: Использование функции QUOTE() для печати строки с пробелом
- Использование функции QUOTE() для данных таблицы
- Пример 1: Использование функции QUOTE() в одном поле таблицы
- Пример 2: Использование функции QUOTE() в нескольких полях таблицы
- Заключение
Символы управляющей последовательности
Использование различных символов управляющей последовательности объясняется ниже.
Character | Description |
\’ | Он используется для печати символа одинарной кавычки (‘). |
\” | Он используется для печати символа двойной кавычки («). |
\0 | Он используется для печати символа ASCII NULL. |
\б | Он используется для печати символа возврата. |
\n | Он используется для печати символа новой строки. |
\р | Он используется для печати символа возврата каретки. |
\т | Он используется для печати символа табуляции. |
\Z | Он используется для печати символов ASCII 26 (Ctrl+Z). |
\\ | Он используется для печати символа обратной косой черты (\). |
\% | Он используется для печати символа ‘%’. |
\_ | Он используется для печати символа «_». |
Использование функции QUOTE() для строкового значения
В этой части руководства показано использование функции QUOTE() с различными типами символов управляющей последовательности.
Пример 1: Использование функции QUOTE() для печати простой строки
Когда строковое значение печатается без функции QUOTE() с помощью оператора SELECT, строковое значение будет напечатано без кавычек. Запустите следующую инструкцию SELECT с функцией QUOTE(), чтобы напечатать простую строку с одинарной кавычкой.
SELECT QUOTE(‘Welcome to LinuxHint’) AS Escaped_Value;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Пример 2: Использование функции QUOTE() для печати одинарной кавычки внутри строки
Запустите следующую инструкцию SELECT с функцией QUOTE(), чтобы напечатать строку с одинарными кавычками.
SELECT QUOTE(‘MySQL’‘Database’‘Server’ ) AS Escaped_Value;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Пример 3: Использование функции QUOTE() для печати двойной кавычки внутри строки
Запустите следующую инструкцию SELECT с функцией QUOTE(), чтобы напечатать строку, заключенную в двойные кавычки.
SELECT QUOTE(‘»Linux» Hint’) AS Escaped_Value;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Пример 4: Использование функции QUOTE() для печати строки с новой строкой
Запустите следующую инструкцию SELECT с функцией QUOTE(), чтобы напечатать строку с новой строкой.
SELECT QUOTE(‘Linux\nHint’) AS Escaped_Value;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Пример 5: Использование функции QUOTE() для печати строки с пробелом табуляции
Запустите следующую инструкцию SELECT с функцией QUOTE(), чтобы напечатать строку с символом ’\t’.
SELECT QUOTE(‘Hello\tWorld’) AS Escaped_Value;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса. Пространство табуляции было создано между «Hello» и «World» в выходных данных для использования символа «\t».
Пример 6: Использование функции QUOTE() для печати строки с пробелом
Запустите следующую инструкцию SELECT с функцией QUOTE(), чтобы напечатать строку после применения символа ’\b’.
SELECT QUOTE(‘Linux\bHint’) AS Escaped_Value;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса. Символ «x» был удален из основной строки с помощью символа «\b» внутри строки.
Использование функции QUOTE() для данных таблицы
Вы должны создать таблицу с данными в базе данных MySQL, чтобы проверить с помощью функции QUOTE() данные таблицы. Откройте терминал и подключитесь к серверу MySQL, выполнив следующую команду.
$ sudo mysql -u root
Выполните следующую команду, чтобы создать базу данных с именем test_db.
CREATE DATABASE test_db;
Выполните следующую команду, чтобы выбрать базу данных.
USE test_db;
Выполните следующий запрос, чтобы создать таблицу с именем client и пятью полями.
CREATETABLEclients(
id INTNOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50),
address TEXT,
contact_noVARCHAR(15));
Выполните следующий запрос INSERT, чтобы вставить 4 записи в таблицу клиентов.
INSERT INTO `clients` (`id`, `name`, `email`, `address`, `contact_no`) VALUES
(‘4001’, ‘Laboni Sarkar’, ‘laboni@gmail.com’, ’34, Dhanmondi 9/A, Dhaka.’, ‘01844767234’),
(‘4002’, ‘Tahsin Ahmed’, ‘tahsin@gmail.com’, ‘123/1, Jigatola, Dhaka.’, ‘015993487812’),
(‘4003’, ‘Hasina Pervin’, ‘hasina@gmail.com’, ‘280, Shantibagh, Dhaka.’, ‘01600487812’),
(‘4004’, ‘Mehrab Ali’, ‘ali@yahoo.com’, ’78, Cox’s Bazar, Chottogram.’, ‘01727863459’);
Выполните следующий запрос, чтобы распечатать все записи таблицы клиентов.
SELECT * from clients;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Пример 1: Использование функции QUOTE() в одном поле таблицы
Когда строковое значение таблицы печатается с использованием запроса SELECT, на выходе будет отображаться строковое значение без каких-либо кавычек. Следующий запрос SELECT напечатает все записи таблицы клиентов и еще один дополнительный столбец QUOTE (электронная почта), заключив поле электронной почты таблицы клиентов в одинарную кавычку.
SELECT *, QUOTE (email) FROM clients;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Пример 2: Использование функции QUOTE() в нескольких полях таблицы
Следующий запрос SELECT напечатает исходные значения полей имени и адреса, а также значения в одинарных кавычках полей электронной почты и contact_no таблицы клиентов.
SELECT name as Name, QUOTE (email) as Email, address as Address, QUOTE (contact_no) as `Contact No`
FROM clients;
Выход:
Следующий вывод появится после выполнения вышеуказанного запроса.
Заключение
Функция QUOTE() используется в запросе SELECT для форматирования строковых данных с использованием различных escape-символов перед печатью. Способы использования функции QUOTE() для простых строковых данных и табличных данных были показаны в этом руководстве, чтобы помочь пользователям MySQL узнать, как экранировать строку в MySQL.