Перейти к содержимому

Фотография

Изучаем основы PHP. Базы данных. SQL-запросы

php программирование sql

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 GoodX

GoodX

    Свой человек

  • Клиент Info-DVD.Ru
  • PipPipPipPipPip
  • 533 сообщений
178
Очень хороший
  • Пол:Мужчина

Отправлено 02 Сентябрь 2012 - 19:56

Для полноценной работы большинства современных PHP-сайтов, необходимо взаимодействие с базой данных. Например, все статьи и записи блога хранятся не в файлах, а в соответствующих таблицах базы данных, к которой подключен сайт.
В этой статье мы рассмотрим ключевые команды языка SQL. Это необходимо знать потому, как PHP при работе с базами данных использует именно этот язык.

Предполагается, что вы имеете базовое представление о том, что такое реляционные базы данных, таблицы, первичный ключ, запрос, выборка и другие базовые понятия, необходимые для работы с базами данных.
Итак, SQL – это язык структурированных запросов. Этот язык создан для того, чтобы создавать, изменять и управлять реляционными базами данных. Запросы, как правило, формируются внешним скриптом. Им же они передаются к системе управления базами данных, там обрабатываются, и полученный результат возвращается обратно скрипту, если это предполагалось согласно логике программы.

SQL-запросы можно разделить на две группы:
  • DDL
  • DML
DDL – язык описания данных. Это запросы, которые меняют структуру базы данных. Например, они создают таблицы, удаляют их, добавляют к уже существующей таблице новые столбцы.

DML – язык модификации данных. Это запросы, которые относятся не к структуре, а к содержанию баз данных. То есть не к таблицам и их столбцам, а к строкам. Эти запросы осуществляют добавление новых строк, удаление, изменение, либо выборку строк по определенным параметрам.

На протяжении использования программы, чаще всего используются DML-запросы. Большинство же проектов не требуют того, чтобы скрипт автоматически создал базу данных. Поэтому DDL-запросы чаще всего выполняют не вручную, а через специальную СУБД, где путем нажатия на обычные кнопочки можно, как создать, так и удалить, или перенастроить таблицу, не вдаваясь в подробности синтаксиса языка SQL.

Поэтому опустим работу с DDL-запросами, и перейдем напрямую к запросам DML.

Представим себе, что у нас уже создана простая таблица для хранения данных подписчиков.

Таблица Subscribers

clip_image002.jpg

Здесь мы видим три столбца, названия которых: id, Name и Email.

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

INSERT INTO Subscribers (Name, Email) VALUES (‘Петр’, ‘emailpetr@gmail.com’);

Здесь все просто. Особенно для тех, кто знает английский язык.

INSERT – ВСТАВИТЬ;
INTO – В;
Subscribers – на месте этого слова нужно напечатать название изменяемой таблицы;

Далее в скобочках через запятую без кавычек указываем названия столбцов, которые должны быть заполнены в новой строке;

VALUES – ЗНАЧЕНИЯ;

Далее в скобках через запятую в кавычках указываем значения столбцов, причем в том же порядке, что мы указали названия столбцов в предыдущих скобках.

После выполнения данного запроса таблица должна обрести следующий вид:

clip_image003.jpg

Столбец id заполнился автоматически, так как это первичный ключ и при создании таблицы ему была задана соответствующая настройка.

Удаление строк

Для того, чтобы удалить строки, необходимо воспользоваться следующим запросом:

DELETE FROM Subscribers WHERE id = ‘2’

Что означает следующее: удалить из таблицы Subscribers строку со значением id, равным 2.

Модификация строк

UPDATE Subscribers SET NAME = ‘GoodXInfo’ WHERE id = ‘1’

Что означает следующее: обновить в таблице Subscribers значение Name в строке, id которой равно 1.

Выборка строк

С помощью оператора SELECT можно осуществлять сложнейшие запросы по выборке данных из таблиц. Однако на практике в веб-программировании чаще всего пригождаются лишь несколько простейших запросов. Их-то мы и приведем здесь в качестве примера.

Представим себе, что наша таблица подписчиков имеет гораздо более сложную структуру, и содержит в себе уже множество строк. Как мы можем осуществить выборку из этой таблицы?

Осуществить выборку всех данных из таблицы Subscribers:

SELECT * FROM Subscribers

Осуществить выборку только тех подписчиков, которые подписаны на рассылку «Название рассылки»

SELECT * FROM Subscribers WHERE sub_name = ‘Название рассылки’

Осуществить выборку только тех подписчиков, что подписаны на рассылку «Название рассылки» и отсортировать их по дате подписки и email


SELECT * FROM Subscribers WHERE sub_name = ‘Название рассылки’ ORDER BY data, email

После команды ORDER BY стоят названия столбцов, по которым нужно сортировать данные. Если по столбцу data встретятся две одинаковых строки, то они будут отсортированы по столбцу email.

Получить имя человека, с email = email@gmail.com


SELECT Name FROM Subscribers WHERE email = ‘email@gmail.com’

Получить общее количество всех подписчиков

SELECT count (*) FROM Subscribers

Запомните синтаксис всех этих видов запросов, и этого будет вполне достаточно для большинства ваших первых простых проектов.

Все статьи этой серии:

Сообщение отредактировал GoodX: 04 Сентябрь 2012 - 02:36

  • 0

На правах рекламы





Темы с аналогичным тегами php, программирование, sql

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей