PHP без БД и MySQL

Переменные:

Массивы:

Функции:

Передача переменных

Глобальный массив

Инструкция INCLUDE

Типы SQL-операторов. Общий подход

SQL поддерживает много различных типов операторов и что многие из этих операторов имеют ряд опций.
Обычно SQL- операторы делятся на три категории:
операторы DDL (Data Definition Language - язык описания данных);
операторы DML (Data Manipulation Language - язык управления данными);
операторы DCL (Data Control Language - язык управления доступом к данным).


Использование операторов DDL

В MySQL операторы DDL создают, изменяют и удаляют структуры данных в базе. Позволяют делать следующее:
  • создавать и удалять базы данных (операторы CREATE DATABASE и DROP DATABASE);
  • создавать, изменять, переименовывать и удалять таблицы (операторы CREATE TABLE, ALTER TABLE, RENAME TABLE и DROP TABLE);
  • создавать и удалять индексы (операторы CREATE INDEX и DROP INDEX).

  • Использование операторов DML

    В отличие от DDL- операторов, DML- операторы больше касаются данных, которые хранятся в базе, чем структуры самой базы. Например, DDL- операторы можно применять для запроса информации из базы данных, а также для вставки, обновления и удаления данных. Позволяют выполнять перечисленные ниже действия.
  • Запрашивать из одной или более таблиц базы данных определенную информацию (оператор SELECT).
  • Вставлять данные в таблицу (операторы INSERT, REPLACE и LOAD DATA INFILE).
  • Обновлять существующие данные в таблице (операторы INSERT и REPLACE).
  • Удалять данные из таблицы (операторы DELETE FROM и TRUNCATE TABLE).
  • Чаще всего из всех DML- операторов используется оператор SELECT, который позволяет извлекать данные из одной или более таблиц в базе. Каждый раз, когда вы будете отправлять запрос в базу данных, вы будете использовать оператор SELECT. Оператор SELECT может быть как очень простым, так и очень сложным, что зависит от типа данных, которые требуется извлечь, и степени, о которой вы хотите сузить свой поиск.

    Следующий оператор SELECT извлекает данные из таблицы Parts.
    /* Извлекает данные о частях, значение в столбце CatID которых меньше 600 */
    SELECT PartName, PartID, CatID
    FROM Parts
    WHERE CatID < 600
    ORDER BY PartName;
    Первая строка - это просто комментарий, описывающий предназначение представленного кода.
    Сам оператор начинается со второй строки и состоит из четырех конструкций, каждая из которых расположена в отдельной строке.
    Конструкция - это просто раздел оператора. Конструкция обычно начинается с ключевого слова. Например, в данном операторе SELECT первой конструкцией является SELECT.
    Упомянутая конструкция всегда будет первой в любом операторе SELECT.
    Эта конструкция указывает, какие столбцы должны быть включены в запрос.
    В приведенном примере она указывает, что данные должны извлекаться из столбцов PartName (Название части), PartID (Идентификационный номер части) и CatID (Идентификационный номер категории)/
    За ней идет конструкция FROM, которая указывает, какая таблица или таблицы должны быть включены в запрос.
    Конструкция WHERE уточняет запрос посредством содержащихся в ней условий.
    В данном случае содержащееся в ней условие, которое состоит из имени столбца (CatID), операции "меньше" (<) и числа (600), указывает, что в результаты запроса должны включаться только те строки, значение в столбце CatID которых меньше 600. Последняя конструкция - ORDER BY - определяет порядок, в котором должны быть отсортированы данные в результирующем наборе запроса.
    В данном операторе SELECT она определяет, что результаты запроса должны быть отсортированы в алфавитном порядке на основании значений в столбце PartName.
    Этот оператор SELECT был приведен исключительно для того, чтобы в общем продемонстрировать, как может выглядеть DML-onepamop. Думать обо всех остальных компонентах оператора SELECT и других DML-onepamopax вам пока не нужно.
    Оператор SELECT- это сложный оператор, который может содержать огромное количество различных опций и иметь разную структуру.

    Показанный в этом примере оператор SELECT - этот только один тип DML-oneратора. MySQL позволяет использовать DML-операторы также и для вставки, обновления и удаления данных.


    Использование операторов DCL

    Если DDL- операторы определять структуру базы данных MySQL, DML-операторы - получать доступ к данным в базе и управлять ими, то операторы DCL позволяют управлять доступом к базе данных: В частности, DCL-операторы позволяют выполнять следующие действия.

  • Предоставлять привилегии доступа пользователям (оператор GRANT).
  • Отменять привилегии доступа пользователей (оператор REVOKE).

    Когда вы предоставляете доступ к базе данных, это можно делать только для каких-то определенных таблиц и только с какими-то конкретными привилегиями. То есть вы можете указать точный уровень доступа, который должен быть у каждого пользователя или группы пользователей к тем или иным данным. Например, ниже показан оператор GRANT, который предоставляет привилегии учетной записи ethan.

    /* Предоставляет привилегии пользователю ethan */
    GRANT SELECT, INSERT
    ON test.parts
    TO ethan@localhost
    IDENTIFIED BY 'pw1';

    Этот оператор состоит из четырех конструкций. Конструкция GRANT предоставляет пользователю привилегии SELECT и INSERT. Это означает, что данному пользователю разрешается выполнять в указанной базе данных операторы SELECT и INSERT. Никаких других привилегий ему не предоставляется.

    За конструкцией GRANT следует конструкция ON, которая указывает, что данному пользователю разрешается получать доступ только к таблице Parts, которая находится в базе данных test. База данных test - это образец базы данных, который устанавливается по умолчанию во время инсталляции MySQL. Вы можете использовать эту базу данных для тестирования установки и приобретения навыков работы с продуктом.

    Далее идет конструкция ТО, которая указывает, какой учетной записи предоставляются привилегии. В данном случае привилегии предоставляются учетной записи ethan. Суффикс @localhost означает, что учетной записи ethan разрешено получать доступ к таблице Parts только с локального компьютера. Сам доступ может предоставляться этой учетной записи с любого другого компьютера. Кроме того, если учетной записи ethan еще не существует, она создается.

    И, наконец, последней конструкцией в данном операторе GRANT указана IDENTIFIED BY. Эта конструкция присваивает учетной записи пароль, который в данном случае выглядит как pwl.

    ВЫВОД: Оператор SELECT, как правило, возвращает строки данных, тогда как все остальные возвращают только сообщение, информируют о том, успешно или неудачно прошло их выполнение.