
- •Лабораторные работы 1,2.
- •1. 1. Основные характеристики субд MySql.
- •1.2. Установка MySql
- •Проверка исходных требований
- •Выбор версии
- •1.4.Основные команды создания баз данных, основы работы с таблицами
- •Создание базы данных в Windows
- •Удаление баз данных.
- •1. 5. Типы данных столбцов
- •Требования к памяти для символьных типов приведены в таблице.
- •2.1. Запись данных в таблицы
- •В системе Windows
- •2.2. Запрос данных из таблицы MySql select
- •Выборка данных с помощью условий
- •Операторы больше и меньше
- •Поиск текстовых данных по шаблону с помощью предложения where и оператора like.
- •2.3. Логические операторы
- •Операторы in и between
- •2.4 Команды обработки данных: поиск максимального, минимального и среднего значений, нахождение суммы и количества записей Поиск минимального и максимального значений
- •Именование столбцов as
- •Подсчет числа записей
- •Предложения group by и having
- •Удаление записей из таблицы
- •Упорядочивание данных order by
- •Ограничение количества извлекаемых данных
- •Ключевое слово distinct
- •Вложенные запросы
- •Изменение записей update
- •3.1. Математические функции MySql
- •3.2.Работа с датой и временем
- •3.3. Работа со строками
- •Insert(строка, позиция, длина, новая_строка)
- •Instr(строка, подстрока)
- •Функции сравнения строк
- •3.4. Дополнительные функции MySql
- •Битовые функции
- •Прочие функции
- •3.3.4.9 Использование нескольких таблиц
- •3.3.4.6 Работа с значениями null
- •3.3.4.9 Использование нескольких таблиц
- •Делаем дамп (бэкап) базы данных, используя утилиту mysqldump
Операторы больше и меньше
Давайте получим имена и фамилии всех сотрудников, которые старше 32 лет.
Выборка столбцов с условием "больше" для поля "возраст"
SELECT f_name, l_name from employee_data where age > 32;
Попробуем найти сотрудников, которые получают зарплату больше 120000.
Выборка столбцов с условием "больше" для поля "зарплата"
SELECT f_name, l_name from employee_data where salary > 120000;
Теперь перечислим всех сотрудников, которые имеют стаж работы в компании менее 3 лет.
Выборка столбцов с условием "меньше" для поля "стаж"
SELECT f_name, l_name from employee_data where yos < 3;
Операторы <= и >=
Используемые в основном с целочисленными данными операторы меньше или равно (<=) и больше или равно (>=) обеспечивают дополнительные возможности.
Выборка столбцов с условием "больше или равно" для поля "возраст". Выборка содержит имена, возраст и зарплаты сотрудников, которым больше 32 лет.
select f_name, l_name, age, salary from employee_data where age >= 32;
Выборка столбцов с условием "меньше или равно" для поля "стаж"
Запрос выводит имена сотрудников, которые работают в компании не более 2 лет.
select f_name, l_name from employee_data where yos <= 2;
Поиск текстовых данных по шаблону с помощью предложения where и оператора like.
Оператор сравнения на равенство (=) помогает выбрать одинаковые строки. Таким образом, чтобы перечислить имена сотрудников, которых зовут Иван, можно воспользоваться следующим оператором SELECT.
select f_name, l_name from employee_data where f_name = "Иван";
Результат поиска сотрудников, которых зовут Иван.
Как быть, если надо вывести данные о сотрудниках, имя которых начинается с буквы В? Язык SQL позволяет выполнить поиск строковых данных по шаблону. Для этого в предложении where используется оператор LIKE следующим образом.
select f_name, l_name from employee_data where f_name LIKE "В%";
Результат поиска сотрудников, имя которых начинается с буквы В приведен на рис..
Можно видеть, что здесь в условии вместо знака равенства используется LIKE и знак процент в шаблоне.
Знак % действует как символ-заместитель (аналогично * в системе DOS). Он заменяет собой любую последовательность символов. Таким образом "В%" обозначает все строки, которые начинаются с буквы В. Аналогично "%В" выбирает строки, которые заканчиваются символом В, а "%В%" строки, которые содержат букву В.
Выведем, например, всех сотрудников, которые имеют в названии должности строку "про".
select f_name, l_name, title from employee_data where title like '%про%';
Результат поиска сотрудников, в названии должности которых содержится строка "про"
Перечислим всех сотрудников, имена которых заканчиваются буквой 'а'.
mysql> select f_name, l_name from employee_data where f_name like '%a';
Результат поиска сотрудников, имена которых заканчиваются буквой 'а'
2.3. Логические операторы
Рассмотрим, как выбрать данные на основе условий SQL, представленных с помощью булевых (логических) операторов.
AND
OR
NOT
Использовать их очень просто.
Пример:
Показан оператор SELECT, который выводит имена сотрудников, которые получают более 70000, но меньше 90000.
SELECT f_name, l_name from employee_data where salary > 70000 AND salary < 90000;
Приведен результат запроса Имен сотрудников, которые получают более 70000, но меньше 90000.
Пример: Давайте выведем список сотрудников, фамилии которых начинаются с буквы К или Л.
SELECT l_name from employee_data where l_name like 'К%' OR l_name like 'Л%';
Приведен результат запроса Сотрудников, фамилии которых начинаются с буквы К или Л
Пример: Вывести список имен и возраста сотрудников, фамилии которых начинаются с К или Л, и которые младше 30 лет.
SELECT f_name, l_name , age from employee_data where (l_name like 'К%' OR l_name like 'Л%') AND age < 30;
Список имен и возраста сотрудников, фамилии которых начинаются с К или Л, и которые младше 30 лет.
Обратите внимание на использование скобок в представленном выше операторе. Скобки предназначены для выделения различных логических условий и удаления двусмысленностей.
Пример: Оператор NOT поможет при поиске всех сотрудников, которые не являются программистами. (Программисты включают старших программистов, программистов мультимедиа и программистов).
SELECT f_name, l_name, title from employee_data where title NOT LIKE "%программист%";
Список сотрудников, которые не являются программистами
Пример: Показать всех сотрудников со стажем работы в компании более 3 лет, которые старше 30 лет.
select f_name, l_name from employee_data where yos > 3 AND age > 30;
Все сотрудники, которые старше 30 лет, и имеют стаж работы более 3 лет