Базы данных MySQL: что такое и как с ними работать

Базы данных MySQL: что такое и как с ними работать

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

Декларативный язык программирования говорит, что должно быть сделано, а не как это необходимо сделать. Ещё один пример декларативного языка — HTML. Рассмотрим такой код:

С его помощью мы заявляем (declaration — заявление) браузеру, что хотим увидеть блок с классом className и кнопкой с текстом «Ясно. Понятно.» внутри. Для этого мы не создаём каких-либо переменных, циклов, условий. Мы знаем, что браузер нас понял, сам разберёт команду и вернёт результат или ошибку.

Здесь смысл довольно прост: мы даём команду и получаем результат. Мы не описываем, как эту команду выполнять. Чтобы понять, что такое реляционная база данных, разберём, что такое база данных в принципе. Декомпозируем это понятие на «база» и «данные».

Данные

В контексте баз данных под данными понимают набор значений, который собирается в строки и столбцы, тем самым представляя таблицу. Представим, что у нас есть каталог мебельного магазина. Нам нужно сохранить все данные из раздела «Шкафы» этого каталога в таблицу. Мы решили, что все шкафы отличаются друг от друга характеристиками:

  • название производителя;
  • название модели;
  • высота;
  • длина;
  • цвет;
  • количество дверей.

Составим таблицу и вобьём в неё выдуманные данные.

Базы данных MySQL: что такое и как с ними работать

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

Добавляя в таблицу строки, я вводил в неё данные, ориентируясь на структуру, заданную в столбцах. Чем больше строк, тем больше данных. Чем больше столбцов, тем подробнее будут эти данные.

Ещё есть такое понятие, как «значение» — это пересечение столбца и строки. Например, у последней строки в столбце «Цвет» написано «хаки». Здесь «хаки» — значение. Если мы начнём группировать таблицы и добавим возможность манипулирования ими, то получим базу данных.

Теперь про базы

Получается, что БД — это совокупность данных, представленных определённым образом (в нашем случае — таблицей), и набор инструментов для манипулирования ими.

Данные могут быть сгруппированы не только в таблицы, но и в коллекции. У каждой базы есть свой инструмент для создания таблиц/коллекций, добавления, удаления или изменения данных, а также для составления выборки. В статье мы рассмотрим базы, которые состоят из таблиц, а инструментом манипулирования данными будет язык SQL.

Таблицы между собой могут объединяться в схемы — в одной базе данных их может быть несколько, а может и не быть деления на схемы вообще. Это зависит от БД.

Вернёмся к определению из Википедии и вспомним про слово «реляционные». Реляционные (от англ. relation — отношения) — это базы данных, таблицы которых могут выстраиваться в различных отношениях. Возьмём предыдущий пример и добавим в него тех самых «отношений». Создадим таблицу «Производитель», а ту, что в примере, обозначим как «Каталог».

Таблица «Производитель»:

Базы данных MySQL: что такое и как с ними работать

Теперь таблицу «Каталог» можно оформить в другом виде:

Базы данных MySQL: что такое и как с ними работать

Получилось так, что у таблиц «Каталог» и «Прозводитель» появились отношения. Значения из столбца «Каталог» ссылаются на строки из таблицы «Производитель». Добавлением отношения мы решили нескольких проблем:

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

Это не все проблемы, которые мы решили добавлением отношений. Для понимания других проблем необходимо углубиться в тему баз данных. Разделение данных на таблицы с отношениями — это процесс нормализации. Так можно достигать различных нормализованных форм данных. При достижении каждой из нормализованных форм мы избавляем данные от дополнительных проблем. 

Вернёмся к SQL

Если читателю показалось, что мы ушли в сторону от SQL, так оно и есть. Но очень трудно понять, что такое SQL, не зная, с чем он работает.

Выходит, что SQL — это язык программирования, необходимый для написания команд к БД, после выполнения которых она вернёт результат. Результат будет зависеть от команды, написанной на SQL. Как в любом другом языке программирования, в SQL есть операторы для работы с данными, из которых складываются команды. Операторы распределены по четырём языкам:

  • DDL — Data Definition Language;
  • DML — Data Manipulation Language;
  • DCL — Data Control Language;
  • TCL — Transaction Control Language.

DDL 

DDL (Data Definition Language, язык описания данных) — язык, включающий операторы для работы со структурой данных. Операторы DDL нужны для реализации этих возможностей:

  • Создание объектов базы данных (таблиц, схем). Оператор: CREATE.
  • Удаление объектов базы данных. Оператор: DROP.
  • Изменение объектов базы данных. Оператор: ALTER.

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

DML

DML (Data Manipulation Language, язык манипуляции данными) — язык, который нужен для добавления, удаления, изменения данных и для выборки их из базы. Иными словами, для манипулирования данными. Пройдёмся по операторам:

  1. Оператор SELECT позволяет выбрать данные.
  2. Оператор INSERT — добавить новые.
  3. Оператор UPDATE — изменить существующие.
  4. Оператор DELETE — удалить.

DCL

DCL (Data Control Language, язык управления доступом к данным) — набор операторов, необходимых для предоставления доступа к данным. Кроме данных, в БД есть такие сущности, как пользователи.

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

Для этого есть три группы операторов. 

  • GRANT — оператор предоставления пользователю или группе набор каких-либо разрешений;
  • REVOKE — оператор отзыва разрешений;
  • DENY — задаёт запрет. Приоритет оператора DENY выше, чем у разрешения, выданного оператором GRANT.

TCL

Есть такое понятие, как транзакции. Это набор команд (там может быть и всего одна), который завершается успешно тогда, когда правильно выполнены все команды из него. В случае неудачного завершения одной команды из транзакции, она вся откатывается (отменяются результаты выполнения предыдущих команд), реализуя принцип атомарности. Обычно в транзакцию включаются DML-команды.

Для управления транзакциями существует TCL (Transaction Control Language — язык управления транзакциями). Операторы здесь следующие:

  • BEGIN TRANSACTION — необходим для обозначения начала транзакции;
  • COMMIT TRANSACTION — применяет изменения команд внутри транзакции;
  • ROLLBACK TRANSACTION — откатывает транзакцию;
  • SAVE TRANSACTION — указывает промежуточную точку сохранения внутри транзакции.

TCL есть только в тех БД, которые поддерживают транзакции. Самое время поговорить о видах БД.

Виды СУБД

Познакомимся с новым понятием — СУБД, системой управления базой данных.

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

Получается что, СУБД — это SQL плюс комплекс программного обеспечения. Очень часто базы данных путают с системой управления базой данных.

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

СУБД применяются везде, где нужно структурировано хранить данные — от простого блога до проектов Data Science.

Есть много популярных СУБД, рассмотрим несколько из них. 

MySQL

MySQL — царица баз — Журнал «Код» программирование без снобизма

Базы данных MySQL: что такое и как с ними работать

Она сложная, но с ней всё просто.

Когда мы говорили о том, какие бывают базы данных, то немного рассказали о реляционных БД. Самый очевидный пример такой базы данных — MySQL. О ней и поговорим. 

⚠️ С формальной точки зрения MySQL — это не сама база данных, а система управления базой данных (СУБД). Но в языке так сложилось, что саму базу и систему её управления мы называем одними и теми же словами. Простите нас за это упрощение. 

Что такое MySQL

MySQL — это реляционная база данных (СУБД). Реляционная — значит внутри неё есть данные, которые связаны между собой, и эту связь можно представить в виде таблиц. 

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

Базы данных MySQL: что такое и как с ними работать

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

???? Всё, что мы делаем в MySQL, — создаём таблицы с данными и настраиваем связи между ними.

Кому это нужно

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

Вы можете обойтись и без конкретно этой системы управления. Можно использовать PostgreSQL или NoSQL. Можно просто хранить данные у клиента или в «сыром» файлике. Но если вы хотите делать систему, которую будет легко поддерживать и передать другим людям для доработки и развития, — скорее всего, вы выберете MySQL.

Читайте также:  Правильная настройка Mozilla Thunderbird: руководство по использованию(с картинками)

Как работают связи в базе данных

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

Один к одному. Это самый простой вид связи, который говорит: одной записи из этой таблицы соответствует только одна запись из другой таблицы. Если мы сделаем новую таблицу с фотографиями клиентов, то каждой фотографии будет соответствовать только один клиент и наоборот.

Один ко многим. Когда у нас есть таблица с клиентами и таблица с их покупками, тут работает связь «один ко многим». Это значит, что у нас одной записи о клиенте соответствует несколько записей об их покупках, например, если он их сделал в разное время. Благодаря этой связи мы можем вывести все покупки для каждого клиента в отдельности.

Ещё пример — художники и картины. Каждая картина принадлежит только одному художнику, но одному художнику может принадлежать много разных картин. 

Многие ко многим. А вот это хитрая связь — для неё нужна отдельная таблица. Смысл такой: мы делаем промежуточную таблицу, в которой соединяем данные из одной таблицы с данными из другой. Получается, что в новой таблице как бы нет данных — в ней только связи.

Допустим, вы ведёте свой список дел в ежедневнике, где можно ставить метки для дел. Метки помогают понять, что за дело перед вами, и выглядят примерно так: «в дороге», «позвонить», «на неделе», «подписать у Иваныча» и «за компьютером». Их можно назначить любой задаче — одну метку, две или все сразу. Получается так:

  • одна метка может стоять на множестве разных задач
  • у одной задачи может быть много разных меток. 

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

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

Например, все наши статьи в «Коде» хранятся в MySQL-базе, с которой мы работаем через Вордпресс. Там же есть информация и об авторах, и о картинках для статей, о дате публикации и о многом другом. Чтобы вы прочитали эту статью, сайт обратился к базе данных, взял оттуда статью, правильно её обработал и показал вам.

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

Самой базе всё равно, что в ней хранится и как вы этим пользуетесь. База данных — это просто способ связать данные вместе, а потом найти в них то, что нужно.

Почему MySQL так популярна

С момента своего появления в 1995 году, MySQL была бесплатной, простой и предсказуемой системой управления базами данных. Это привело к тому, что её использовали много компаний по всему миру, что сделало её негласным стандартом для баз данных.

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

Но основная причина популярности MySQL — полная поддержка SQL-языка.

Что такое язык SQL

Чтобы работать с реляционной базой данных, нужно знать специальный язык запросов — SQL. Это расшифровывается как structured query language — язык структурированных запросов. «Структурированный» означает, что каждый запрос должен иметь определённую структуру, чтобы база поняла, как на него реагировать. 

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

С помощью запросов можно делать что угодно: 

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

Если вы знаете SQL, то можете работать с любой реляционной базой данных, которые его поддерживают. 

А покажите сами запросы

  • А пожалуйста.
  • Создадим базу данных THECODE_MEDIA:
  • CREATE DATABASE THECODE_MEDIA;
  • Скажем, что будем дальше работать именно с этой базой:
  • USE THECODE_MEDIA;
  • Создадим таблицу с названиями статей, авторами и количеством прочтений за месяц:
  • CREATE TABLE STATS (name VARCHAR(200), author VARCHAR(20), readers INT);
  • Загрузим в таблицу уже готовые данные из файла:
  • LOAD DATA LOCAL INFILE 'thecode/readers_stat.txt' INTO TABLE STATS;
  • А теперь выведем их на экран:
  • SELECT * FROM STATS;

Команд в SQL настолько много, что нам понадобится отдельная статья для практики. Сделаем для этого отдельный проект, на котором покажем, как MySQL работает с запросами и таблицами.

Базы данных MySQL: что такое и как с ними работатьРабота с MySQL через запросы в терминале

Коротко главное

  1. MySQL — система управления реляционными базами данных. Реляционными — то есть такими, между которыми есть однозначные прописанные связи. Можно представить, что это система управления табличными базами данных. 
  2. Таблицы могут быть связаны между собой, чтобы можно было проще найти нужную информацию.
  3. Для работы с реляционными БД используют специальный язык — SQL.

  4. Каждая команда в SQL — это запрос к базе, чтобы она что-то нашла, изменила, добавила или удалила у себя.
  5. MySQL используют уже 25 лет, поэтому это проверенная и надёжная база данных. Кто любит MySQL, тому легко ориентироваться в технологиях современного веба. 

На очереди — нереляционные базы и NoSQL.

Там вообще всё не так, как здесь, поэтому разбирать будем отдельно.

Базы данных MySQL: что такое и как с ними работать

MySQL представляет собой одну из самых распространенных сегодня систем управления базами данных в сети Интернет. Данная система используется для работы с достаточно большими объемами информации. Однако MySQL идеально подходит как для небольших, так и для крупных интернет-проектов. Немаловажной характеристикой системы является ее бесплатность.

Базы данных MySQL: что такое и как с ними работать

Как работают базы данных MySQL?

Когда пользователь пытается открыть страницу сайта (page.php), то перед тем как он увидит сайт, на сервере хостинг-провайдера произойдет следующее:

  1. Выполнится PHP-код из файла page.php
  2. Из базы данных (database.sql) будет считан весь текстовый контент страницы
  3. Из файла стилей (style.css) будут считаны стили (что, где и на каком месте находится, шрифты, размеры и т.д.)
  4. Пользователю будет показана страница которую он хотел увидеть.

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

Основные преимущества MySQL

Надежность, высокая скорость и гибкость – основные качества MySQL. Работа с данной системой не вызывает больших сложностей, а поддержка сервера MySQL автоматически включена в поставку РНР. MySQL предоставляется на условиях общей лицензии GNU (GNU Public License, GPL).

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

Проблема длительного хранения информации достаточно актуальна в процессе программирования интернет-приложений.

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

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

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

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

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

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

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

Примечание

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

Это легко объясняется тем, что для написания баз данных используется язык С++, а создать на РНР программу, которая бы работала с жестким диском качественнее базы данных – невозможно, так как программы на РНР априори работают медленнее, чем программы, написанные на С++. РНР является интерпретатором, а С++ компилятором.

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

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

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

Вам будет интересно

Смотрите также наш рейтинг хостинга с лучшей работой MySQL

MySQL — что это такое простыми словами | Макхост

19 октября 2020

Читайте также:  Проверка истории домена: как проверить перед покупкой, способы и сервисы

MySQL — это система управления базами данных (СУБД), распространяемая как свободное программное обеспечение (пользователи имеют право на неограниченную установку, запуск, свободное использование). В этой статье мы простыми словами объясним, что такое базы данных, зачем нужна MySQL и где ее применяют.

База данных (БД) — набор некоторых данных, которые хранятся в упорядоченной форме (это важно). Для наглядности проведем аналогию из жизни. Представьте, что вы собрались на прием к врачу, а ваша медицинская карта находится в поликлинике. Вы приходите в регистратуру и просите ее предоставить.

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

Все эти картотеки — это примеры баз данных в обычной жизни.

Базы данных MySQL: что такое и как с ними работать

Так выглядит картотека в библиотеке.

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

Из чего состоит база данных

Базы данных состоят из таблиц. Если снова провести аналогию с картотекой, то один ящик в картотеке будет одной таблицей в базе данных.

Таблица в рамках сервера — это файл, в котором хранятся данные определенного типа (например, данные о клиентах, продуктах или заказах).

Важно понимать, что эти данные не должны перемешиваться и каждые из них должны находиться в отдельной предназначенной для них таблице. Таблиц в рамках одной БД может быть множество.

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

ID Name Surname Email
1 Василий Иванов ivanov@gmail.com
2 Николай Петров
3 Николай Петров

Пример таблицы.

По таблице видно, что строки, в отличие от столбцов, хранят всю информацию о конкретной сущности. В нашем примере в строке №1 собрана вся информация о клиенте «Василий Иванов» — его имя, фамилия, электронная почта.

Однако мы видим, что в таблице есть 2 клиента с одинаковым именем и фамилией — Николай Петров. Электронная почта в обоих случаях не указана. Как идентифицировать этих клиентов?

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

Часто начинающие вебмастера путают понятия базы данных и СУБД. Если база данных — это набор данных, то СУБД (система управлением базами данных) — это специальное программное обеспечение, разработанное для управления этими базами данных. Существует множество СУБД, например: PostgreSQL, SQLite, Oracle Database и MySQL, о которой мы рассказываем в этой статье.

Чем MySQL отличается от SQL

SQL (Structured Query Language) — язык программирования, созданный для работы с базами данных. MySQL — это СУБД, которая поддерживает SQL. SQL — это универсальный язык, который поддерживают все системы управлением базами данных, поэтому, зная его, вы сможете работать с любыми СУБД.

Для чего нужна MySQL

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

Для упрощения процесса администрирования, добавления и редактирования информации, были разработаны специальные системы управления (СУБД). Мы выяснили ранее, что MySQL — это одна из множества СУБД, которую используют для упрощения работы с базами данных.

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

Преимущества MySQL

  1. Открытый исходный код. Распространяется бесплатно для домашнего применения.
  2. Простота. MySQL легко устанавливается, имеет понятный интерфейс, а разнообразие плагинов и дополнительных приложений упрощает работу с БД.
  3. Функционал.

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

  4. Безопасность. Многие системы безопасности уже встроены и работают по умолчанию.
  5. Масштабируемость. Может использоваться в работе как с малым, так и с большим объемом данных.
  6. Скорость.

    Является одной из самых быстрых среди имеющихся на современном рынке.

