Работа с таблицами. Внесение, извлечение, поиск и удаление данных
Запрос данных из таблицы MySQL
Таблица employee_data содержит теперь достаточно данных, чтобы можно было начать с ней работать. Запрос данных выполняется с помощью команды MySQL SELECT. Оператор SELECT имеет следующий формат:
SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
Часть оператора с условиями является необязательной (мы рассмотрим ее позже). По сути, требуется знать имена столбцов и имя таблицы, из которой извлекаются данные.
Например, чтобы извлечь имена и фамилии всех сотрудников, выполните следующую команду.
SELECT f_name, l_name from employee_data;
Оператор приказывает MySQL вывести все данные из столбцов f_name и l_name. Результат работы оператора представлен на рис. 5.2.
При ближайшем рассмотрении можно заметить, что данные представлены в том порядке, в котором они были введены. Более того, последняя строка указывает число строк в таблице - 21.
Чтобы вывести всю таблицу, можно либо ввести имена всех столбцов, либо воспользоваться упрощенной формой оператора SELECT.
SELECT * from employee_data;
Символ * в этом выражении означает 'ВСЕ столбцы'. Поэтому этот оператор выводит все строки всех столбцов.
Рассмотрим ещё один пример.
SELECT f_name, l_name, age from employee_data;
Выборка столбцов f_name, l_name и age представлена на рис. 5.3.
Задания
1. Напишите оператор SQL для создания новой базы данных с именем addressbook
2. Какой оператор используется для получения информации о таблице? Как используется этот оператор?
3. Как получить список всех баз данных, доступных в системе?
4. Напишите оператор для записи следующих данных в таблицу employee_data
Имя: Рудольф Фамилия: Курочкин Должность: Программист Возраст: 34 Стаж работы в компании: 2 Зарплата: 95000 Надбавки: 17000 email: rudolf@yandex.ru
5. Приведите две формы оператора SELECT, которые будут выводить все данные из таблицы employee_data.
6. Как извлечь данные столбцов f_name, email из таблицы employee_data?
7. Напишите оператор для вывода данных из столбцов salary, perks и yos таблицы employee_data.
8. Как узнать число строк в таблице с помощью оператора SELECT?
9. Как извлечь данные столбцов salary, l_name из таблицы employee_data?
Возможные решения
1. create database addressbook;
или
CREATE DATABASE addressbook;
Примечание: Операторы SQL не различают регистр символов, однако имена таблиц и имена баз данных могут различать регистр символов, в зависимости от используемой операционной системы.
2. Оператор DESCRIBE, например:
DESCRIBE employee_data;
3. SHOW DATABASES; (в приглашении mysql)
4.
INSERT INTO employee_data (f_name, l_name, title, age, yos, salary, perks, email) values ("Рудольф", "Курочкин", "программист", 34, 2, 95000, 17000, "rudolf@yandex.ru");
Примечание: Текстовые строки заключаются в кавычки.
5. SELECT emp_id, f_name, l_name, title, age, yos, salary, perks, email from employee_data;
или
SELECT * from employee_data;
Вторая форма лучше. Ее легче использовать и труднее ошибиться.
6. Чтобы вывести данные столбцов f_name и email, используем следующий оператор.
select f_name, email from employee_data;
7. SELECT salary, perks, yos from employee_data;
8. Последняя строка вывода любого оператора SELECT содержит число полученных строк. Поэтому при выводе всех данных в любом столбце (или всех столбцах), последняя строка будет указывать число строк в таблице.
9. select salary, l_name from employee_data;