Как начать работать с программой mysql. MySQL Основы

Однако этого недостаточно, чтобы создать даже самый простой сайт с формой регистрации. Для этого необходимы НАВЫКИ ВЕБ-ПРОГРАММИРОВАНИЯ. В эту часть увлекательного путешествия и направляемся.

Frontend и Backend

Программирование можно условно разделить на 2 части: Frontend и Backend.

Frontend разработка - это внешний вид сайта, результат этой работы видят пользователи на экране монитора.

Backend - это внутренняя часть сайта, результат этой работы вы видите через frontend разработку. Когда вы делаете любой запрос: в поиске, нажимаете активную ссылку, кнопку и т.д., то практически мгновенно получаете результат на экран.

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



Приведем аналогию с устным счетом: сложите 32 и 47. Ваш мыслительный процесс никто не видит, он внутри вас. Вы используете свою логику подсчета, так же и сайт использует для выполнения поставленной задачи логику backend разработки.


Основы backend-разработки - PHP/MySQL

PHP - это язык программирования для создания веб-сайтов.

Веб-сайт (website) — совокупность HTML страниц и других электронных документов, с общим дизайн, взаимосвязанных гиперссылками и расположенных на одном доменном имени.

PHP хорошо встраивается в верстку уже известного вам языка HTML.

PHP применяется тогда, когда нужно какую-то информацию хранить на сервере.

Язык PHP отвечает ЗА ЛОГИКУ поведения сайта, но само знание языка не сделает из вас разработчика, вам необходимо научиться СТРОИТЬ АЛГОРИТМЫ .

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

Любой язык прост, если научиться его понимать!

Наша задача научить вас ЧИТАТЬ чужой код, и СОЗДАВАТЬ свой .Что это значит?
Когда вы видите код уже написанной программы, то читая его, легко представите себе, что будет происходить на экране монитора в результате логики работы алгоритмов.

Чтобы научиться web-программированию разбиритесь - какой у вас есть строительный материал для сайтостроения. На данном этапе это язык программирования PHP и база данных MySQL.

Чтобы понимать язык достаточно разобраться в синтаксисе, основных определениях и правилах применения.

Ваши основные строительные материалы:

Переменные и их типы,

Константы, операторы,

Массивы и работа с ними,

Функции и создание собственных функций,

Циклы,

Отправка и получение данных из HTML-форм (GET, POST),

Объектно-ориентированное программирование (Классы, инкапсуляция, полиморфизм, наследование, интерфейсы)

Основы безопасности сайта



Важно знать, КАК защитить свое творение. В научитесь грамотно писать программы на PHP, чтобы вероятность взлома сайта стремилась к нулю.

Перейдем к базам данных MySQL/MariaDB

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

Вам интересно узнать статистику своего сайта? Сколько посещений, время нахождения на сайте, количество новых пользователей, сколько было продаж и т.д. Это аналитическая информация и она тоже хранится в базе данных.

MySQL/MariaDB - это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Большинство данных веб-сайта хранится в MySQL/MariaDB.

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


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


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

Подружите их в своей деятельности по сайтостроению на на интерактивной он-лайн .

На PHP пишут программы по: регистрации и авторизации пользователей, поиску по сайту, можно создать собственные движки, вычислительного робота, автоматизировать повторяющиеся алгоритмы, создать интернет-магазин и т.д.

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

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


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

Марк Твен

Будь на максимуме! Включайся в web!
команда beONmax

Ждать не нужно когда наберется группа или наступит дата начала курса - на beONmax вы приступаете к обучению сразу!

От автора: вас обозвали чайником? Ну, это дело поправимое! Каждый самовар когда-то был чайником! Или каждый профессионал был когда-то самоваром? Нет, опять что-то не то! В общем, MySQL для начинающих.

Зачем чайникам MySQL

Если вы всерьез собрались связать свою жизнь с интернетом, то сразу на первых же шагах в «паутине» столкнетесь с этой СУБД. MySQL можно смело назвать «всея интернетной» системой управления базами данных. Без нее не обходится ни один более-менее серьезный ресурса, она присутствует в админке каждого хостинга. И большая часть всех популярных CMS и даже «самопальных» движков построены с ее участием.

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

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

Основные понятия

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

База данных (БД) – основная составляющая единица СУБД. БД включает в себя таблицы, которые состоят из столбцов и записей (строк). Образуемые на пересечении ячейки содержат в себе структурированные данные определенного типа.

СУБД (система управления БД) – совокупность всех программных модулей для администрирования баз данных.

SQL – язык структурированных запросов, с помощью которого разработчик «общается» с ядром (сервером) СУБД. Как и любой программный язык, SQL имеет свой синтаксис, набор команд и операторов, поддерживаемые типы данных.

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

Подбор правильного инструмента

Изрядно «порывшись» во всем ассортименте оболочек MySQL для начинающих, понял, что таких просто не существует. Все программные продукты для администрирования СУБД требуют наличия уже установленного сервера БД. В общем, решил в очередной раз не изобретать «самокат», и остановил свой выбор на отечественном пакете Denwer. Скачать его можно на официальном сайте .

В его состав уже входят все составляющие СУБД, позволяющие новичку сразу после несложной и понятной установки приступить к практическому знакомству с MySQL. Кроме этого Denwer включает в себя еще несколько необходимых для начинающего разработчика инструментов: локальный сервер, PHP.

Первые шаги

Не буду описывать процесс инсталляции «джентльменского» набора, поскольку там все происходит автоматически. После запуска инсталяхи успевай только нужные клавиши жать. Как раз то, что нужно в варианте MySQL для чайников .

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

На странице «Ура, заработало!» перейдите по одной из указанных на снимке ссылок. После чего вы попадете в phpMyAdmin – оболочку для администрирования баз данных.

Перейдя по ссылке http://downloads.mysql.com/docs/world.sql.zip, вы скачаете пример тестовой БД с официального сайта MySQL. Опять перейдите в phpMyAdmin, в основном меню сверху зайдите во вкладку «Импорт». В окне «Импорт на текущий» в первом разделе («Импортируемый файл») установите значение «Обзор вашего компьютера».

В окне проводника выберите архив со скачанным примером БД. Внизу основного окна не забудьте нажать «Ок».

Советую пока не изменять указанные значения параметров. Это может привести к некорректному отображению данных импортируемого источника. Если система phpMyAdmin выдала ошибку, что не может распознать алгоритм сжатия БД, тогда разархивируйте ее и повторите весь процесс импорта сначала.

Если все прошло хорошо, то вверху появится сообщение программы, что импорт выполнен успешно, а слева в списке БД — еще одна (word).

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

Нажмите на название БД MySQL для начинающих. Под ней отобразится список таблиц, из которых она состоит. Кликните по одной из них. Затем перейдите в пункт верхнего меню «Структура». В основной рабочей зоне отобразится структура таблицы: имена всех столбцов, типы данных и все атрибуты.

SQL - Урок 1. Создание базы данных и таблиц

Итак, вы установили MySQL, и мы начинаем осваивать язык SQL. В уроке 3 по основам баз данных , мы создали концептуальную модель маленькой БД для форума. Пришло время реализовать ее в СУБД MySQL.

Для этого прежде всего надо запустить сервер MySQL. Идем в системное меню Пуск - Программы - MySQL - MySQL Server 5.1 - MySQL Command Line Client. Откроется окно, предлагающее ввести пароль.

Нажимаем Enter на клавиатуре, если вы не указывали пароль при настройке сервера или указываем пароль, если вы его задавали. Ждем приглашения mysql>.

Нам надо создать базу данных, которую мы назовем forum. Для этого в SQL существует оператор create database

Create database имя_базы_данных;


Максимальная длина имени БД составляет 64 знака и может включать буквы, цифры, символ "_" и символ "$". Имя может начинаться с цифры, но не должно полностью состоять из цифр. Любой запрос к БД заканчивается точкой с запятой (этот символ называется разделителем - delimiter). Получив запрос, сервер выполняет его и в случае успеха выдает сообщение "Query OK ..."

Итак, создадим БД forum:

Нажимаем Enter и видим ответ "Query OK ...", означающий, что БД была создана:

