Для добавления записи в таблицу необходимо указать имена полей таблицы, а также значения для этих полей после команда VALUES. Значения задаются строго в том порядке, в котором объявлены имена полей.
INSERT INTO clients (name, age, phone) VALUES ('John', '29', '+77178001020');
Этой записи по умолчанию будет присвоен id=1, т.к. это первая запись таблицы. Теперь можем попробовать выбрать эту запись с заданным условием.
SELECT name, age FROM clients WHERE id <= 2;
Данная команды сделает выборку всех полей (символ *) с условием, где поле id равно 1. Таким образом мы можем указывать имена полей вместо символа «*», которые хотим выбрать через запятую.
Условия выборки записей мы можем так же формировать в виде сравнения в большую сторону или меньшую, например
SELECT name, age FROM clients WHERE id <= 2;
В результате команда сделает выборку записей, у которых значение поля id меньше или равно 2.
Выборка записей с условием BETWEEN
Использование команды BETWEEN в MySQL позволяет задавать диапазон значений для условия выборки. К примеру, сделаем выборку записей, у которых id равен от 1 до 5.
SELECT * FROM clients WHERE id BETWEEN 1 AND 5;
Выборка записей с условием OR
В условиях выборки записей мы может задать условие «ИЛИ» командой OR. Например, выбрать запись, у которой id равен 1 или 2.
SELECT * FROM clients WHERE id = '1' OR id = '2';
Выборка записей с условием AND
Когда необходимо задать несколько одновременных условий выборки записей, мы используем команды AND. Например, выберем записи, у которых в поле name содержит значение John, а также поле age равно 29.
SELECT * FROM clients WHERE name = 'John' AND age = '29';
Выборка записей с условием LIKE
Иногда необходимо искать записи не по полному значению поля, а например по ключевым символам. Для этого удобно использовать команду LIKE.
Выборка записи, у которой поле name начинается с символов «Jo» всё остальное будет игнорироваться (после символа %).
SELECT * FROM clients WHERE name LIKE 'Jo%';
Символ % обозначает что на его месте может быть любое значение. Так мы можем указать что ключевые символы могут находится в составе другого слова.
SELECT * FROM clients WHERE name LIKE '%oh%';
Как вы уже, наверное, догадались, данная команда очень удобна для использования её в поиске по ключевым символам в тексте.
Выборка записей с условием вхождения значения – IN
Используя команду IN, мы можем выбрать записи с условием нескольких возможных значений поля. Например, выбираем записи, где поле age содержит значения 27, 28, 29.
SELECT * FROM clients WHERE age IN (27, 28, 29);
Так же можно использовать обратное условие – это использование команды NOT IN.
Любые списки, получаемые из таблиц баз данных, рано или поздно потребуют сортировки. Для этих целей используется команда ORDER BY. Например, мы можем выбрать записи выполнив сортировка по полю name.
SELECT * FROM clients WHERE age = 29 ORDER BY name;
Так команда выберет все записи, у которых age равно 29 и отсортирует все записи по полю name. По умолчанию сортировка всегда происходит по возрастанию (если в конце не задано направление сортировки ASC или DESС). Так же можно указывать направление сортировки.
SELECT * FROM clients WHERE age = 29 ORDER BY name ASC; SELECT * FROM clients WHERE age = 29 ORDER BY name DESC;
Мы так же можем выполнять сортировку по нескольким полям.
SELECT * FROM clients WHERE age = 29 ORDER BY name, phone DESC;