Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

В этом окне мы и будем обучаться MySQL.

Краткий справочник по командам MySQL.

Прежде всего настоятельно рекомендуется прочитать главу из документации "Tutorial Introduction",где изложены основы взаимодействия с MySQL, и статью "Реализация языка SQL в СУБД MySQL". Мы же рассмотрим лишь небольшую часть команд MySQL.

Сначала давайте рассмотрим структуру баз данных. Схематично она выглядит следующим образом:

база данных 1

таблица 1.1

таблица 1.2

таблица 1.n

база данных 2

таблица 2.1

...

база данных n

таблица n.1

Таким образом, данные по сути содержатся в таблицах, которые в свою очередь объединены в группу базы данных. Тем самым, чтобы начать работу с MySQL нам требуется прежде всего создать базу данных, с которой мы будем взаимодействовать.

CREATE.

Итак, в консоли пишем запрос:

CREATE database myphp;

Мы говорим MySQL создать базу данных с именем "myphp", причем регистр ключевых слов несущественен, но порядок слов в запросе не может быть изменен.

Теперь выберем только что созданную базу для работы с ней:

USE myphp;

И, как вы наверное уже догадались, нам необходимо создать таблицу, с которой мы будем работать. Пусть это будет таблица "lessons".

CREATE table lessons (
id int auto_increment primary key,
title varchar(250),
body mediumtext,
pub_date datetime default now(),
enable enum('0', '1') default '1'
);

Заметьте: то, сколько строк занимает запрос, несущественно: концом запроса является лишь символ ";".

Итак, мы создали таблицу lessons с 5 полями: id урока, представяющий собой уникальное число большее нуля, которое будет генерироваться автоматически при добавлении новой записи в таблицу путем увеличения максимального id на единицу (auto_increment); title - название урока длиной до 250 символов; body - собственно, сам урок, представляющий собой текст; pub_date - дата и время публикации урока; enable - флаг, который указывает, доступен ли урок посетителям, поле может иметь только два значения: '0' и '1', причем по умолчанию установлено '1'.

НЕ нашли? Не то? Что вы ищете?

INSERT.

Теперь все готово, и мы можем приступить непосредственно к работе с данными. Сначала добавим в таблицу новую запись:

INSERT INTO lessons VALUES (
"",
"Начала",
"Прежде всего нужно сказать: PHP-скрипт для его выполнения должен быть заключен в следующие последовательности символов...",
'now()',
"1"
);

Итак, в таблице lessons у нас появилась новая запись, значения которой для каждого поля указываются в скобках после слова values (...). Причем заметьте, что мы пропустили ("") поле, которое заполняется автоматически - это поле id. Обратите внимание, на MySQL-функцию now(), которая возвращает текущее значение времени.

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

INSERT into lessons (title, body) values (
"Формы всего сущего",
"На прошлом уроке мы научились передавать данные в php скрипт..."
);

Все остальные поля, не указанные нами, будут заполнены автоматически, причем для полей pub_date и enable применятся значения по умолчанию.

SELECT.

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

SELECT * from lessons;

Значок "*" указывает, что мы хотим увидеть все поля таблицы lessons. Но также можно производить и выборочный вывод:

SELECT title, pub_date from lessons;

Также возможно выбирать не все записи в таблице, а удовлетворяющие определенным условиям:

SELECT title FROM lessons WHERE id = '1';

Тем самым мы выберем название только первого урока.

Также мы можем отсортировать данные перед выводом, используя команду ORDER.

SELECT id, title FROM lessons ORDER BY title;

Сортировка в обратном порядке производиться путем указания директивы DESC.

MySQL позволяет ограничить количество записей для вывода. Для примера выведем id и название последнего добавленного урока, подразумевая, что мы не знаем, какой id он имеет:

SELECT id, title FROM lessons ORDER BY id DESC LIMIT 1;

Сначала мы отсортировали все записи по id в обратном порядке, так что запись с максимальным id оказалась первой, и вывели только одну эту запись. Должна возвратиться таблица с id, равным 2, и title "Формы всего сущего".

MySQL также предоставляет функции COUNT(поле) для подсчета элементов, занесенных в указанное поле, MAX(поле) и MIN(поле) для определения максимального и минимального элемента соответственно, а также SUM(поле) для подсчета суммы элементов поля. К примеру:

SELECT COUNT(*), MAX(pub_date), SUM(id) FROM lessons;

UPDATE.

Предположим, что по какой-либо причине мы хотим на время скрыть урок 2 от посетителей. Для этого изменим поле enable, установив его равным нулю.

UPDATE lessons SET enable = '0' WHERE id = 2;

Таким образом можно изменить любое поле таблицы.

ALTER.

Команда ALTER TABLE позволяет изменить уже созданную таблицу. Например, в нашей таблице lessons после поля body вставим поле author.

ALTER TABLE lessons ADD author VARCHAR(200) DEFAULT 'Артем Акатов' AFTER body;

А теперь удалим эту колонку:

ALTER TABLE lessons DROP author;

Тем самым мы свободно можем манипулировать как создаваемыми объектами, так и уже давно созданными.

Как видите, синтаксис MySQL не отличается сложностью. Если вы более или менее владеете английским языком, вы без проблем освоите команды MySQL, к тому же они вполне интуитивно понятны. Мы разобрали лишь часть из них, для получения полной информации прочтите соответствующую официальную документацию.

А на следующем уроке мы займемся уже работой с MySQL посредством PHP. До встречи!

Урок 16. MySQL и PHP.

Человек живет только для того, чтобы учиться...
Карлос Кастанеда. Учение Дона Хуана.

Итак, на прошлом уроке мы познакомились с базой данных MySQL и рассмотрели использование некоторых ее операторов. Теперь же настало время применить полученные знания в программировании на PHP, и на сегодняшнем уроке мы рассмотрим взаимодействие MySQL с этим языком вебпрограммирования.

Соединение с MySQL.

Прежде, чем начать работу с базой данных, необходимо создать соединение с сервером MySQL. Этим и занимается функция mysql_connect(). Она должна быть вызвана до каких-либо других функций работы с MySQL, в противном случае они возвратят ошибки.

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

Выбор или создание базы данных.

Вторым шагом при работе с MySQL чаще всего становится выбор базы данных для дальнейшей работы, либо создание новой базы данных.

Создание базы данных осуществляет функция mysql_create_db().

mysql_create_db(имя базы данных, [идентификатор соединения]);

Имя базы данных может состоять из любых символов, используемых для задания имени директорий на сервере, исключая символы '/', '\', '.'.

Идентификатор соединения есть результат выполнения функции mysql_connect или mysql_pconnect.

Для дальшейшей работы с базой данных вы должны ее выбрать. Выбор базы данных осуществляется функцией mysql_select_db(). Ее синтаксис выглядит следующим образом:

mysql_select_db(имя базы данных, [идентификатор соединения]);

Запросы в MySQL.

Пожалуй, самая универсальная функция для работы с MySQL - mysql_query(). Она может заменить практически любую функцию работы с базами данных MySQL, исключая mysql_connect() и mysql_close().

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

Например, с помощью нее мы можем создать базу данных, не используя вышерассмотренную функцию mysql_create_db().

$link = mysql_connect('somehost. ru', 'artem', '123456') or die("Не могу соединиться");
mysql_query("CREATE database my_db", $link) or die("Ошибка запроса");

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13