- •Лабораторные работы 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
2.2. Запрос данных из таблицы MySql select
Запрос данных выполняется с помощью команды MySQL SELECT.
В общем виде синтаксис оператора SELECT имеет следующий вид:
SELECT [ALL/DISTINCT] <список атрибутов>/*
FROM <список таблиц>
[WHERE <условие выборки>]
[ORDER BY <список атрибутов>]
[GROUP BY <список атрибутов>]
[HAVING <условие>]
[UNION<выражение с оператором SELECT>]
В квадратных скобках указываются элементы, которые могут в запросе отсутствовать.
Ключевое слово ALL означает, что результатом будут все строки, удовлетворяющие условию запроса, в том числе и одинаковые строки. DISTINCT означает, что в результирующий набор не включаются одинаковые строки. Далее идет список атрибутов исходной таблицы, которые будут включены в таблицу-результат. Символ* означает, что в таблицу-результат включаются все атрибуты исходной таблицы.
Обязательным ключевым словом является слово FROM, за ним следуют имена таблиц, к которым осуществляется запрос.
В предложении с ключевым словом WHERE задаются условия выборки строк таблицы. В таблицу-результат включаются только те строки, для которых условие, указанное в предложении WHERE, принимает значение истина.
Ключевое слово ORDER BY задает операцию упорядочения строк таблицы-результата по указанному списку атрибутов.
В предложении с ключевым словом GROUP BY задается список атрибутов группировки (разъяснение этого и последующего ключевого слова будет представлено немного позднее).
В предложении HAVING задаются условия, накладываемые на каждую группу.
Ключевые слова FROM, WHERE ORDER BY используются аналогичным образом и в других операторах манипулирования данными языка SQL.
Короче можно записать:
SELECT имена_столбцов FROM имя_таблицы [WHERE ...условия];
Часть оператора с условиями является необязательной (мы рассмотрим ее позже). По сути, требуется знать имена столбцов и имя таблицы, из которой извлекаются данные.
Оператор SELECT без условий выводит все данные из указанных столбцов.
Примеры:
Чтобы извлечь имена и фамилии всех сотрудников, выполните следующую команду.
SELECT 1_name, 2_name from rabotniki_data;
Эта команда выводит все данные из столбцов 1_name и 2_name.
При ближайшем рассмотрении можно заметить, что данные представлены в том порядке, в котором они были введены. Более того, последняя строка указывает число строк в таблице - 2.
Чтобы вывести всю таблицу, можно либо ввести имена всех столбцов, либо воспользоваться упрощенной формой оператора SELECT.
SELECT * from rabotniki_data;
Символ * в этом выражении означает 'ВСЕ столбцы'. Поэтому этот оператор выводит все строки всех столбцов.
Рассмотрим ещё один пример.
SELECT 1_name, 2_name, vozrast from rabotniki_data;
Выборка данных с помощью условий
Теперь более подробно рассмотрим формат оператора SELECT.
Его полный формат имеет вид:
SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
Одним из достоинств RDBMS является возможность извлекать данные на основе определенных условий.
Перейдём к рассмотрению операторов сравнения.
Операторы сравнения = и !=
Выборка столбцов с условием для поля "имя".
SELECT f_name, l_name from employee_data where f_name = 'Иван';
Этот оператор выводит имена и фамилии всех сотрудников, которые имеют имя Иван. Отметим, что слово Иван в условии заключено в одиночные кавычки. Можно использовать также двойные кавычки. Кавычки являются обязательными, так как MySQL будет порождать ошибку при их отсутствии. Кроме того сравнения MySQL не различают регистр символов, что означает, что с равным успехом можно использовать "Иван", "иван" и даже "ИвАн".
Выборка столбцов с условием для поля "должность":
SELECT f_name,l_name from employee_data where title="программист";
Выбирает имена и фамилии всех сотрудников, которые являются программистами.
Выборка столбцов с условием для поля "возраст"
SELECT f_name, l_name from employee_data where age = 32;
Это список имен и фамилий всех сотрудников с возрастом 32 года. Вспомните, что тип столбца age был задан как int, поэтому кавычки вокруг 32 не требуются. Это - незначительное различие между текстовым и целочисленным типами столбцов.
Оператор != означает 'не равно' и является противоположным оператору равенства.
