Функции и операторы в MySQL
СУБД MySQL поддерживает большинство стандартных логических и битовых операторов, операторов сравнения и, конечно же, арифметические операции, среди которых целочисленное деление «div» и взятие остатка от деления «%». Если при перемножении целых чисел результат выходит за пределы типа BIGINT, то возвращается 0. Деление на 0 в MySQL не приводит к ошибке: возвращается значение NULL. Запрашиваемый… Читать ещё >
Функции и операторы в MySQL (реферат, курсовая, диплом, контрольная)
СУБД MySQL поддерживает большинство стандартных логических и битовых операторов, операторов сравнения и, конечно же, арифметические операции, среди которых целочисленное деление «div» и взятие остатка от деления «%». Если при перемножении целых чисел результат выходит за пределы типа BIGINT, то возвращается 0. Деление на 0 в MySQL не приводит к ошибке: возвращается значение NULL.
Как и другие СУБД, MySQL обладает большим числом встроенных функций, среди которых математические, функции даты и времени, функции работы со строками, функции шифрования данных и многие другие. Полный список этих функций можно увидеть в [1]. Следует отметить, что синтаксис MySQL не допускает использования пробела между именем функции и круглыми скобками, которые обязательны даже в случае отсутствия аргументов.
MySQL и РНР.
Создание простого сценария на PHP
Для работы с MySQL используются различные языки программирования, в числе которых Perl, Java, C++, Python и др. Опишем взаимодействие СУБД MySQL (предпочитаемую многими хост-провайдерами) и языка PHP как наиболее популярного средства создания Интернет-приложений.
Напомним, что Интернет работает по принципу «клиент-сервер». Клиент (обычно браузер) посылает запрос серверу, сервер обрабатывает запрос и посылает клиенту ответ.
Запрашиваемый браузером URL может указывать на статическую html-страницу (в этом случае содержимое страницы отобразится на экране браузера) или на скрипт, т. е. специальную программу, которая выполняется на сервере и генерирует содержимое страницы, посылаемой обратно в браузер. Скрипту может быть передана некоторая информация, например, данные html-форм.
Простой скрипт на языке РНР выглядит как html-документ со вставками кода, исполняемого на сервере.
Для написания и отладки скриптов на локальном компьютере необходимо установить web-сервер Apache, а также сопутствующее ПО. Весьма удобно использовать систему «Денвер», которая включает в себя Apache, PHP, MySQL, Perl и другие средства, применяемые при разработке web-приложений. Базовый пакет «Денвера» можно скачать по адресу http://web.dklab.ru.
После запуска «Денвера» на компьютере создается виртуальный диск (обычно Z), содержащий каталоги etc, home, tmp, usr. В каталоге home следует создать новую папку, чье имя совпадает с именем будущего виртуального хоста, например myhost.ru (или myhost). В созданном каталоге необходимо поместить папку www, в которой и будут располагаться скрипты (сценарии). Для того чтобы создать новый виртуальный хост необходимо перезапустить «Денвер». Теперь обратиться к сценарию myscript. php, расположенному в папке Z: homemyhost. ruwww можно из строки браузера следующим образом: http://myhost.ru/myscript.php.
Если скрипт имеет имя index. php, то он вызывается по умолчанию:
http://myhost.ru/.
Пусть на сервере уже существует база данных DB, содержащая таблицу tbl. Таблица tbl содержит два столбца: id_name (первичный ключ с атрибутом auto_increment) и name.
Создадим сначала файл connect. php, который можно будет включать в любые РНР-сценарии для соединения с базой DB.
Файл connect.php.
$hostname='имя_xocтa'; // создание переменной.
//$hostname.
$user='имя_пользователя'; // создание переменной.
// $user.
$pass='пароль'; // создание переменной.
// $pass.
$DBname='DB'; // создание переменной.
// $DBname.
$db_connection=mysql_connect ($hostname,$user,$pass);
// установление соединения с сервером MySQL.
mysql_select_db ($DBname); // выбор базы данных.
?> //конец кода php.
Переменные $hostname и $user хранят имя и пароль одного из пользователей, зарегистрированных в MySQL. В качестве имени хоста может указываться localhost. В переменной $db_connection хранится ссылка на созданное соединение. Большинство функций РНР для работы с MySQL принимают ее в качестве необязательного аргумента.
Выполнение SQL-запросов к базе данных выполняется в php-сценариях следующим образом:
$query='SQL-запрос';
$query_result=mysql_query ($query);
В переменной $query_result хранится ссылка на результат выполнения запроса, т. е. указатель на данные, возвращенные MySQL.
Создадим сценарий index. php, который выводит html-форму, заносит в базу данных введенную в нее информацию и выводит содержимое базы в браузер.
Файл index.php.
php //Если форма отправлена,.
.//обработать ее:
if (isset ($_POST['submit'])) {.
// подключить файл connect. php:
include_once («connect.php»);
$name=$_POST['name']; //"взять" в переменную $name.
//строку, переданную из.
//поля html-формы name.
//Создать запрос:
$query="INSERT INTO tbl VALUES (NULL,'$name')" ;
// Выполнить запрос:
$query_result=mysql_query (Squery);
//выполнить самопереадресацию:
Header («Location:
{$_SERVER['SCRIPT_NAME']}?" .time ());
exit ();
//вывести данные из таблицы DB в браузер
$query_result=mysql_query ('SELECT * FROM tbl');
while ($row=mysql_fetch_array ($query_result)){.
echo’name:'.$row[1]. ' ';
}.
} else { //Если форма не отправлена,.
//вывести ее: для упрощения кода.
//выйти из режима интерпретатора РНР:
?>
Введите имя.
value="Отправить!" />
?>
Рассмотрим некоторые детали этого скрипта. Данные, переданные web-серверу с помощью html-формы методом POST, доступны в php-сценариях как элементы массива $_POST, например $_POST['submit'].
Запрос INSERT INTO tbl VALUES (NULL,'$name') используется для вставки новой записи в таблицу. Применение NULL в данном случае повлечет за собой присвоение атрибуту id_name очередного порядкового номера.
Самопереадресация (указание браузеру перейти заново к адресу текущего скрипта) после процедуры вставки данных необходима для того, чтобы при нажатии кнопки «обновить» в браузере только что добавленные данные не добавлялись в базу повторно.
Функция mysql_fetch_array () возвращает по одной строке результат выборки данных в виде массива. Цикл.
while ($row=mysql_fetch_array ($query_result)).
выполняется до тех пор, пока есть еще данные. Элемент массива $row[1] является вторым (содержит значение name), т.к. нумерация элементов массива в РНР начинается с 0. Подробную информацию о программировании на РНР можно почерпнуть в [4].