Запросы к базе данных


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

В запросах часто используется команда select, которая позволяет извлечь нужную информацию из одной или нескольких таблиц.

Для диалога с сервером баз данных запустим клиентскую программу MySQL Command Line Client, а затем подадим команду выбора базы данных:

mysql>USE taxi

Теперь запрашиваем данные о модели и цвете автомобилей автопарка:

 

mysql>SELECT model, color FROM cars;

 

Результат запроса представлен ниже:

 

SELECT — ключевое слово, которое сообщает серверу баз данных о запросе, на извлечение данных;

model, color — список столбцов, которые выбираются из таблицы и помещаются в результирующую выборку в памяти;

FROM - ключевое слово, за которым следует список таблиц, где находится извлекаемая информация.

Если данных в таблице немного, то можно запросить их все:

mysql>SELECT * FROM table_name;

Здесь символ звездочки означает, что следует выбрать значения из всех столбцов. Но чаще запрашивают значения отдельных полей, поскольку обра­ботка такого запроса требует меньших ресурсов.

Например, запросим все данные из таблицы cars:

 

Выясним, какие водители работали за то время, пока ведется учет с помощью базы. Нам нужен только список водителей из таблицы timetable, без повто­ров.

distinct — параметр в запросе select, дающий возможность исключить по­вторяющиеся данные из результатов запроса.

mysql>SELECT DISTINCT driver_number FROM timetable;

 

Результат запроса будет таким:

 

Результат получился действительно без повторений, но ненагляд­ный — указаны номера, а не фамилии водителей. Но фамилии находятся в другой таблице. Как выбрать данные из двух и более таблиц, мы узнаем, рассмотрев способы объединения таблиц.

 

Утилиты MySQL

Интерфейс MySQL Command line client, с которым мы работали в предыду­щем разделе, удобен, но не позволяет использовать функциональность утилиты mysql полностью. Кроме того, в состав MySQL входит еще ряд полезных утилит, с одной из которых, mysqldump, необходимо познакомиться даже начинающим.

4.1. Утилита командной строки mysql

Утилита mysql может работать в двух режимах: интерактивном и пакетном. Клиентская утилита mysql запускается в интерактивном режиме в DOS-окне, когда в меню выбирается пункт Command line client. До MySQL 5 в комплекте поставки сервера не было такой возможности запуска mysql, и приходилось заходить следующим способом: щелкаем по кнопке Пуск, выбираем пункт меню Выполнить и в появившемся окне Запуск программы набираем cmd. Появляется DOS-окно со строкой, содержащей имя текущего каталога, — это приглашение ввести команду.

Утилиты предназначены для работы с сервером и при запуске потребуют указать имя пользователя, под которым мы хотим подключиться к серверу, и пароль. При конфигурировании сервера MySQL мы указали пароль для суперпользователя root, теперь следует им снова пора воспользоваться. Обычно для получения доступа к серверу MySQL необходимо сообщить клиентской программе имя хоста, с которым вы хотите соединиться. Например, утилиту mysql можно запустить следующим образом:

> mysql –h host_name –u user_name –pyour_pas

Здесь ключ –h указывает на то, что дальше последует имя хоста, к которому мы хотим подключиться. По умолчанию подключение осуществляется к серверу localhost. Ключ –u означает, что за ним следует имя пользователя, осуществляющего соединение, а после ключа –p указывается пароль. Обратите внимание на то, что пробела перед паролем нет.

Формат вызова утилиты mysql в нашем случае будет таким:

> mysql –u root -p

После ключа –p не указан пароль. Мы знаем, что он нужен, но не хотим вводить его сразу, а дождемся приглашения (нажмем Enter) и введем так, чтобы информация осталась конфиденциальной (набираемый пароль отображается на экране звездочками. После ввода пароля мы должны увидеть приветствие и приглашение командной строки уже самой утилиты mysql:

Завершение сеанса работы происходит по команде mysql>quit

Существует возможность повтора ранее поданных команд: щелчками по кнопкам со стрелками вверх и вниз.

Для работы с утилитой в пакетном режиме следует написать сценарий, состоящий из последовательности команд SQL, которые предстоит исполнить для создания базы и таблиц, входящих в базу. Сценарии принято хранить в файлах с расширением «sql». При исправлении ошибок в сценарии вы запускаете его несколько раз, но уже при повторном запуске получаете сообщение о том, что нельзя создать уже существующую таблицу. Значит, следует предварять создание таблицы командой:

mysql> DROP TABLE IF EXISTS table_name;

 

Тогда сценарий создания и заполнения таблицы cars будет выглядеть так:

use taxi;

DROP TABLE IF EXISTS cars;

CREATE TABLE cars (

model CHAR(50) NON NULL,

madein YEAR(4) NOT NULL,

reg_number CHAR(12) NOT NULL,

color CHAR(15) NOT NULL,

id SMALLINT AUTO_INCREMENT,

PRIMARY KEY(id)

);

 

INSERT INTO cars VALUES

('Volga', '2003', 'A786YC78', 'white', '1' ) ,

('Volga', '2002 ', 'A788YC78', 'yellow', ‘2’ ) ,

(Volkswagen', '2003', 'A789YC78', 'red', ’3’ );

 

Скрипт создается в любом текстовом редакторе.После завершения написания скрипта, его можно воспроизвести в сервере MySQL следующим образом:

>mysql –u root –p < c:\temp\taxi.sql

 

Не забудьте указать путь к вашему скрипт-файлу, как показано в примере.

Здесь taxi.sql – это созданный скрипт-файл.

4.2. Утилита mysqldump

Утилита mysqldump позволяет получить дамп ("моментальный снимок") со­держимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер баз данных. Дамп будет содер­жать набор команд SQL для создания и заполнения таблиц. Для создания дампа подается команда

mysqldump –u root –p taxi > c:\temp\script.sql

script.sql – название файла, в котором содержатся все SQL-инструкции созданной базы данных. В данном примере файл сохранен в папке temp на диске C.

 

Дамп базы данных taxi:



Дата добавления: 2020-10-25; просмотров: 251;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.