Основные приемы работы с СУБД MySQL, используя язык программирования PHP |
В программировании часто возникает задача работы с большими объемами данных. Даже когда структура данных спроектирована, часто не хочется придумывать и реализовывать эффективные способы работы с этими данными, а именно такие, как выбор, изменение, сортировка, хранение. В таких случаях к нам приходит на помощь СУБД, которая берет все эти функции на себя. В нашем случае, в роли СУБД будет выступать MySQL. Функции для работы с СУБД MySQL имеются и в PHP4, и в PHP5. В PHP4 функции работы с MySQL доступны сразу, а для использования этих функций в PHP5 надо убедиться, что в конфигурационном файле php.ini подключено расширение для работы с MySQL, а именно, должна быть активной строчка:
Последнюю версию MySQL можно скачать с сайта разработчика: В данной статье рассмотрим основные приемы работы с СУБД MySQL, используя язык программирования PHP. 1. Соединение с сервером MySQL и подключение к базе данныхСоединиться с сервером СУБД MySQL можно при помощи функции mysql_connect(), которой достаточно передать путь к серверу, имя пользователя и пароль к MySQL. Например, следующий код позволит подключиться к MySQL, находящейся на локальной машине, с именем root и с пустым паролем:
Далее необходимо выбрать базу данных, с которой будем работать. На сервере MySQL может находиться множество различных баз данных и в каждой базе данных может быть множество таблиц. Если базы данных на сервере еще не создано, её необходимо создать. Для создания базы данных MySQL в PHP рекомендуется использовать следующий код:
где myDataBase - это произвольное название создаваемой базы данных. Функция mysql_query() - отправляет произвольный запрос в СУБД MySQL, написанный на языке SQL. В нашем случае, мы отправили запрос на создание базы данных. Для подключения к базе данных используется функция mysql_select_db(), которой необходимо передать название базы данных. Например,
2. Создание таблицыВ каждой базе данных MySQL может быть создано множество таблиц. Для примера, создадим таблицу телефонного справочника, в которой будут храниться ФИО абонентов и номера телефонов.
Данный запрос можно прочитать так: если таблица phones не создана, то создаем таблицу phones, с полями: id - идентификатор записи и первичный ключ, fio - текстовое поле, длиной не более 100 символов, phone - текстовое поле, длиной не более 50 символов. В созданную таблицу можно записать произвольное количество записей. 3. Запрос на запись данныхДля того, чтобы записать данные в созданную нами таблицу, напишем следующий запрос:
Этой строкой мы добавили новую запись в базу данных. В поле fio добавили строку 'Пупкин Василий', в поле phone добавили строку '123-45-67'. Поле id заполнилось автоматически. Добавьте еще несколько произвольных записей самостоятельно. 4. Запрос на выборку данныхДля того, чтобы выбрать все данные из таблицы phones и распечатать их на экране, напишем следующий программный код:
В переменную $r - попадет результат работы запроса. Для того, чтобы извлечь из него данные их всех записей БД, применим следующий программный код:
функция mysql_fetch_array() позволяет работать с одной текущей записью из базы данных, организуя данные из этой строки в виде массива. Так, например, запись из поля fio таблицы попадает в ассоциативный массив $row['fio']. Можно выводить не все записи, а записи удовлетворяющие какому-либо условию, например, если вместо
написать запрос
то получим список абонентов, фамилии которых начинаются на букву 'П'. Если написать запрос
то записи будут упорядочены по алфавиту. А если написать запрос
то записи будут упорядочены обратно алфавиту. 5. Запрос на изменение данныхЕсли данные требуют изменения, то можно написать запрос, на изменение данных. Например, следующим запросом заменим в базе данных абонентов телефон '123-45-67', заменим на '765-43-21'.
6. Запрос на удаление данныхДля того, чтобы удалить данные из таблицы phones, необходимо написать следующий запрос,
Такой запрос удалит все данные из таблицы. Скорее всего нам потребуется удалить только данные, удовлетворяющие какому-либо условию, например, удалить все записи, фамилии в которых начинаются на букву 'П'. Для этого напишем так:
7. Запрос на удаление таблицыУдалить таблицу phones из базы данных MySQL при помощи PHP можно следующим запросом:
8. Запрос на удаление базы данныхУдалить базу данных MySQL можно следующим запросом:
|