Где используют MySQL

По функциональной оснащенности и надежности MySQL давно конкурирует с другими известными продуктами. Чаще всего ее используют при разработке веб-решений, что объясняется тесной интеграцией с популярными языками программирования, высокими показателями скорости и, конечно, ее бесплатностью. В основном MySQL применяют в следующих проектах:

  • CMS (Content Management System). Именно в системах управления содержимым сайта MySQL (в связке с PHP/Apache) обгоняет всех своих конкурентов.
  • Сайты компаний. Многие сайты используют MySQL для хранения данных и регистрации пользователей.
  • Корпоративные системы, ERP/CRM-приложения. У малого и среднего бизнеса обычно нет возможности приобретать такие продукты от ведущих игроков (SAP, Microsoft, Oracle), но подобное ПО бывает необходимым для успешного ведения бизнеса. Часто компании разрабатывают собственные решения с применением MySQL, которая покрывает все потребности разработчиков и пользователей такого рода систем.
  • Groupware — системы групповой работы, планировщики и подобные системы. Частично они входят в состав CMS, но в большинстве случаев являются самостоятельными независимыми программами.
  • Форумы и чаты. Можно с уверенностью сказать, что практически все форумы работают на MySQL (если они написаны не на ASP). Примеры — phpBB, yaBB, Invision Power Board и другие.

Таким образом, на MySQL обращают внимание как небольшие компании, так и крупные корпорации. Данная СУБД привлекает своей надежностью и свободным распространением.

Если дело касается веб-разработки, то MySQL практически всегда будет лучшим вариантом (с учетом потребностей, специфики проекта и экономической целесообразности).

Надеемся, теперь вам понятно, что такое MySQL, зачем она нужна и где ее применяют. Спасибо, что дочитали!

Макхост

Что такое MySQL? Простым языком для новичков — Hack Life

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

Что такое MySQL?

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

Базы данных MySQL: что такое и как с ними работать

База данных

База данных — это набор структурированных данных. Если проще, то это место, где хранятся данные.

Открытый исходный код MySQL

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

Модель клиент-сервер MySQL

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

Как работает MySQL?

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

  1. MySQL создаёт базу данных для хранения и управления данными, определяющими отношения каждой таблицы.
  2. Клиенты могут делать запросы, вводя определённые команды SQL на MySQL.
  3. Приложение сервера ответит запрошенной информацией и появится на стороне клиента.

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

Почему MySQL так популярен?

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

Высокая производительность

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

Простота и гибкость

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

Безопасность

С помощью системы доступа и управления учётными записями устанавливает высокий уровень безопасности. Доступна проверка на основе хоста и шифрование пароля.

MySQL крайне необходим как при бэкенд-разработке, так и веб-разработке. Стать специалистом по базам данных помогут GeekBrains и Skillbox.

MySQL — Википедия

MySQL

Тип

реляционная СУБД, открытое программное обеспечение и серверное программное обеспечение

Разработчик

MySQL AB, Sun Microsystems и Oracle

Написана на

Си[2] и C++[3]

Операционная система

Linux[4], Microsoft Windows[4], macOS[4], FreeBSD[4], Solaris[4] и UNIX-подобные операционные системы

Первый выпуск

1994

Последняя версия

  • 8.0.27 (19 октября 2021)[1]

Читаемые форматы файлов

MySQL Table Definition Format[d]

Создаваемые форматы файлов

MySQL Table Definition Format[d]

Лицензия

GNU GPL 2[5] и проприетарная[6]

Сайт

mysql.com​ (англ.)
 Медиафайлы на Викискладе

MySQL (МФА: [maɪ ˌɛskjuːˈɛl]) — свободная реляционная система управления базами данных[7]. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

26 февраля 2008 года Sun Microsystems приобрела MySQL AB за 1 млрд долларов[8], 27 января 2010 года Oracle приобрела Sun Microsystems за 7,4 млрд долларов[9] и включила MySQL в свою линейку СУБД[10].

Сообществом разработчиков MySQL созданы различные ответвления кода, такие как Drizzle (англ.), OurDelta, Percona Server и MariaDB. Все эти ответвления уже существовали на момент поглощения компании Sun корпорацией Oracle.

О происхождении mysql

MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня. В результате был выработан новый SQL-интерфейс, но API-интерфейс остался в наследство от mSQL.