Вот так все просто. Теперь в этой базе данных нам надо создать 3 таблицы: темы, пользователи и сообщения. Но перед тем, как это делать, нам надо указать серверу в какую именно БД мы создаем таблицы, т.е. надо выбрать БД для работы. Для этого используется оператор use . Синтаксис выбора БД для работы следующий:

Use имя_базы_данных;


Итак, выберем для работы нашу БД forum:

Нажимаем Enter и видим ответ "Database changed" - база данных выбрана.

Выбирать БД необходимо в каждом сеансе работы с MySQL.

Для создания таблиц в SQL существует оператор create table . Создание базы данных имеет следующий синтаксис:

Create table имя_таблицы (имя_первого_столбца тип, имя_второго_столбца тип, ..., имя_последнего_столбца тип);


Требования к именам таблиц и столбцов такие же, как и для имен БД. К каждому столбцу привязан определенный тип данных, который ограничивает характер информации, которую можно хранить в столбце (например, предотвращает ввод букв в числовое поле). MySQL поддерживает несколько типов данных: числовые, строковые, календарные и специальный тип NULL, обозначающий отсутствие информации. Подробно о типах данных мы будем говорить в следующем уроке, а пока вернемся к нашим таблицам. В них у нас всего два типа данных - целочисленные значения (int) и строки (text). Итак, создадим первую таблицу - Темы:

Нажимаем Enter - таблица создана:

Итак, мы создали таблицу topics (темы) с тремя столбцами:
id_topic int - id темы (целочисленное значение),
topic_name text - имя темы (строка),
id_author int - id автора (целочисленное значение).

Аналогичным образом создадим оставшиеся две таблицы - users (пользователи) и posts (сообщения):

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

show databases - показать все имеющиеся БД,

show tables - показать список таблиц текущей БД (предварительно ее надо выбрать с помощью оператора use ),

describe имя_таблицы - показать описание столбцов указанной таблицы.

Давайте попробуем. Смотрим все имеющиеся базы данных (у вас она пока одна - forum, у меня 30, и все они перечислены в столбик):

Теперь посмотрим список таблиц БД forum (для этого ее предварительно надо выбрать), не забываем после каждого запроса нажимать Enter:

В ответе видим названия наших трех таблиц. Теперь посмотрим описание столбцов, например, таблицы topics:

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

А сегодня мы рассмотрим последний оператор - drop , он позволяет удалять таблицы и БД. Например, давайте удалим таблицу topics. Так как мы два шага назад выбирали БД forum для работы, то сейчас ее выбирать не надо, можно просто написать:

Drop table имя_таблицы;


и нажать Enter.

Теперь снова посмотрим список таблиц нашей БД:

Наша таблица действительно удалена. Теперь давайте удалим и саму БД forum (удаляйте, не жалейте, ее все равно придется переделывать). Для этого напишем:

Drop database имя_базы данных;


и нажмем Enter.

И убедитесь в этом, сделав запрос на все имеющиеся БД:

У вас, наверно, нет ни одной БД, у меня их стало 29 вместо 30.

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

В MySQL начало работы — это прежде всего авторизация, создание базы данных и таблиц, а также наполнение таблиц данными. Изначально информацию можно добавлять выполняя запросы к серверу баз данных или, например, импортируя данные из текстовых документов. Именно таким образом будут загружены данные из документов в таблицы REAL_ESTATE и PEOPLE .

Данный материал — продолжение .

MySQL начало работы и импорт данных

mysql -h host -u user -p

Enter password: ********

Также можно вводить пароль сразу

mysql -h host -u user -pPASSWORD

Между ключем -p и самим паролем при этом не должно быть пробела, иначе пароль будет воспринят как имя базы данных. Этот вариант плох тем, что пароль останется в history и его можно будет посмотреть в дальнейшем.

Основы работы с MySQL

Любой запрос (за исключением USE , QUIT и еще нескольких) должен завершаться точкой с запятой. Запрос может быть разнесен на несколько строк и будет выполнен только после введения точки с запятой

SELECT
-> *
-> FROM
-> gebwoocommerce_api_keys
-> ;
Empty set (0.01 sec)

MariaDB >

От выполнения запроса можно отказаться после введения введения нескольких строк выполнив \c

SELECT
-> *
-> FROM
-> gebwoocommerce_api_keys
-> \c

