28
Глава
1 .
Введение в динамическое
содержимое веб-страницы
что с ним непросто было работать, не говоря уже о трудностях, связанных с попыт-
ками объединения файлов и осуществления в них сложных поисковых операций за
какое-нибудь мало-мальски приемлемое время.
Именно в таких случаях приобретает большое значение использование реляци-
онных баз данных со структурированной системой запросов. И MySQL, будучи
совершенно бесплатной и установленной на огромном количестве веб-серверов
Интернета системой, оказывается как нельзя кстати. Она представляет собой на-
дежную и исключительно быстродействующую систему управления базами дан-
ных,
использующую команды, похожие на простые английские слова.
Высшим уровнем структуры MySQL является база данных, внутри которой
можно иметь одну или несколько таблиц, содержащих ваши данные. Предполо-
жим, например, что вы работаете над таблицей под названием
users
(пользовате-
ли), внутри которой были созданы графы для фамилий —
surname
, имен —
firstname
и адресов электронной почты —
email
, и теперь нужно добавить еще одного поль-
зователя. Одна из команд, которую можно использовать для этого, выглядит сле-
дующим образом:
INSERT INTO users VALUES('Smith', 'John', 'jsmith@mysite.com');
Разумеется, как упоминалось ранее, для создания базы данных и таблицы и на-
стройки всех нужных полей понадобится выдать и другие команды, но используе-
мая здесь команда
INSERT
демонстрирует простоту добавления в базу данных новой
информации. Команда
INSERT
является примером структурированного языка за-
просов (Structured Query Language (SQL)), разработанного в начале 1970-х годов
и напоминающего один из старейших языков программирования — COBOL. Тем
не менее он хорошо подходит для запросов к базе данных, что и предопределило
его использование в течение столь длительного времени.
Так же просто выполняется и поиск данных. Предположим, что имеется адрес
электронной почты пользователя и нужно найти имя его владельца. Для этого мож-
но воспользоваться следующим запросом MySQL:
SELECT surname,firstname FROM users WHERE email=’jsmith@mysite.com’;
После этого MySQL вернет
Smith
,
John
и любые другие пары имен, которые мо-
гут быть связаны в базе данных с адресом электронной почты.
Нетрудно предположить, что возможности MySQL простираются значитель-
но дальше выполнения простых команд вставки и выбора —
INSERT
и
SELECT
. На-
пример, можно объединить несколько таблиц в соответствии
с множеством раз-
личных критериев, запросить результаты, выбрав порядок их выдачи из множества
вариантов, найти частичные совпадения, если известна только часть искомой
строки, вернуть только конкретно заданное количество результатов и сделать
многое другое.
При использовании PHP все эти вызовы можно направлять непосредственно
к MySQL, без необходимости запуска самой программы MySQL или использова-
ния ее интерфейса командной строки. Это значит, что, для того чтобы докопаться
до нужного вам элемента данных, вы можете сохранять результаты в массивах для
их обработки и осуществления множества поисковых операций, каждая из которых
зависит от
результатов, возвращенных предыдущими операциями.