Откуда происходит название «MySQL» — доподлинно неизвестно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса «My…» (с англ. — «моё…»), либо в честь дочери Мю (фин.

My) одного из разработчиков системы Микаэля Видениуса[11][12].

Логотип MySQL в виде дельфина носит имя «Sakila». Он был выбран из большого списка предложенных пользователями «имён дельфина». Имя «Sakila» было отправлено Open Source-разработчиком Ambrose Twebaze.

Лицензирование

MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа использует библиотеки (или включает в себя другой GPL-код) MySQL, то она тоже должна распространяться по лицензии GPL.

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

Для свободного программного обеспечения Oracle предоставляет отдельное исключение из правил, явным образом разрешающее использование и распространение MySQL вместе с ПО, распространяемым под лицензией из определённого Oracle списка.[13]

Платформы

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, macOS, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista, Windows 7 и Windows 10. Существует также порт MySQL к OpenVMS. На официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.

Языки программирования

MySQL имеет API[14] и коннекторы для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk, Компонентный Паскаль, Tcl и Lua, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

MyODBC представляет собой драйвер ODBC (2.50) уровня 0 (с некоторыми возможностями уровней 1 и 2) для подсоединения совместимого с ODBC приложения к MySQL. MyODBC работает на всех системах Microsoft Windows и на большинстве платформ Unix.

История выпусков

Базы данных MySQL: что такое и как с ними работать

[15][16][17][18][19][20][21]

  • Первый внутренний выпуск MySQL состоялся 23 мая 1995 года [источник не указан 4360 дней].
  • Версия для Windows систем (Windows 95 и NT) выпущена 8 января 1998.
  • Версия 3.23: бета-версия в июне 2000, выпуск в январе 2001.
  • Версия 4.0: бета в августе 2002, релиз в марте 2003.
  • Версия 4.1: бета в июне 2004, релиз в октябре 2004.
  • Версия 5.0: бета в марте 2005, релиз в октябре 2005.
  • Версия 5.1: разработка велась с ноября 2005, релиз в ноябре 2008.
  • Версия 5.4: бета в апреле 2009, не была выпущена.
  • Версия 5.5: релиз в декабре 2010.

MySQL — это просто!

Сначала ответим на вопрос — что такое MySQL? Это База Данных (БД), в которой структурировано хранятся данные.

Следует второй вопрос — зачем отказываться от простых и удобных файлов к сложной БД? Потому что файлы, генерируемые каким либо скриптом на основе файловой БД (гостевые книги, CMS, форумы), постепенно начинают увеличиваться в размере, а так же их количество неуклонно растет. Поиск сильно затруднен.

После преодоления некоторого порога (1000, 10000 файлов..) скрипт начинает жутко тормозить, и приходится подолгу ждать, когда он закончит свою работу. БД лишены этих недостатков — даже если в таблице будет миллион записей, поиск среди них будет идти доли секунды.

Так уж они устроены, чтобы манипулировать огромным количеством данных. Но тут и возникает вопрос — а как работать с БД, в данном случае с MySQL? Эта статья как раз об этом.

Серверу MySQL, чтобы подключиться к нему, нужно передать 4 параметра:

  • Хост. Это серовер, на котором расположен сервер MySQL. В абсолютном большинстве хост равен «localhost».
  • Имя пользователя. Имя пользователя, который может работать с этой таблицей. На локальных компьютерах по дефолту поставлен «root». На хостинге — в зависимости от вас.
  • Пароль. Пароль выбранного пользователя. По умолчания равен пустой строке — «».
  • Имя Базы данных. Имя БД, как вы ее назвали. По умолчанию — «test».
  • Подключаться к серверу нужно с помощи команды:
  • $msconnect=mysql_connect(«Хост», «Пользователь», «Пароль»);
  • Выбирать конкретную Базу данных:
  • mysql_select_db(«Имя базы данных», $msconnect);
  • Закрыть подключение нужно командой:
  • mysql_close($msconnect);
  • И соответственно полный пример подключения, выбирание нужной таблицы и закрытие подключеиния:

