Что такое mysql. Почему используют MySQL? Что такое запросы

04.03.2019

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 – если вы создавали или поддерживали веб-сайты, или администрировали сервера под управлением Linux, или разрабатываете разное корпоративное ПО. Но если даже вы пока не знакомы с этим чрезвычайно мощным и удобным продуктом – не беда, далее мы расскажем все тонкости применения и работы с MySQL.
Итак, MySQL – это реляционная база данных (СУБД, система управления базами данных), распространяемая под лицензией OpenSource GPL (точнее – под двойной лицензией, для OpenSource программ она бесплатна, для коммерческого применения платная).

Давайте сперва на секунду отвлечемся и посмотрим, какие еще СУБД есть на рынке, ведь большинство крупных софтверных компаний имеет в своем арсенале базу данных. Наверное, первой, с которой вы познакомились, являлась Microsoft Access. Это типичный представитель "легких" баз данных, отлично подходящий для использования дома, для учета личных коллекций или на небольшом предприятии для автоматизации рутинной работы. Для более серьезных применений есть ее "старший брат" — Microsoft SQL Server – ему уже доступно практически все. С легкостью обрабатывая в считанные секунды базы данных объемом в сотни тысяч и миллионы строк (в таблицах могут быть сохранены разные данные, это значит, что каждый столбец таблицы может содержать произвольные данные – от простого номера до огромных текстовых массивов в единицы и десятки Мб). Еще к таким "тяжеловесам" относятся СУБД компании IBM – DB2 и Oracle одноименной компании. Поскольку практически все языки программирования, применяемые для создания веб-приложений, имеют встроенную поддержку этих баз, напрямую или через ODBC, то на основе таких "промышленных" СУБД в основном строятся корпоративные порталы и веб-сервисы, для которых критична нагрузка и требуется способность работать с большими объемами данных. К примеру, язык PHP может работать с Sybase, PostgreSQL, MS SQL Server, Oracle, Informix, InterBase, Ingres, а также с любыми другими базами через интерфейс ODBC.

MySQL не одинока на рынке…

Еще есть класс "средних" СУБД – как по цене, так и возможностями они отличаются от описанных выше. Это например, Borland Interbase, MS Access, PostgreSQL и особый предмет нашего разговора – MySQL. Эти базы довольно простые для обучения и программирования, дешевы или вовсе бесплатные и отлично подходят для создания различных приложений (как традиционных, так и веб) приложений, где не требуется космическая надежность и устойчивость.

Но по ряду параметров лучшая!

Почему мы рассказываем вам именно о MySQL? Потому что она бесплатная (GPL OpenSource)? Не только. Потому что это очень небольшая по размерам СУБД (всего 25 — 30 Мб дистрибутива, в отличии от целого CD MS SQL Server или сотни полторы Мб MS Access)? Тоже нет. Потому что она очень быстрая (особенно на операциях чтения, когда дынные считываются с таблиц и выводятся в ответ на запрос клиента – именно поэтому БД стала популярна в среде Интернета, где важна именно скорость чтения)? И это не самое главное. А может потому, что это очень динамично развивающийся продукт, результат работы сотен людей так называемой "виртуальной" компании MySQL AB (виртуальная она потому, что сотрудники не сидят в одном офисе, а раскиданы по всему свету и постоянно связаны только через сеть Интернет)? Да, и это тоже, но не только. Если честно, я сам не возьмусь сказать, что привлекло меня именно в MySQL – просто однажды я попробовал поработать с ней и понял, что отныне все мои проекты любого масштаба будут использовать только эту СУБД – MySQL!

Существует несколько параллельных веток разработки

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

  • стабильная – MySQL 3.23.xx (а теперь еще и ветка 4.1.хх). Эта версия протестирована многими и успешно работает на тысячах серверов, она рекомендована для применения в любых проектах;
  • бета – версия в разработке, рекомендована только для изучения и ознакомления с новыми функциями. Ранее все версии MySQL 4.xx.xx имели статус беты.
  • гамма – это следующая ступень после беты, означает, что СУБД проработала больше месяца без существенных (критических) сбоев. Ее можно, в принципе, смело применять, но разработчики предупреждают, что эта версия еще тестируется, и они не гарантируют, что она совершенна.
  • альфа – это только для истинных фанатов и разработчиков. Сейчас это MySQL 5.0.x. В альфа-версиях еще много ошибок, но уже можно пробовать и исследовать функции и возможности, которые появятся в следующих версиях.

Не знаю, как вы, я но сразу скачал себе версию 5.0.0 (еще альфа). За почти год экспериментов альфа-версия ни разу не подвела – все работает как часы. Может, разработчики излишне перестраховываются, но главное — что они очень хорошо работают, поэтому для ознакомления и работы можно использовать как бета-верии (ветка 5.х), так и недавно выпущенные версии MySQL 4.1.х. Для особо требовательных вариантов применения можно использовать давно проверенные и стабильные версии 3.23.х, если не требуются какие-то особые функции.

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

