Что такое база данных MySQL?
В прошлой статье я писал о том, что такое CMS. Большинство CMS используют для хранения информации базу данных. В этой статье вы узнаете о том, что такое база данных и познакомитесь с базой данных MySQL.
База данных (БД) вещь крайне полезная для ведения своего сайта. Работать со статическим проектом, состоящим из нескольких html страничек легко и без применения баз данных. Однако сайты имеют тенденцию разрастаться. С динамичным проектом такой метод работы уже вряд ли себя оправдает. Хранить массивы различной информации в сотнях файлов, а затем требовать от них определенные строки при работе вэб-сервера – дело хлопотное и медленное. БД позволяют структурировать и систематизировать информацию. Код для использования БД намного легче, чем аналогичный для работы с файлами, да и времени на запрос уходит куда меньше.
База данных (database) – это совокупность связанных между собой таблиц. Например, в одной таблице может храниться информация о пользователе, зарегистрированном на сайте, а в другой – информация о комментариях, которые оставил пользователь на сайте.
Наилучшее решение — хранить информацию типа списков, комментариев и т.д. в БД. Однако база данных далеко не всегда статичное образование, чаще наоборот, она регулярно пополняться и корректируется. Для легкости управления этими БД, изменения и добавления данных существуют системы управления базами данных (СУБД).
Одна из самых популярных СУБД в современных интернет-технологиях, бесспорно, MySQL.
Web-мастера даже придумали альтернативное название MySQL – «мускул». Поэтому, если вы когда-нибудь услышите выражение «движок на мускуле», это означает, что CMS использует базу данных MySQL .
К основным плюсам MySQL можно отнести высокую скорость работы, быстроту обработки данных и оптимальную надежность. Немаловажно и то, что данная СУБД распространяется бесплатно и представляет собой программное обеспечение с открытым кодом. За счет этого Вы можете вносить свои изменения и модифицировать код, что весьма полезно для веб-мастеров.
MySQL – это один из множества ПО для работы с SQL базами данных.
SQL – это структурированный язык запросов, созданный для управления реляционными БД. Он обладает широким перечнем возможностей, например, создать таблицу, редактировать и удалять данные, производить запросы из таблиц и многое другое.
Как же хранятся данные в реляционных базах данных?
Представьте себе самую простую таблицу имен, номеров телефонов, адресов и т.д. Именно так и хранятся данные реляционных БД – в таблице, организуются посредствам столбцов и строк. Каждому столбцу присвоено имя, которое отображается в названии, все значения в этом столбце принадлежат к переменным только одного типа. Столбцы расположены в определенном строгом порядке, в то время как строки неупорядочены. Зачастую данные некоторых ячеек в одной таблице связаны со значением ячеек другой таблицы и так далее. Запросы к БД возвращают результат в виде таблицы.
Данные в БД делятся на уникальные или неуникальные. Неуникальные – это имя, год рождения, время и т.д., в то время, как уникальные – номер кредитки, договора хостинг-услуг. Уникальные значения присутствуют в списках так называемого «уникального индекса»
Большим достоинством MySQL является возможность работы с интерфейсом программного приложения API (Application Program Interface). API может обеспечить простой доступ из программы пользователя к СУБД. Пусть даже эти программы будут написаны на на Perl, C и т.д.
Самой популярной «связкой» для управления сайтами считается MySQL с языком PHP. Многие CMS написаны на PHP в связке с БД MySQL. Одним из самых ярких примеров данного «союза» может служить движок для сайтов и блогов WordPress, завоевавший огромную популярность в мире. Взаимодействие с MySQL в данном случае ведется посредством совокупности функций. Примером такой функции может служить «mysql_connect», которая соединяется с сервером БД и возвращает дескриптор соединения с ней.
Существует множество СУБД поддерживающих SQL язык запросов: MySQL, mSQL, PostgreSQL, MSSQL и многие другие. Каждая из них имеет преимущества в определенной сфере. И все же именно MySQL завоевала широкое признание и популярность в Интернете благодаря своей гибкости и универсальности.
Что Такое MySQL: Объяснение MySQL Для Начинающих
Если вы хотите быстро разобраться в технической терминологии — вы попали по адресу. Мы делаем наш веб-хостинг простым и доступным, то же самое касается наших учебных материалов. Итак, что такое MySQL? Давайте разберёмся прямо сейчас.
Что такое MySQL?
Прежде всего, вы должны знать, как это произносится: MY-ES-KYOO-EL ’[май-эс-кью-эл]. Вы можете услышать и другие варианты произношения, но, по крайней мере теперь, вы знаете официальное произношение. Шведская компания MySQL AB первоначально разработала MySQL в 1994 году. Тогда американская технологическая компания Sun Microsystems полностью приобрела право собственности, купив MySQL AB в 2008 году. Американский технологический гигант Oracle в 2010 году приобрёл Sun Microsystems, а с тех пор MySQL практически принадлежала Oracle.
Что касается общего определения, MySQL это система управления реляционными базами данных с открытым исходным кодом (СУРБД) с моделью клиент-сервер. СУРБД — это программное обеспечение или служба, используемая для создания и управления базами данных на основе реляционной модели. Теперь давайте подробнее рассмотрим каждый термин:
База данных
База данных — это просто набор структурированных данных. Например, когда вы делаете селфи: вы нажимаете кнопку и фотографируете себя. Ваша фотография — это данные, а галерея вашего телефона — это база данных. База данных — это место, в котором хранятся данные. Слово «реляционный» означает, что данные, хранящиеся в наборе данных, организованы в виде таблиц. Каждая таблица связана в некотором роде. Если программное обеспечение не поддерживает реляционную модель данных, просто назовите её СУБД.
Открытый исходный код
Открытый исходный код означает, что вы можете свободно использовать и изменять его. Любой может установить программное обеспечение. Вы также можете изучить и настроить исходный код, чтобы он лучше соответствовал вашим потребностям. Однако GPL (GPU Public License) определяет, что именно вы можете сделать в зависимости от условий. Коммерческая лицензированная версия доступна, если вам нужно более гибкое владение и расширенная поддержка.
Модель клиент-сервер
Компьютеры, которые устанавливают и запускают программное обеспечение СУРБД, называются клиентами. Когда им нужно получить доступ к данным, они подключаются к серверу СУРБД. Это система «клиент-сервер».
MySQL является одним из многих вариантов программного обеспечения СУРБД. Считается, что СУРБД и MySQL одинаковы из-за популярности MySQL. Назовите несколько крупных веб-приложений, таких как Facebook, Twitter, YouTube, Google и Yahoo! все используют MySQL для хранения данных. Хотя изначально он создавался для ограниченного использования, теперь он совместим со многими важными вычислительными платформами, такими как Linux, macOS, Microsoft Windows и Ubuntu.
MySQL и SQL не совпадают. Помните, что MySQL является одной из самых популярных торговых марок программного обеспечения СУРБД, которая реализует модель клиент-сервер. Итак, как клиент и сервер взаимодействуют в среде СУРБД? Они используют специфичный для домена язык — язык структурированных запросов (SQL). Если вы когда-либо сталкивались с другими именами, в которых есть SQL, такими как PostgreSQL и сервер Microsoft SQL, они, скорее всего, являются брендами, которые также используют синтаксис SQL. Программное обеспечение СУРБД часто пишется на других языках программирования, но всегда использует SQL в качестве основного языка для взаимодействия с базой данных. Сам MySQL написан на C и C ++. Подумайте о странах Южной Америки, все они географически различны и имеют разную историю, но все они в основном говорят по-испански.
Инженер-компьютерщик Тед Кодд разработал SQL в начале 1970-х годов на основе реляционной модели IBM. Он стал более широко использоваться в 1974 году и быстро заменил аналогичные, тогда устаревшие языки, ISAM и VISAM. Помимо истории, SQL сообщает серверу, что делать с данными. Это похоже на ваш пароль или код WordPress. Вы вводите его в систему, чтобы получить доступ к области панели управления. В этом случае операторы SQL могут указать серверу выполнить определённые операции:
- Запрос данных: запрос конкретной информации из существующей базы данных.
- Обработка данных: добавление, удаление, изменение, сортировка и другие операции для изменения данных, значений или визуальных элементов.
- Идентификация данных: определение типов данных, например, изменение числовых данных в целые числа. Это также включает определение схемы или взаимосвязи каждой таблицы в базе данных.
- Контроль доступа к данным: обеспечение методов безопасности для защиты данных, в том числе принятие решения о том, кто может просматривать или использовать любую информацию, хранящуюся в базе данных.
Вы искали отличное решение для хостинга? Мы рекомендуем вам следить за страницей купонов Hostinger и быть первым, чтобы получить качественный хостинг по самой низкой цене на рынке!
MySQL — это просто!
Серверу MySQL, чтобы подключиться к нему, нужно передать 4 параметра:
- Хост . Это серовер, на котором расположен сервер MySQL. В абсолютном большинстве хост равен «localhost».
- Имя пользователя . Имя пользователя, который может работать с этой таблицей. На локальных компьютерах по дефолту поставлен «root». На хостинге — в зависимости от вас.
- Пароль . Пароль выбранного пользователя. По умолчания равен пустой строке — «».
- Имя Базы данных . Имя БД, как вы ее назвали. По умолчанию — «test».
Подключаться к серверу нужно с помощи команды:
$msconnect=mysql_connect( «Хост» , «Пользователь» , «Пароль» );
Выбирать конкретную Базу данных:
mysql_select_db( «Имя базы данных» , $msconnect);
Закрыть подключение нужно командой:
И соответственно полный пример подключения, выбирание нужной таблицы и закрытие подключеиния :
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
Создание таблиц. Заполнение информацией БД
Вот мы подключились к серверу MySQL и выбрали БД. Что дальше? Дальше нужно создать новую таблицу. Управления БД в MySQL управляется с помощью специального языка запросов SQL. Поначалу он кажется страшным, непонятным и сложным, но через некоторое время при активной работе с БД вы сможете легко читать самые сложные с виду SQL-запросы (сам так же путался в начале..). Начнем.
Передача SQL запроса БД . Для этого существует единственная команда:
mysql_query( «SQL-запрос» , «подключенная БД» );
Попробуем создать таблицу . Для этого передадим серверу такой SQL запрос:
Можно создавать сколько угодно полей. Заместо ТипПоля1 пишется:
- INT — целые числа
- TEXT — текстовая информация
Это 2 основных типа поля. На самом деле их очень много, но перечислять их — займет лишком много места. Итак, разобрались с созданием таблиц. Пример использования:
Добавление информации в БД
Для этого существует та же команда, только другой SQL-запрос:
Думаю, здесь никаких сложностей не возникнет. Единственное, значения поля с типом TEXT вводить в одинарных кавычках. И, как всегда, пример:
Изменение информации в БД
Для этого используется такая команда:
Такой командой мы обновляем записи, указанные в скобках, а данной таблице, если они подходят по какому либо условию (WHERE …). Это мы рассмотри чуть позже. Сейчас — пример:
Теперь полностью — подключение, создание таблицы, заполнение информации, ее обновление и закрытие подключения:
$mshost = «localhost» ; // Хост
$msuser = «root» ; // Имя пользователя
$mspassword = «» ; // Пароль
$msname = «test» ; // Имя базы данных
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_query(«CREATE TABLE test_zero ( num INT, title TEXT,
text TEXT)»,$msconnect);
mysql_select_db($msname, $msconnect);
mysql_query(«INSERT INTO test_zero VALUES ( 1 , ‘Заголовок статьи’ ,
‘Текст статьи’ )», $msconnect);
mysql_query(«UPDATE test_zero SET(num= ‘2’ , title= ‘Заголовок 2’ )
WHERE num= 1 «, $msconnect);
mysql_close($msconnect);
В итоге у нас появится новая таблица test_zero, в которой будет одна запись.
Получение информации из БД.
Допустим, у нас большущая БД, в которой хранятся сотни записей. Как же эти записи получить? Очень просто:
Командой SELECT мы получаем записи таблицы. Заместо строк «поле1, поле2, поле3» может стоять знак «*» , который означает, что нужно читать все поля записей. Можно выбрать только одно поле, которое нужно. Это ускоряет работу БД. Что делает цикл while ? Он означает, что пока в таблице есть записи, он будет помещать значения их полей в массив с помощью функции «mysql_fetch_array» , а как только записи кончатся, цикл остановится. Чтобы получить из массива данные, можно воспользоваться способом, который я указал в примере. Внутри цикла можно генерировать, к примеру, статьи, вытаскивая данные из БД. Вот пример:
while($row=mysql_fetch_array($res))
<
$num=$row[ num ];
$title=$row[ title ];
$text=$row[ text ];
Условия получения информации из БД
Когда в таблице сотни записей, получать все не всегда целесообразно. Для этого вводят какое либо условие:
Рассмотрим поподробнее строку «поле1 знак ‘значение’» . Поле1 — название поля, например «title» . Знак — логическое выражение, принимает значения:
- = — равно
- > — больше
- < — меньше
- != — не равно
lИх так же достаточно много, это основные.
ОПЕРАТОР — логический оператор:
- AND — логическое «и»
- OR — логическое «или»
Это так же основные.
Пример вытаскивания из таблицы записей, номер которых больше 10:
И, так сказать, итоговый пример применения БД:
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_query(«CREATE TABLE test_zero ( num INT, title TEXT,
text TEXT)»,$msconnect);
mysql_select_db($msname, $msconnect);
mysql_query(«INSERT INTO test_zero VALUES ( 1 , ‘Заголовок статьи’ ,
‘Текст статьи’ )», $msconnect);
mysql_query(«UPDATE test_zero SET(num= ‘2’ , title= ‘Заголовок 2’ )
WHERE num= 1 «, $msconnect);
mysql_close($msconnect);
$res=mysql_query(«SELECT * FROM test_zero «);
while($row=mysql_fetch_array($res))
<
$num=$row[ num ];
$title=$row[ title ];
$text=$row[ text ];
Ну вот и все! Конечно, это очень простой пример, но позволит вам научится простейшие работе с БД. На основе полученных знаний можно сделать гостевую книгу, скрипт выводящий новости, систему статистики и т.д.
Если бы мне попалась эта статья пораньше — я бы не стал ее писать. Когда я еще не знал MySQL, я перерыл статей 10. Достаточно быстро научился создавать таблицы и заполнять их. А вывести не получалось. Пришлось практически методом тыка учится. специально для этого я и написал эту статью.
MySQL — это что такое и где применяется?
Вопрос хранения информации с появлением баз данных преобразился, с появлением облачных идей видоизменился, но в конечном итоге разработчик имеет в своем распоряжении полнофункциональную базу и хранит информацию так, как ему кажется правильным, или так, как того требует проект.
MySQL имеет заслуженную репутацию. Это простая, эффективная и надежная система управления информацией, использующая традиционный язык SQL. В умелых руках MySQL — это реляционные идеи хранения и обработки информации в максимально широком спектре услуг, которые исторически сложились. Они отражают практическую целесообразность и представляют собой функциональность современной базы данных.
Рейтинг и место MySQL
Базы данных — востребованный набор инструментов для представления, хранения и обработки информации. Однако, вариантов реализации таких инструментов, то есть моделей и логики реляционных отношений между данными, всегда было много.
MySQL — не единственный вариант для эффективного представления данных и их использования, но в последние несколько лет MySQL — это наиболее часто используемое инструментальное средство.
Если говорить о применении систем управления сайтами, которые в последнее время очень востребованы программистами, то большинство из них основано на использовании именно MySQL. Часто выбрать другую базу просто невозможно.
Если речь идет о ручной разработке веб-ресурса, то проще и надежнее варианта MySQL найти сложно, хотя в таком (ручном) контексте всегда можно выбрать любую базу данных.
В большинстве случаев объективная закономерность выводит разработчика именно на PHP/MySQL. Эта пара стала де-факто лучшей в программировании сайтов и иных ресурсов для локальных и распределенных сетей обработки информации.
Подключение базы данных
Нет ничего проще, чем присоединиться к базе данных.
Здесь на локальном хосте «localhost» находится база «sci_exchange_base» к которой происходит подключение пользователя «sci_iN_WMiX» с паролем «POi17DO». После успешного подключения база данных становится доступной для работы или создается «по новой» функцией scCreateTables().
Такая логика, «если ничего нет или есть проблема: создать все вновь в исходном виде» делает любой код любого ресурса безопасным. Нет ничего проще, чем создать вновь, а не разбирать завалы проблем, создаваемых многочисленными посетителями ресурса, ошибками линий связи и технических средств:
- подключение к MySQL это — просто;
- работа с таблицами и данными проста;
- нет ничего проще, чем обеспечить протоколирование любого действия любого посетителя;
- создать распределенный поток процессов обработки информации, который адекватно и безопасно будет обеспечивать сохранность всех актуальных данных.
Использование базы данных
Практически любая операция с данными в PHP/MySQL — это запрос. Результат запроса — данные или изменение содержимого базы данных. Сама по себе MySQL — это инструментальное средство, которое использует свой функционал для исполнения своей функциональности.
Иначе говоря, управление базой, пользователи и другие административные возможности лежат и доступны в пределах ее таблиц и запросов MySQL query.
В подавляющем большинстве случаев разработчики придерживаются сложившегося опыта использования баз данных вообще. В частности, за основу берется стандартная конструкция запроса MySQL query, потом на PHP в коде анализируется результат.
В этом примере (1) — формирование строки запроса, (2) — исполнение запроса. Это обычное применение базы данных, описанное в MySQL manual, сложившееся на практике.
Здесь на вход функции передаются три параметра:
- список полей таблицы;
- имя таблицы;
- условия выборки.
В результате MySQL query делается выборка данных, которые записываются в строку данных и возвращаются в качестве результата работы функции.
Независимое использование MySQL
Функция iLineSel() — метод объекта доступа к базе. Здесь не принципиально использование объектов для доступа к информации, но принципиально разделение функционала на тот, который зависим от самой базы данных, и тот, который зависим от кода ресурса.
В подавляющем большинстве случаев MySQL — это четыре основных процедуры:
- вставка;
- удаление;
- изменение;
- выборка.
Представив эти четыре действия четырьмя функциями, можно «абстрагироваться» от формирования запросов query в виде MySQL строки.
Функции iLineSel(), iLineIns(), iLineDel(), iLineUpd() используются в коде и требуют указания имен таблиц, имен полей, условий и значений. Это удобно для кода ресурса. Внутри функций используются строки query и конструкции для доступа к базе данных.
Совместимость и эффективность
При таком подходе разработчик получает возможность использовать в своей работе набор конкретных функций базы данных в собственном представлении. Это упрощает его работу с другими разработчиками, делает его код более читабельным и исключает проблемы в случаях, когда меняется синтаксис или логика использования PHP или MySQL, а последнее часто очень важно.
Несовместимость версий — для современных инструментальных средств — норма вещей, причем характерно, то что в отличие от прошлых времен, когда требование совместимости было естественным, теперь стал важен аспект функциональности и эффективности, а совместимость ушла на задний план.
Функциональная динамика
Опыт использования баз столь велик, что многие концептуальные вещи стали слишком привычными. Но пример того, как объективно и естественно ушла на задний план концепция совместимости, позволяет заметить: далеко не все таблицы базы данных «прямоугольные» и совершенно не все отношения в базе данных — «реляционные».
По большому счету, появление в базах данных полей переменной длины само по себе сообщает, что далеко не всё укладывается в привычные рамки. Не каждая таблица имеет заголовки, не все строки обязаны иметь все поля, предусмотренные структурой таблицы. Да и таблица может иметь данные, обуславливающие её структуру, но не наоборот.
Последнее все чаще представляется нормальным и естественным. Широко применяемое объектно-ориентированное программирование в контексте баз данных, особенно в связке PHP/MySQL, позволяет создавать системы объектов, которые сами себя записывают в базу данных. Но поскольку эти объекты не обязательно всегда такие, какие были в момент создания, то и таблицы базы данных могут динамично меняться, когда хранят динамичные объекты.
В самом простом случае современная таблица — это строка или система строк, длина здесь не имеет значения, ее вполне можно эмулировать на уровне таблиц базы данных. А вот использование объектов позволяет эмулировать нужные свойства данных и абстрагироваться от жесткой структуры, реляционных идей, таблиц и привычного строгого синтаксиса работы с данными.