По тому каким образом выглядит приглашение MySQL можно понять состояние выполнения запроса и то, что именно ожидает сервер от администратора

(или вариации: mysql> , MariaDB> ) Ожидается ввод

2) ->

Ожидается следующая строка запроса длиной в несколько строк

3) ">

Ожидается следующая строка запроса длиной в несколько строк в случае если запрос начат с одинарной кавычки

4) «>

Ожидается следующая строка запроса длиной в несколько строк в случае если запрос начат с двойной кавычки

Ожидается следующая строка запроса длиной в несколько строк в случае если запрос начат с backtick (“`”)
6) /*>

Ожидается следующая строка запроса длиной в несколько строк в случае если запрос начат со знака комментария /*

Создание базы данных MySQL и ее наполнение данными

Работать от имени пользователя root не желательно, лучшим решением является

Например, добавим пользователя user (в тестовой среде можно работать и от имени root). Авторизовавшись в консоли MySQL создаем базу данных и таблицы

CREATE DATABASE REAL_ESTATE_AGENCY;

Query OK, 1 row affected (0.00 sec)

+——————————+
| Database |
+——————————+
| information_schema |
| mysql |
| performance_schema |
| REAL_ESTATE_AGENCY |
+——————————+
4 rows in set (0.03 sec)

Database change

CREATE TABLE REAL_ESTATE (type VARCHAR(20), city VARCHAR(20), floorspace INT, district VARCHAR(20), street VARCHAR(20), rentorsale VARCHAR(20), PRICE VARCHAR (20));

CREATE TABLE PEOPLE (name VARCHAR(20), profession VARCHAR(20), age INT, city VARCHAR(20), district VARCHAR(20), rentorsale VARCHAR(20), PRICE VARCHAR (20));

Query OK, 0 rows affected (0.01 sec)

+——————————+
| Tables_in_REAL_ESTATE_AGENCY |
+——————————+
| PEOPLE |
| REAL_ESTATE |
+——————————+
2 rows in set (0.00 sec)

Информацию о структуре таблицы и всех существующих столбцах и колонках можно получить выполнив команду DESCRIBE

+————+————-+——+——+———+——-+
| Field | Type | Null | Key | Default | Extra |
+————+————-+——+——+———+——-+
| type | varchar(20) | YES | | NULL | |
| city | varchar(20) | YES | | NULL | |
| floorspace | int(11) | YES | | NULL | |
| district | varchar(20) | YES | | NULL | |
| street | varchar(20) | YES | | NULL | |,

| rentorsale | varchar(20) | YES | | NULL | |
| PRICE | varchar(20) | YES | | NULL | |
+————+————-+——+——+———+——-+
7 rows in set (0.00 sec)

Вывести все содержимое таблицы можно с помощью самого общего SELECT запроса (этот вид запросов используется чаще всего и будет подробно рассмотрен в дальнейшем)

SELECT * FROM REAL_ESTATE;

Empty set (0.00 sec)

Данных сейчас нет — наполним таблицы. Делать это можно выполняя UPDATE-ы с необходимыми значениями или загружая данные из тексовых документов. На этапе первоначальной загрузки второй способ гораздо удобнее. Воспользуемся им.

Загрузка данных в таблицы MySQL

Сохраняем информацию в /tmp/real_estate.txt — значения в столбцах разделяем табуляцией. После этого в консоли загружаем данные предварительно выбрав таблицу.

Может возникнуть следующая ошибка.

ERROR 1148 (42000): The used command is not allowed with this MySQL version

Если ошибка возникает к MySQL нужно подключаться с опцией —local-infile=1 :

mysql —local-infile=1 -u root -p

LOAD DATA LOCAL INFILE "/tmp/real_estate.txt" INTO TABLE REAL_ESTATE;

Query OK, 13 rows affected (0.00 sec)
Records: 13 Deleted: 0 Skipped: 0 Warnings: 0

Результаты SELECT теперь выглядят иначе:

SELECT * FROM REAL_ESTATE;


Если для какого-то столбца и ряда нужно значение NULL в текстовом документе оно должно быть представлено как \N. В MySQL начало работы с базами и таблицами выглядит именно так. Далее рассмотрим основы использования .