Для работы со строками в контексте существующей таблицы, содержащей информацию, мы будем использовать SQL-запросы, позволяющие выполнять различные манипуляции над текстовыми полями. Рассмотрим несколько примеров наиболее распространенных операций, выполняемых в MySQL. Например, у нас есть таблица client, содержащая столбцы first_name и last_name, в котором хранятся имена сотрудников.
Выборка значений по условиям
В современных системах, где требуется получить данные выборки по запросу в базы данных, поиск по условию невероятно важен. Но есть проблема, только зная уникальный идентификатор строки в таблице, мы просто найдем нужное значение. Однако что делать, если мы знаем только данные в одном столбце? Например, у нас есть таблица client:
CREATE DATABASE test;
USE test;
CREATE TABLE client (id INT, first_name VARCHAR(255), last_name VARCHAR(255));
INSERT INTO client (id, first_name, last_name) VALUES (0, "Alex", "Kors"), (1, "Kork", "Ghottem"), (2, "Jorj","Fotten"), (3, "Ford", "Bold");
SELECT * FROM client;
Мы используем значения для поиска по столбцу.
SELECT * FROM client WHERE first_name= 'Jorj';
Эта команда выведет на экран все столбцы таблицы client, в которых есть имя Jorj. Она обычно используется для поиска в приложениях, сервисах и системах.
Конкатенация данных
Эта функция может использоваться для заполнения поля для регистрации пользователя, редактирования данных перед отправкой из разных столбцов и многого другого. Рассмотрим пример использования. Нам необходимо объединить имя и фамилию пользователя, чтобы получить полное имя:
SELECT CONCAT(first_name, ', ', last_name) AS full_name FROM client;
Эта команда выдаст в качестве результата конкатенацию данных в столбце full_name, если этот столбец не существует, то он будет создан в текущей таблице. Указывая знак в запросе, нам не нужно писать его каждый раз, когда мы хотим указать новый столбец.
Обратите внимание! Вы можете заметить, что мы указываем операторы ЗАГЛАВНЫМИ буквами, но также мы можем использовать и другой регистр, но имя базы данных, столбца и других объектов чувствительно к регистру! Например, мы можем написать Select, но не можем написать Online_Store вместо исходного значения online_store!
Выбрать подстроку
Бывают ситуации, когда нам необходимо выделить часть текстового значения и отобразить данные в приложении более кратко или по причине ограничений в другой системе уложиться в параметры. Для этого можно представить случай, когда нам нужно получить первую букву имени клиента. Мы будем использовать функцию SUBSTRING, когда нам нужно указать столбец в таблице, первую цифру знака и количество букв:
SELECT SUBSTRING(first_name,1,1) FROM client;Не забудьте поставить точку с запятой в конце запроса! Проверим результат выполнения этой команды:

Также мы можем добавить оператор AS и тогда мы получим результат в таблице, как мы описали выше!
SELECT SUBSTRING(first_name,1,1) AS first_letter FROM client;Это вы можете использовать для приложений и ваших систем!
Верхний и нижний регистры
Эта функция будет полезна для целей форматирования входных данных от клиента по причине необходимости унификации. Поэтому функция UPPER делает буквы прописными, а LOWER в логических последовательностях – строчными:
SELECT UPPER (first_name) FROM client;
И, следовательно, в нижнем регистре:
SELECT LOWER (first_name) FROM client;И последней из часто используемых функций мы рассмотрим REPLACE!
Замена значений
Эта функция поможет изменить данные по любой причине. Синтаксис прост, на первом атрибуте функции указывается столбец, reference_text и target_text: REPLACE (fist_name,’reference_text’,’target_text’);
SELECT REPLACE(first_name,'Jorj','Huston') FROM client;
Мы рассмотрели основные функции для строк и их значения, все это может помочь вам в различных случаях!
Вывод
Понимание и использование этих строковых функций повышает универсальность MySQL в работе с текстовыми данными. Будь то поиск, конкатенация, извлечение подстроки, преобразование регистра или замена данных, эти операции позволяют разработчикам и администраторам баз данных эффективно управлять и манипулировать текстовой информацией в своих базах данных.