Вот мы подключились к серверу MySQL и выбрали БД. Что дальше? Дальше нужно создать новую таблицу. Управления БД в MySQL управляется с помощью специального языка запросов SQL. Поначалу он кажется страшным, непонятным и сложным, но через некоторое время при активной работе с БД вы сможете легко читать самые сложные с виду SQL-запросы (сам так же путался в начале..). Начнем.

  • Передача SQL запроса БД. Для этого существует единственная команда:
  • mysql_query(«SQL-запрос», «подключенная БД»);
  • Попробуем создать таблицу. Для этого передадим серверу такой SQL запрос:
  • mysql_query(«CREATE TABLE имя_таблицы ( поле1 типполя1, поле2 типполя2, поле3 типполя3)»,«подключенная БД»);
  • Можно создавать сколько угодно полей. Заместо ТипПоля1 пишется:
  • INT — целые числа
  • TEXT — текстовая информация

Это 2 основных типа поля. На самом деле их очень много, но перечислять их — займет лишком много места. Итак, разобрались с созданием таблиц. Пример использования:

  1. mysql_query(«CREATE TABLE test_zero ( num INT, title TEXT, text TEXT)»,$msconnect);
  2. Для этого существует та же команда, только другой SQL-запрос:
  3. mysql_query(«INSERT INTO название_таблицы VALUES (‘что засунуть в поле1’, ‘еще что то в поле2’,‘и напоследок в поле3’)», «подключенная БД»);

Думаю, здесь никаких сложностей не возникнет. Единственное, значения поля с типом TEXT вводить в одинарных кавычках. И, как всегда, пример:

  • mysql_query(«INSERT INTO test_zero VALUES (1, ‘Заголовок статьи’, ‘Текст статьи’)», $msconnect);
  • Для этого используется такая команда:
  • mysql_query(«UPDATE название_таблицы SET(поле1=‘значение1’, поле2=‘значение2’) WHERE выражение«, «подключенная БД»);

Такой командой мы обновляем записи, указанные в скобках, а данной таблице, если они подходят по какому либо условию (WHERE …). Это мы рассмотри чуть позже. Сейчас — пример:

mysql_query(«UPDATE test_zero SET(num=‘2’, title=‘Заголовок 2’) WHERE num=1«, $msconnect);

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

В итоге у нас появится новая таблица test_zero, в которой будет одна запись.

Допустим, у нас большущая БД, в которой хранятся сотни записей. Как же эти записи получить? Очень просто:

$res=mysql_query(«SELECT поле1, поле2, поле3 FROM имя_таблицы«); while($row=mysql_fetch_array($res)) {

$поле1=$row[поле1];

$поле2=$row[поле2]; $поле3=$row[поле3]; }

Командой SELECT мы получаем записи таблицы. Заместо строк «поле1, поле2, поле3» может стоять знак «*», который означает, что нужно читать все поля записей. Можно выбрать только одно поле, которое нужно. Это ускоряет работу БД.

Что делает цикл while? Он означает, что пока в таблице есть записи, он будет помещать значения их полей в массив с помощью функции «mysql_fetch_array», а как только записи кончатся, цикл остановится. Чтобы получить из массива данные, можно воспользоваться способом, который я указал в примере.

Внутри цикла можно генерировать, к примеру, статьи, вытаскивая данные из БД. Вот пример:

$res=mysql_query(«SELECT * FROM test_zero«);

while($row=mysql_fetch_array($res)) {

$num=$row[num];

$title=$row[title]; $text=$row[text];

echo «($num) — $title

$text«; }

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

$res=mysql_query(«SELECT * FROM имя_таблицы WHERE поле1 знак ‘значение’ ОПЕРАТОР поле2 знак ‘значение’«);

Рассмотрим поподробнее строку «поле1 знак ‘значение'». Поле1 — название поля, например «title». Знак — логическое выражение, принимает значения:

  • = — равно
  • > — больше
  • 10«);
  • И, так сказать, итоговый пример применения БД:

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

Если бы мне попалась эта статья пораньше — я бы не стал ее писать. Когда я еще не знал MySQL, я перерыл статей 10. Достаточно быстро научился создавать таблицы и заполнять их. А вывести не получалось. Пришлось практически методом тыка учится. специально для этого я и написал эту статью.

P.S: На оформление этой статьи ушло примерно в три раза больше времени, чем на ее написания. При оформлении я более 50 раз перезагружал статью. Вот так то :).

Внимание!!! Данную статью можно перепечатывать только с указанием автора — Гиацинтов Андрей, а так же прямой ссылки на сайт автора — http://spryt.ru/. Перепечатка должна вестись в HTML коде, начиная от кода …. и закачивая кодом . Запрещено размещение данной статьи на форумах! Этот абзац так же должен быть указан!

Ссылка на основную публикацию