Опубликован: 16.01.2007 | Уровень: для всех | Доступ: платный
Лекция 5:

Работа с таблицами. Внесение, извлечение, поиск и удаление данных

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >

Запрос данных из таблицы MySQL

Таблица employee_data содержит теперь достаточно данных, чтобы можно было начать с ней работать. Запрос данных выполняется с помощью команды MySQL SELECT. Оператор SELECT имеет следующий формат:

SELECT имена_столбцов from имя_таблицы [WHERE ...условия];

Часть оператора с условиями является необязательной (мы рассмотрим ее позже). По сути, требуется знать имена столбцов и имя таблицы, из которой извлекаются данные.

Например, чтобы извлечь имена и фамилии всех сотрудников, выполните следующую команду.

SELECT f_name, l_name from employee_data;

Оператор приказывает MySQL вывести все данные из столбцов f_name и l_name. Результат работы оператора представлен на рис. 5.2.

Вывод данных из таблицы

Рис. 5.2. Вывод данных из таблицы

При ближайшем рассмотрении можно заметить, что данные представлены в том порядке, в котором они были введены. Более того, последняя строка указывает число строк в таблице - 21.

Чтобы вывести всю таблицу, можно либо ввести имена всех столбцов, либо воспользоваться упрощенной формой оператора SELECT.

SELECT * from employee_data;

Символ * в этом выражении означает 'ВСЕ столбцы'. Поэтому этот оператор выводит все строки всех столбцов.

Рассмотрим ещё один пример.

SELECT f_name, l_name, age from employee_data;

Выборка столбцов f_name, l_name и age представлена на рис. 5.3.

Выборка столбцов f_name, l_name и age

Рис. 5.3. Выборка столбцов f_name, l_name и age

Задания

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;

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Александра Каева
Александра Каева
Диляра Кенжебай
Диляра Кенжебай
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19