Инсталляция MySQL не сложнее любой другой программы

Инсталляция MySQL очень проста, практически все сводится к нажиманию кнопки "Далее". По умолчанию программа устанавливается в директорию "c:\mysql", хотя вы можете свободно изменить этот путь как в процессе установки, так и в любой момент просто скопировав всю дерикторию в другой каталог или диск. В общих чертах MySQL состоит из нескольких программ (они размещены в виде отдельных exe-файлов в каталоге "c:\maysql\bin", которые работают вместе. Подробнее о назначении каталогов и файлов в дистрибутиве MySQL говорится в статье « ».

Сам сервер СУБД MySQL функционирует как отдельная программа. Непосредственно к нему вы не можете обратиться – для этого существуют специальные программы. Одной из них является терминал mysql – он принимает команды от пользователя и соеденившись с сервером MySQL (который может быть как на другом компьютере в локальной сети, так и на сервере в Интернет-е, или же на том же компьютере — это не имеет значения, для вас как пользователя это совершенно прозрачно) отправляет их на исполнение, обратно принимая результат (например, выбранные данные из базы, или ответ сервера о успешном завершении указанной операции или сообщение об ошибке). Другие программы могут сами взаимодействовать с сервером напрямую, командный терминал нужен лишь для общения пользователя с сервером.

Кстати, сервер MySQL почти сразу показывает свое "не-Windows" происхождение – простого клика по исполняемому файлу mysqld-nt.exe недостаточно для запуска. Проще всего сначала запустить какую-либо графическую утилиту – MySQL Manager или MySQL Administrator и уже потом запускать или останавливать сервер. Дело в том, что для запуска/остановки сервера надо указать много разных параметров, и их запоминание и набор каждый раз из командной строки неудобен. Раньше, когда не было утилит, надо было создавать ярлыки и присваивать им команды. Теперь управлять сервером стало гораздо проще. Но все же знание команд и опций для запуска сервера очень полезно – самые важные из команд описанны в статье " "

Вот теперь мы подошли к раздорожью. Поясню – в принципе, все пользователи СУБД (не только MySQL, но и любой другой) делятся на две категории:

  • разработчики приложений, которые используют СУБД для хранения и управления данными;
  • администраторы, которые настраивают и поддерживают работу сервера СУБД.

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

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

С точки зрения прикладного разработчика, работа с сервером MySQL заключается в том, что он подключается к серверу, открывает соединение с указанной базой и работает с таблицами в этой базе данных. Для работы ему необходимо знать параметры соединения с сервером (если сервер на том же компьютере, то это: host: localhost, port: 3306; login/password получается у администратора, по умолчанию это root с пустым паролем) и имя базы данных. Далее все взаимодействие с таблицами происходит через ввод и исполнение SQL-запросов и обработкой возвращенных результатов.

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

Теперь MySQL поддерживает кластеризацию

Что объединяет всех пользователей, работающих с СУБД (снова таки, не обязательно с MySQL) – это то, что основным языком общения с сервером является SQL – структурированный язык запросов. Существует несколько версий этого языка, MySQL пока поддерживает синтаксис ANSI SQL 92 с некоторыми ограничениями. Да, следует признать, что в СУБД MySQL пока не поддерживаются некоторые функции и возможности, которые определены в стандартах SQL или присутствуют в других СУБД (в том же Oracle или MS SQL Server). Но для этого есть причины – одни функции нужны только при разработке высокоустойчивых кластеров, другие существенно влияют на скорость или ресурсоемкость (разработчики MySQL всегда делали ставку на скорость работы, поэтому часто прямо говорили, что та или иная функция не включена, поскольку влияет на скорость). Поскольку долгое время, да и сейчас, одной из основных сфер применения MySQL является веб-разработка и поддержание динамических веб-сайтов, то такая позиция была оправданна и выгодная. Но, следуя общей тенденции, разработчики потихоньку сближают возможности "тяжелых" СУБД и MySQL – уже версия 5.0 (а начальная поддержка кластеризации внедрена уже в текущую версию 4.1), которая пока в стадии разработки, позволяет строить очень мощные отказоустойчивые сервера, а пакет MySQL Cluster позволит создавать сервера СУБД с надежностью 99,999% (время простоя 5 минут/год), что сразу же выводит MySQL на рынок серьезных корпоративных решений.

Отдельные решения из "тяжелых СУБД" после длительного тестирования попадают и в стабильные версии. Например, поддержка транзакций. Транзакция – это несколько последовательных запросов к БД, которые выполняются или все вместе, или не выполняются вообще. Если первый запрос вставляет данные в одну таблицу, второй в другую, а третий считывает все эти данные и обрабатывает их, то при использовании транзакций никогда не будет такой ситуации, когда данные в первую таблицу уже вставлены, а во вторую еще нет, а операция считывания уже исполняется и дает ложный результат. Если происходит ошибка на какой-либо отдельной операции в транзакции, то делается "откат", и данные остаются такими же, как и до исполнения транзакции. Но если вы используете сервер СУБД в режиме "по-умолчанию", вы даже не заметите новых функций – это существенно при переносе ПО и баз из предыдущих версий СУБД. Если вам действительно нужно использовать новые возможности – это делается вручную, через команды SQL или опции сервера. Например, поддержка транзакций введена через новый формат таблиц – InnoDB. По умолчанию используется привычный формат MyISAM, который универсальный для всех версий сервера (и платформ), а если надо получить доступ к новым возможностям – пожалуйста, это делается заданием опций при создании таблицы (в операторе CREATE TABLE после описания полей новой таблицы пишется предложение TYPE=). Такой способ введение новшеств очень удобен – сохраняется обратная совместимость, а новые возможности применяются только тогда, когда они действительно нужны.

Любой тип данных займет свое место в СУБД MySQL

Еще надо сказать о типах данных, которые поддерживает MySQL. Именно от этого зависит, какие данные сможет разработчик сохранять в базе. Конечно, присутствуют числовые данные – как целые числа (TINYINT, MEDIUMINT, INT, BIGINT), так и вещественные – (FLOAT, DOUBLE, DECIMAL). Для хранения строк применяются или типы CHAR и VARCHAR, длиной до 255 символов, или TEXT, MEDIMTEXT, LONGTEXT для хранения произвольных текстовых массивов. Для хранения двоичных данных используют те же типы – BLOB, MEDIUMBLOB, LONGBLOB – разница между ними в чувствительности к регистру символов и возможности полнотекстового поиска (он поддерживается для типов TEXT и производных). Для хранения даты и времени есть типы DATE, TIME, DATETIME, TIMESTAMP и YEAR. Для перечисляемых типов, значения которых заданы заранее, есть два варианта – SET и ENUM. Комбинируя в таблице поля указанных типов, а при необходимости применяя еще программную обработку данных можно сохранять и управлять практически любыми данными.

Вы все еще сомневаетесь, стоит ли применять СУБД MySQL в своих разработках? Смею заверить, она отлично справится с работой в качестве корпоративного сервера. Или вы считаете, что MySQL не выдержит нагрузки и для вашего приложения лучше купить более "тяжелую" СУБД типа MS SQL Server или Oracle? Попробуем вас переубедить.

MySQL поддерживает таблицы до 512 Гб и до 60 тыс. таблиц в базе

MySQL реально поддерживает работу с большими базами данных. К примеру, размер таблицы может достигать 512 Гб (именно, Гигабайт). Конкретный размер таблицы определяется операционной системой, под управлением которой запущен сервер (таблица представлена одним файлом, поэтому ее максимальный размер ограничен возможностями файловой системы и ОС). Для платформы Intel (32-х разрядной) + Linux/Windows размер таблицы может достигать 4 Гб и более, а указанные 512 Гб можно получить, используя Sun Solaris на платформе UltraSPARC. Впечатляет? Отдельные клиенты MySQL AB рассказывали, что работают с базами данных, содержащими до 60 000 таблиц (!) в одной базе и до 5 миллиардов записей в таблице (!!). А теперь поддержка MySQL Cluster позволит поднять этот показатель еще выше. Более того, даже если ваша ОС или файловая система не поддерживает большие файлы, можно использовать данные, разнесенные на две и больше таблиц в режиме одной – несколько таблиц (физически размещенные в нескольких файлах) будут на уровне базы данных (в SQL-запросах) обрабатываться и отображаться как одна большая таблица.

Даже на старых ПК MySQL отлично работает

Я один раз из чистого любопытства сделал тест на своем компьютере (конфигурация: Intel Celeron 400, 320 RAM, Win2000 Pro Sp4, MySQL 4.01, сервер mysqld-nt-max.exe) – простенький скрипт обрабатывал данные в одной таблице – вставлял, потом сортировал, по нескольким критериям выбирал и переносил в другую таблицу, а потом удалял из исходной. И так в цикле. По статистике, у меня получилось обрабатывать до 285 запросов в секунду, при этом на компьютере можно было более-менее нормально параллельно работать в MS Office.

На сегодняшний день курсы SQL "для чайников" становятся все более популярными. Это можно очень просто объяснить, ведь в современном мире все чаще можно встретить так называемые "динамичные" веб-сервисы. Они отличаются достаточно гибкой оболочкой и основываются на Все начинающие программисты, которые решили посвятить сайтов, прежде всего записываются на курсы SQL "для чайников".

Зачем изучать данный язык?

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

Что такое SQL?

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

Какие процедуры можно совершать с помощью этого языка?

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

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

Какие команды являются самыми популярными в данном языке?

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

  1. DDL - является командой, которая определяет данные. Она используется для того, чтобы создавать, изменять и удалять самые разнообразные объекты в базе.
  2. DCL - является командой, которая управляет данными. Ее используют для предоставления доступа разным пользователям к информации в базе, а также чтобы использовать таблицы или представления.
  3. TCL - команда, которая управляет разнообразного рода транзакциями. Ее главной целью является определение хода транзакции.
  4. DML - манипулирует полученными данными. В ее задачу входит позволение пользователю перемещать различную информацию из базы данных или вносить туда ее.

Типы привилегий, которые существуют в этом сервере

Под привилегиями подразумеваются те действия, которые может выполнить тот или иной пользователь в соответствии со своим статусом. Самой минимальной, безусловно, является обычный вход в систему. Конечно же, со временем привилегии могут меняться. Старые будут удаляться, а новые добавляться. На сегодняшний день, все те, кто проходит курсы SQL Server "для чайников", знают, что существует несколько типов разрешенных действий:

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

История создания SQL

Этот язык был создан исследовательской лабораторией IBM в 1970 году. В то время название его было несколько иным (SEQUEL), но через несколько лет использования его поменяли, немного сократив. Несмотря на это, даже сегодня многие известные мировые специалисты в области программирования все еще произносят название по старинке. Создана была SQL с одной-единственной целью - изобрести язык, который был бы настолько простым, что его могли бы без особых проблем выучить даже простые пользователи Интернета. Интересен тот факт, что на то время SQL был не единственным подобным языком. В Калифорнии еще одна группа специалистов разработала похожий Ingres, но он так и не стал широко распространенным. До 1980 года существовало несколько вариаций SQL, которые лишь в некоторой мере отличались друг от друга. Чтобы предотвратить замешательства, в 1983-м был создан стандартный его вариант, который популярен и сегодня. Курсы SQL "для чайников" позволяют узнать намного больше о сервисе и полностью изучить его за несколько недель.

Многие, начав изучать мир Web , ещё понятия не представляют, что такое База Данных . Но почти все пользователи Интернета уже хоть раз использовали её - сохранение пользовательских данных на сайте, обработка поисковых запросов и многое другое. Большинство данных сохраняется именно в Базе Данных, а для того, чтобы отобразить определённую информацию обрабатывает запрос для БД. Так что же это такое?

База данных - комплекс данных (информации), которые структурированы и взаимосвязаны между собой.

В качестве примера можно привести библиотеку . Да-да, там не просто стоят книжки на полках, а существуют различные виды Каталогов, по которым библиотекарь может найти определённую книги (по алфавиту - автору или названию, по стеллажу, по тематике). Таким образом, приняв запрос на книгу, далее можно было её найти по определённому признаку. Можно сказать, что в библиотеке хранились и обрабатывались данные. Но данные не представляли ли бы такого интереса, если бы ими нельзя было ещё и управлять! Так мы приходим к следующему термину.

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

В общем СУБД - это система, позволяющая создавать базы данных и манипулировать сведениями из них. А осуществляет этот доступ к данным СУБД посредством специального языка - SQL.

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

Из истории SQL

В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL , позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language - «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL .

Датой создания считается 1974 год.
Авторами считаются Дональд Чэмбэрлин , Рэймонд Бойс .
Первый стандарт принят в 1986 году.

Что такое MySQL

MySQL - система управления базами данных, которая может работать с PHP, Java, Perl, C, C++ и другими языками программирвоания. Одна из самых распространённых СУБД в мире. Входит в популярные портативные сборки серверов Denwer и XAMPP , а также в серверы WAMP, LAMP, AppServ . Написана на C, C++. разработчик - Oracle (c 2010 года).

Примеры SQL запросов

Выведет список ВСЕХ баз.

SHOW databases;
Выведет список ВСЕХ таблиц в Базе Данных base_name.

SHOW tables in base_name;
Выбирает ВСЕ данные в таблице tbl_name.

SELECT * FROM tbl_name;
Более подробно с запросами можно ознакомиться в статье

MySQL - это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.

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

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

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

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

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

Возможности MySQL

MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL:

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

2. Количество строк в таблицах может достигать 50 млн.

3. Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.

4. Простая и эффективная система безопасности.

Недостатки MySQL

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

В MySQL отсутствуют:

1. Поддержкавложенныхзапросов, типа SELECT * FROM table1 WHERE id IN (SELECT id FROM table2). Утверждается, что такая возможность будет в версии 3.23.

2. Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE.

3. Нет поддержки внешних (foreign) ключей.

4. Нет поддержки триггеров и хранимых процедур.