Mysql для начинающих


Содержание

MySQL для начинающих

Как только мы задумываемся о каком-либо упорядоченном архивировании информации, мы неизбежно приходим к мысли о создании базы данных. Создав её, напрмер, в Microsoft Access, мы, облегчённо вздыхаем и на какое-то время успокаиваемся. Но это спокойствие длится не долго. И вот на нашем горизонте уже маячит следующая задача, продиктованная жизненной необходимостью, — нужно обеспечить доступ к этим данным через internet с рабочих станций, на которых, вполне возможно установлены, различные ОС. Естественно не мы первые, кому необходимо разрешить задачу подобного рода. Опыта других людей и средств для разрешению этой проблемы довольно много. Но хватит лирических отступлений. Мы воспользуемся языком , который позволяет пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию, независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.

SQL ( Обычно произносимая как «СЭКВЭЛ») символизирует собой Структурированный Язык Запросов. Это — язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах.

Что такое — реляционная база данных?

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

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

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

Связывание одной таблицы с другой

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

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

Язык SQL достаточно сложен и многогранен. При работе же небольшой фирмы, или базы данных в сети internet круг задач ограничен. Поэтому была создана небольшая, но очень быстрая и функциональная реляционная СУБД MySQL. Тоесть, как вы уже догадались в MySQL задействован не весь язык SQL, а только необходимая его часть. Но не нужно переживать относительно урезанности.

Перечислю основные приятные стороны пакета MySQL -это многопоточность, поддержка нескольких одновременных запросов, оптимизация связей с присоединением многих данных за один проход, записи фиксированной и переменной длины, ODBC драйвер в комплекте с исходником, гибкая система привилегий и паролей, до 16 ключей в таблице, каждый ключ может иметь до 15 полей. Также есть поддержка ключевых полей и специальных полей в операторе CREATE, поддержка чисел длинной от 1 до 4, строк переменной длины и меток времени, интерфейс с языками C и perl. Основанная на потоках, быстрая система памяти, утилита проверки и ремонта таблицы, все данные хранятся в формате ISO8859_1. Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках, псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице, все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей. Легкость управления таблицей, включая добавление и удаление ключей и полей.

Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL. СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п.

C API поддерживает все функции MySQL. Язык perl поддерживается сразу двумя способами:

  • Портирован интерфейс с perl из mini-SQL, разработанный Андреасом Коенигом.
  • Есть модуль perl DBD

Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC.

Кроме технических подробностей можно добавить, что MySQL работает как на Unix, так и на платформе Windows 95/98, он очень прост и удобен в работе.

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

Тем же кто пойдёт дальше предлагаю прочитать очень подробную инструкцию по установке и запуску MySQL.

И чтобы подвести итог, хотелось бы рассказать одну историю. Одной небольшой фирме потребовалось сделать на сайте базу данных по товарам. Человек, которому поручили сделать базу данных, создал её на Delphi. Так вот, когда пришло время размещать базу в сети, обнаружился очень неприятный факт. Все ISP работают на Unix, соответственно для размещения подобной базы нужно ставить у провайдера свой компьютер и платить, в среднем, около 50 у.е. за хостинг. В случае же если СУБД сделана под MySQL, то платить придется лишь за мегабайты:

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 и быть первым, чтобы получить качественный хостинг по самой низкой цене на рынке!

Основы SQL для начинающих с уроками

Приветствую вас на моем блоге start-luck.ru. Сегодня поговорим про sql запросы для начинающих. У некоторых вебмастеров может возникнуть вопрос. Зачем изучать sql? Разве нельзя обойтись html и css?

Оказывается, что для создания профессионального интернет-проекта этого будет недостаточно. Sql используется чтобы работать с БД и создания приложений для Вордпресс. Рассмотрим, как использовать запросы подробнее.

Что это такое

Sql — язык структурированных запросов. Создан для определения типа данных, предоставления доступа к ним и обработке информации за короткие промежутки времени. Он описывает компоненты или какие-то результаты, которые вы хотите видеть на интернет-проекте.

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

Что может делать

Язык sql позволяет:

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

Важно! Разобравшись с sql вы сможете писать приложения для Вордпресс любой сложности.

Какая структура

БД состоит из таблиц, которые можно представить в виде Эксель файла.

У нее имеется имя, колонки и ряд с какой-то информацией. Создавать подобные таблицы можно при помощи sql запросов.

Что нужно знать

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

На хостинге это делать неудобно, или же он вообще не дает такой возможности. Вот тут и понадобится Apache, MySQL и PHP. Настроить их по отдельности сложно. Можно упростить процесс установки локального сервера.

Рекомендую использовать Open Server. Это отличное решение для начинающих программистов все устанавливается просто и не придется отдельно настраивать локальный сервер и базу данных. Также вам придется изучить PHP.

Основные моменты при изучении Sql

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

Create database ‘bazaname’

В кавычках пишем имя БД на латинице. Старайтесь придумать для нее понятное имя. Не создавайте базу типа «111», «www» и тому подобное.

После создания БД устанавливаем кодировку windows-1251:

Это нужно чтобы контент на сайте правильно отображаться.

Теперь создаем таблицу:

CREATE TABLE ‘bazaname’ . ‘table’ (

id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,

Во второй строке мы прописали три атрибута. Посмотрим, что они означают:

  • Атрибут NOT NULL означает, что ячейка не будет пустой (поле обязательное для заполнения);
  • Значение AUTO_INCREMENT — автозаполнение;
  • PRIMARY KEY — первичный ключ.

Как добавить информацию

Чтобы заполнить поля созданной таблицы значениями, используется оператор INSERT. Пишем такие строки кода:

INSERT INTO ‘table’

(login , pass , date ) VALUES

(‘Vasa’, ‘87654321’, ‘2020-06-21 18:38:44’);

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

Важно! Соблюдайте последовательность названий и значений столбцов.

Как обновить информацию

Для этого используется команда UPDATE. Посмотрим, как изменить пароль для конкретного пользователя. Пишем такие строки кода:

UPDATE ‘table’ SET pass = ‘12345678’ WHERE >

Теперь поменяйте пароль ‘12345678’. Изменения происходят в строке с « >

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

Как удалить запись

Если вы написали что-то не так, исправьте это при помощи команды DELETE. Работает так же, как и UPDATE. Пишем такой код:

DELETE FROM ‘table’ WHERE >

Выборка информации


Для извлечения значений из БД используется команда SELECT. Пишем такой код:

SELECT * FROM ‘table’ WHERE >

В данном примере в таблице выбираем все имеющиеся поля. Это происходит если прописать в команде звездочку «*». Если нужно выбрать какое-то выборочное значение пишем так:

SELECT log , pass FROM table WHERE >

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

Удаление таблицы

Происходит при помощи запроса DROP. Для этого напишем такие строки:

DROP TABLE table;

Вывод записи из таблицы по определенному условию

Рассмотрим такой код:

SELECT id, countri, city FROM table WHERE people>150000000

Он отобразит записи стран где населения больше ста пятидесяти миллионов.

Объединение

Связать вместе несколько таблиц возможно используя Join. Как это работает посмотрите подробнее в этом видео:

PHP и MySQL

Еще раз хочу подчеркнуть, что запросы при создании интернет-проекта — это обычное дело. Чтобы их использовать в php-документах выполните такой алгоритм действий:

  • Соединяемся с БД при помощи команды mysql_connect();
  • Используя mysql_select_db() выбираем нужную БД;
  • Обрабатываем запрос при помощи mysql_fetch_array();
  • Закрываем соединение командой mysql_close().

Важно! Работать с БД не сложно. Главное — правильно написать запрос.

Начинающие вебмастера подумают. А что почитать по этой теме? Хотелось бы порекомендовать книгу Мартина Грабера « SQL для простых смертных ». Она написана так, что новичкам все будет понятно. Используйте ее в качестве настольной книги.

Но это теория. Как же обстоит дело на практике? В действительности интернет-проект нужно не только создать, но еще и вывести в ТОП Гугла и Яндекса. В этом вас поможет видеокурс « Создание и раскрутка сайта ».

Видео инструкция

Остались еще вопросы? Посмотрите подробнее онлайн видео.

Вывод

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

MySQL/Руководство для начинающих

Данный документ поможет пользователю в настройке и использовании MySQL.

Contents

Начало работы с MySQL

Введение

MySQL — это популярный сервер баз данных, используемый в разных приложениях. SQL означает язык структурированных запросов — (S)tructured (Q)uery (L)anguage, который MySQL использует для коммуникации с другими программами. Сверх того, MySQL имеет свои собственные расширенные функции SQL для того чтобы обеспечить пользователям дополнительный функционал. В этом документе мы рассмотрим как провести первоначальную установку MySQL, настроить базы данных и таблицы, и создать новых пользователей. Давайте начнем с установки.

Установка MySQL

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

По завершении установки, вы увидите следующее уведомление:

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

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

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

Если вы используете OpenRC, выполните данную команду:

Если вы используете systemd, вместо этого используйте следующую команду:

После этого установите пароль root:

Теперь вы можете проверить, что пароль root был успешно настроен, попытавшись войти на MySQL-сервер:

Параметр -u указывает пользователя, который будет выполнять вход. Параметр -h указывает хост. Обычно это будет localhost , если только вы не настраиваете удаленный сервер. И, наконец, -p сообщает клиенту mysql что вы будете вводить пароль для доступа к базе данных. Обратите внимание на приглашение mysql> . Это то место, где вы будете вводить все ваши команды. Теперь, когда мы в командной строке mysql в качестве пользователя root, мы можем начать настраивать нашу базу данных.

Настройка Базы Данных

Создание Базы Данных

Мы вошли и приглашение mysql показано на экране. Сначала, давайте рассмотрим базы данных, которые у нас имеются в настоящий момент. Чтобы это сделать, мы используем команду SHOW DATABASES .

Вопреки тому факту, что тестовая база данных уже создана, мы собираемся создать нашу собственную. Базы данных создаются с использованием команды CREATE DATABASE . Мы создадим одну из них под названием gentoo.

Ответ позволяет нам узнать, что команда была выполнена без ошибок. В этом случае, одна строка была изменена. Это является отсылкой к основной базе данных mysql, которая содержит список всех баз данных. Вам не нужно сильно беспокоиться о второстепенных деталях. Последнее число является характеристикой того, насколько быстро был выполнен запрос. Мы можем проверить, что база данных была создана, запустив команду SHOW DATABASES снова.

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

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

Работа с таблицами в MySQL

Создание таблицы

В структуру MySQL входят базы данных, таблицы, записи, и поля. Базы данных объединяют таблицы, таблицы объединяют записи, записи объединяют поля, которые содержат действительную информацию. Такая структура позволяет пользователям выбирать как они хотят обращаться к своей информации. На данный момент, мы разобрались с базами данных, теперь давайте поработаем с таблицами. Во-первых, таблицы могут быть перечислены, подобно базам данных, с использованием команды SHOW TABLES . Сейчас, в базе данных gentoo не имеется таблиц, как и показывает нам следующая команда:

Это означает нам надо создать какие-либо таблицы. Чтобы это сделать, мы используем команду CREATE TABLE . Однако, эта команда достаточно отличается от простой команды CREATE DATABASE тем что принимает список аргументов. Формат команды следует ниже:

table_name — это имя таблицы, которую мы хотим создать. В данном случае, давайте создадим таблицу с именем developers . Эта таблица будет хранить имя разработчика, email адрес и его должность.

field_name будет хранить имя поля. В этом случае мы имеем три требуемых имени: имя разработчика, email адрес, и должность.

field_data_type — это то, какой тип информации будет сохранен. Различные доступные форматы могут быть найдены по адресу MySQL Column Types Page . Для наших целей, мы будем использовать тип данных VARCHAR для всех наших полей. VARCHAR — это один из простейших типов данных, когда дело касается работы со строками.

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

Похоже, наша таблица была успешно создана. Давайте проверим это командой SHOW TABLES :

Да, наша таблица существует. Однако, она, по-видимому, не имеет никакой информации о типах полей, которые мы создали. Для этого, мы используем команду DESCRIBE (или, кратко, DESC ), которая принимает имя таблицы в качестве своих аргументов. Давайте посмотрим что она нам даст для нашей таблицы developers.

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

Заполнение Базы Данных MySQL

Мы заполним таблицу (или добавим в нее данные), используя команду INSERT . Подобно команде CREATE TABLE , она также имеет особый формат:

Эта команда используется для вставки записи в таблицу. table содержит таблицу MySQL, в которую мы хотим ввести информацию. Имя таблицы может сопровождаться списком столбцов для вставки данных, VALUES() хранит значения, которые вы хотите вставить в таблицу. Вы можете опустить список столбцов, если вы вставляете значение в каждый из них и если Вы пишете значения в том же порядке, в котором определены столбцы. В данном случае, мы хотим вставить данные в таблицу developers. Давайте добавим примеры записей:

В соответствии с полученным результатом, кажется, запись была вставлена правильно. Что если мы хотим ввести больше, чем просто одну запись? Это тот случай, когда команда LOAD DATA вступает в действие. Она загружает записи из файла, разделенного символами табуляции. Давайте это попробуем, отредактировав файл в домашнем каталоге пользователя и добавив в него записи. Мы назовем этот файл records.txt . Здесь приведен пример:

Команда LOAD DATA имеет в каком-то смысле пространное определение, но здесь мы используем ее самую простую форму.

/path/to/filename — это каталог и имя файла, которые будут использоваться. table — это имя нашей таблицы. В этом случае, наш файл —

/records.txt , а имя таблицы — developers.

/records.txt’ INTO TABLE developers;

Сработало хорошо. Однако, это просто вставляет записи, и не дает вам какого-либо контроля над MySQL. Множество веб-приложений используют скрипты sql для того чтобы настроить MySQL быстро и легко. Если вы хотите использовать скрипты sql, вам нужно запустить mysql в пакетном режиме, или использовать файл в качестве источника команд. Здесь приведен пример запуска mysql в пакетном режиме:

Как и в случае с LOAD DATA , убедитесь, что вы можете сказать что делает файл sqlfile . Невозможность этого может скомпрометировать вашу базу данных! Другим способом выполнения этого является использование команды source . Эта команда запустит команды из файла sql, находясь в интерактивном режиме mysql. Здесь показано как использовать sql file в качестве источника команд:

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

Запросы к Таблицам MySQL

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

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

Мы видим как данные, которые мы добавили с INSERT , так и вставленные LOAD DATA . Теперь, давайте предположим что мы просто хотим посмотреть запись для Chris White. Мы можем сделать это с помощью второй формы команды select, как показано ниже.

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

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

Привилегии MySQL

Привилегии — это то, каким доступом обладают пользователи к базам данных, таблицам, почти ко всему. На данный момент в базе данных gentoo, учетная запись MySQL root — это единственная учетная запись, которая может получить к ней доступ, учитывая ее разрешения. Теперь, давайте создадим двух обычных пользователей, guest и admin, которые получат доступ к базе данных gentoo и будут работать с информацией, хранящейся в ней. Учетная запись guest будет ограниченной в правах. Все, что он сможет сделать, это получить информацию из базы данных, и только это. admin будет иметь те же самые права на управление, что и root, но только к базе данных gentoo (а не основным базам данных mysql). Перед тем как начать, давайте рассмотрим подробнее этот, в некотором смысле, упрощенный формат команды GRANT .

Creating Users

The CREATE USER SQL statement will define users and set the authentication method, commonly by password but other plugins may be available.

An example CREATE USER command is:

user is the name of the user and host is the hostname the user will be accessing from. In most cases, this will be localhost. To create our users for this example:

Предоставление Привилегий Командой GRANT

Let’s have a closer look at this somewhat simplified format of the GRANT command.


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

  • ALL — Дает полный контроль базы данных со всеми привилегиями
  • CREATE — Позволяет пользователям создавать таблицы
  • SELECT — Позволяет пользователям делать запросы к таблицам
  • INSERT — Позволяет пользователям вставлять данные в таблицу
  • SHOW DATABASES — Позволяет пользователям просматривать список баз данных
  • USAGE — Пользователь не имеет привилегий
  • GRANT OPTION — Позволяет пользователям предоставлять привилегии

Для пользователя admin, подойдет уровень ALL. Для пользователя guest, SELECT будет достаточно для доступа только на чтение. database — это база данных, над которой пользователь, как мы того желаем, должен иметь эти разрешения. В этом примере, базой данных является gentoo. .* означает все таблицы. Если бы вы хотели, вы могли бы установить права доступа для каждой из таблиц. user — это имя пользователя, а host — имя хоста, с которого пользователь будет получать доступ. В большинстве случаев, это будет localhost. И наконец, password — это пароль пользователя. Учитывая эту информацию, давайте продолжим и создадим наших пользователей.

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

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

Проверка Пользовательских Разрешений

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

Теперь мы должны протестировать пользовательские ограничения. Давайте переключимся к базе данных gentoo:

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

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

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

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

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

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

Удаление Прав Доступа Пользователя Командой REVOKE

Команда REVOKE позволяет нам запретить доступ пользователю. Мы можем запретить или все права на доступ, или определенные права. В действительности, формат весьма схож с командой GRANT .

Здесь, параметры объясняются в разделе команды GRANT . Однако же, в этом разделе, мы собираемся запретить пользователю доступ полностью. Давайте предположим, мы обнаружили, что учетная запись guest вызывает некоторые проблемы с безопасностью. Мы решаем отозвать все привилегии. Мы заходим под учетной записью root и делаем то, что необходимо.

Давайте теперь выйдем и попытаемся зайти в качестве пользователя guest.

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

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

Удаление Учетных Записей с Использованием DELETE

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

DROP USER will delete the record in the user table and all privilege tables. Let’s go ahead and do that:

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

Наш пользователь успешно удален!

Заключение

В то время как это руководство сфокусировано, в основном, на настройке MySQL из командной строки, доступно несколько альтернатив с графическим интерфейсом:

  • phpMyAdmin — Популярный инструмент администрирования MySQL, основанный на php.
  • mysqlnavigator — Интерфейс QT к MySQL.
  • gmyclient — MySQL клиент, основанный на GNOME.
  • knoda — клиент MySQL для KDE.

Это завершает вводное руководство к MySQL. Я надеюсь это дало вам лучшее понимание основ MySQL и настройки базы данных.

Пробежимся по MySQL: просто для начинающих

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

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

Итак, приступим. Для начала необходимо подключиться к серверу MySQL. В консоле выполняем команду:

mysql -h localhost -u root -p

, где localhost — адрес сервера (в данном случае на текущем компьютере), а root — имя пользователя. После выполнения команды появится запрос на ввод пароля для БД:

, где ****** — ваш пароль к базе данных.

Если все прошло успешно, то вы увидите следующее

Сразу отмечу, чтобы выйти из mysql необходимо в консоле ввести \q и нажать enter. Остальные ключи можно посмотреть, введя \h.

Предлагаю сразу посмотреть список доступных баз данных командой

Хорошо, пришло время создать новую базу данных с именем test:

CREATE DATABASE test;

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

Выбрать нужную вам базу данных для работы легко:

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

К сожалению, таблиц не найдено. Необходимо создать новую таблицу.

Как видите, запрос разделен на 2 строки для удобства (символы -> означают продолжение запроса). Здесь можно прочитать подробнее про создание таблиц.

можно проверить созданную таблицу. Все очень легко. Рекомендую ознакомиться с оператором EXPLAIN — синоним DESCRIBE и используется для получения информации о структуре таблицы или выполняемом запросе.

INSERT INTO pet VALUES (‘Fluffy’,’Harold’,’cat’,’f’,’1993-02-04′,NULL);

Для того, чтобы выбрать все данные из таблицы выполняем запрос:

SELECT * FROM pet;

Пожалуй, один из популярных операторов SELECT в MySQL. Вот еще примеры работы:

SELECT * FROM pet WHERE name = ‘Bowser’;

SELECT * FROM pet WHERE birth >= ‘1998-1-1’;

SELECT * FROM pet WHERE species = ‘dog’ AND sex = ‘f’;

SELECT name, birth FROM pet;

SELECT DISTINCT owner FROM pet;

SELECT name, birth FROM pet ORDER BY birth;

SELECT * FROM pet WHERE name LIKE ‘b%’;

SELECT COUNT(*) FROM pet;

Можно приводить множество примеров до бесконечности. А еще можно просто использовать арифметические операторы в запросах, например,

SELECT 1 + 1 AS Summa;

Посмотреть данные запросы и их описание вы сможете в официальной документации по MySQL.

UPDATE `test`.`pet` SET `sex`=’f’ WHERE `name`=’Fang’ LIMIT 1;

Удалить все записи в таблице можно командой:

DELETE FROM pet;

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

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

До новых встреч и удачи в изучении MySQL.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

MySQL запросы для начинающих — часть первая

Большинство современных сайтов в настоящее время используют базы данных, преимущественно MySQL. Однако многие новички, создающие сайты или пишущие скрипты для них, например на PHP, мало знакомы с SQL-запросами, позволяющими делать выбор различных значений из базы данных. Для заполнения пробелов в этих знаниях и предлагается эта статья, а точнее небольшая серия статей.

Подключение к серверу MySQL и выбор базы данных

Для работы с базой данных естественно нужно сначала к ней подключиться. В большинстве случаев для этого используют либо работу из консоли, подключившись к серверу хостинга по протоколу SSH, либо скрипт PHP (однако все примеры SQL-запросов, приводимые в этой статье, можно использовать и в phpMyAdmin).

Подключение из консоли по протоколу SSH:

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

Подключение из скрипта PHP:

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

Пример для консоли SSH:

— получаем список всех баз данных:


— выбираем для работы базу данных example_db :

— если понадобится, то можно просмотреть структуру любой таблицы из базы данных example_db , которую вы выбрали для работы, к примеру таблицы clients :

Пример скрипта PHP:

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

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

SELECT — базовые запросы

Этот запрос возвращает все записи, поля и их значения из таблицы clients .

В следующем примере выбираются не все данные из таблицы clients , а только те, которые хранятся в столбцах name (имя) и address (адрес) клиентов:

Команда SELECT и виртуальная таблица DUAL

С помощью SELECT можно обращаться к виртуальной таблице DUAL (эта таблица реально НЕ существует в базе данных) и выполнять кое-какие действия, которые не имеют отношения к реальным таблицам. Например вы можете с помощью SQL-запроса произвести какие-то арифметические вычисления:

Скрипт PHP, который выполнит этот запрос и выведет на экран «500» как результат выражения (2+3)*100 :

Этот запрос вернет точное время и дату на сервере MySQL:

Приведенные в этом примере запросы можно выполнять и без указания «FROM DUAL»:

но все же, во избежание проблем и лучшего восприятия, не рекомендую использовать такой «сокращенный» вариант!

WHERE — ограничение по выбору данных

Выбираем всех клиентов, возраст которых больше 30, не равно 30, меньше 30, больше или равно 30 лет:

WHERE — ограничение по совпадению строк

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

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

Кроме того, в запросах со сравнением по строкам можно использовать и частичное совпадение строк (для подстановки «любых» символов используется знак процента % ). Например здесь будут выбраны все записи таблицы, в которых значение в колонке city будут начинаться с «Novo» (начало названий городов «Novopolotsk», «Novosibirsk» и т.д.):

Следующий запрос выберет все записи из таблицы clients , в которых имена клиентов заканчиваются на «лина» (например «Галина», «Ангелина»):

Ну и наконец выбор всех клиентов, проживающих в городах, названия которых содержат в любом месте подстроку «lug» (например «Kaluga», «Lugansk»)

WHERE — комбинирование условий с применением OR и AND

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

В данном примере из таблицы clients будут выбраны все клиенты, возраст которых не меньше 25 лет и при этом обязательно проживающие в городе Москва:

Здесь же, в отличие от предыдущего примера, из таблицы clients выбираются строки, в которых есть клиенты, проживающие в одном из двух городов, либо в Moscow , либо в Minsk :


Чтобы не делать из темы «MySQL запросы для начинающих» настоящую длинную «простынь», на этом первая часть обзора завершается.
Другие статьи из этой серии:
Вторая часть
Третья часть
Четвертая часть

PHP и MySQL

Основы MySQL: часть 1.

Что такое MySQL

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

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

Ещё один момент: что такое реляционная база данных? Реляционная — значит основанная на таблицах. Знаменитый редактор электронных таблиц Excel от Microsoft фактически является редактором реляционных баз данных.

Подключение к серверу MySQL

Для подключения к серверу MySQL в PHP используется функция mysqli_connect() . Данная функция получает три аргумента: имя сервера, имя пользователя и пароль.

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

Код подключения к серверу MySQL:

В данном случае я работаю на локальном компьютере на Denwere, поэтому имя хоста localhost, имя пользователя root, а пароля нет.

Соединение также нужно закрыть, после завершения работы с MySQL. Для закрытия соединения используется функция mysqli_close() . Расширяем пример:

Тут мы проверели идентификатор подключения на истинность, если с нашим подключением что-то не так, то и программа выполняться не будет, функция die() остановит её выполнение и выведет в браузер сообщение об ошибке.

Ошибки подключения

Для проверки подключения используются следующие функции:

  • mysqli_connect_errno() — возвращает код ошибки последней попытки соединения. При отсутствие ошибок возвращает ноль.
  • mysqli_connect_error() — возвращает описание последней ошибки подключения к серверу MySQL.

Функция mysqli_get_host_info() возвращает строку, содержащую тип используемого соединения.

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

Выбор базы данных

На сервере MySQL может быть несколько баз данных. Первым делом нам нужно выбрать для работы нужную нам базу. В PHP для этого в функции mysqli_connect() есть ещё один параметр — имя базы данных.

Я создал у себя на компьютере через phpMyAdmin с именем tester. Подключаемся к ней:

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

Создаём таблицу

В названии баз данных MySQL часть SQL обозначает Structured Query Language, что переводится как структурированный язык запросов. На языке SQL мы будем писать запросы и из программы PHP посылать их серверу MySQL.

Чтобы создать таблицу нам просто нужно указать команду CREATE TABLE . Давайте создадим таблицу с именем users в столбцах которой будут храниться логины (столбец login) и пароли (столбец password) пользователей.

В этом коде мы присвоили переменной $query строку текста, которая представляет собой запрос SQL. Мы создаём таблицу с именем users, которая содержит два столбца login и password, у обоих тип данных VARCHAR(20). О типах данных мы поговорим позже, сейчас только отмечу, что VARCHAR(20) — это строка максимальной длины 20 символов.

Чтобы отправить наш запрос на сервер MySQL мы используем PHP функцию mysqli_query() . Эта функция возвращает положительное число, если операция прошла успешно и false, если произошла ошибка (синтаксис запроса ошибочный или у программы нет прав на выполнение запроса).

Запрос SQL не обязательно записывать в переменную, его можно сразу записать как аргумент функции mysql_query() . Просто так код выллядит читабельней.

У этого скрипта есть один недостаток — он ничего не выводит в браузер. Давайте добавим сообщение:

Если мы повторно запустим этот скрипт на выполнение, то увидим в браузере сообщение: «Таблица не создана». Дело в том, что таблица была создана при первом запуске, а повторно невозможно создать таблицу с таким же именем. Мы столкнулись с ситуацией возникновения ошибки, значит настало время поговорить об обработке ошибок при работе с MySQL.

Обработка ошибок

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

  • mysqli_errno() — возвращает номер ошибки.
  • mysqli_error() — возвращает строку с описанием ошибки.

Теперь давайте добавим функцию mysql_error() в наш скрипт:

Теперь наш скрипт вернёт в браузер строку: «Таблица не создана: Table ‘users’ already exists».

Удаление таблицы

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

Для удаления таблицы используется команда DROP TABLE , за которой следует имя таблицы.

Итоги

Итак, мы освоили основы MySQL. Что мы научились делать:

  • Подключаться к базе данных MySQL при помощи функции mysqli_connect() .
  • Закрывать соединение с сервером MySQL при помощи функции mysqli_close() .
  • Отправлять SQL запросы серверу MySQL при помощи функции mysqli_query() .
  • Мы узнали SQL запрос создания таблицы: create table.
  • Мы узнали SQL запрос удаления таблицы: drop table.
  • Мы узнали как обрабатывать ошибки при помощи функций mysqli_errno() и mysqli_error() .

Теперь нужно идти дальше. В следующем уроке мы будем расширять наши знания в области запросов к MySQL. Мы научимся добавлять строки в таблицу, обновлять данные в уже существующих строках и проводить ещё некоторые операции.

Потом мы подробно рассмотрим типы данных MySQL.

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

MySQL Учебник: установка, создание БД и таблицы, вставка и выбор записей

Главное меню » Базы данных » База данных MySQL » MySQL Учебник: установка, создание БД и таблицы, вставка и выбор записей

1. Установка и настройка MySQL

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

  • Если вы устанавливаете на дистрибутиве на основе RedHat (например: CentOS), следовать этой статье: Установка MySQL на Ubuntu с помощью rpm
  • Вы можете также использовать yum groupinstall для установки группы базы данных MySQL.
  • Если вы хотите установить MySQL вместе с другими компонентами LAMP (Apache и PHP), следовать этой статье: Как установить или обновить LAMP

2. Создание базы данных MySQL

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

После подключения, как MySQL пользователя root, выполните следующую команду “mysql> ” для создания базы данных.

Следующая команда создаст базу данных с именем “andreyexbase”.

Используйте команду “show databases”, чтобы убедиться, что база данных была успешно создана.


3. Создать таблицу MySQL

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

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

Следующий пример создает таблицу сотрудников.

При копировании вставьте выше строки команды создания таблицы “mysql> ”, он будет отображать продолжение строки “->”, начиная со 2-й линии, что указывает на то, что команда еще не закончена. Конец команды SQL идентифицируется с помощью запятой.

Вы также можете использовать один из следующих типов данных.

  • dcode SMALLINT
  • MCode MEDIUMIN
  • project_start DATE
  • loggedon TIME

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

Для просмотра описания таблицы, выполните следующие действия.

4. Вставить запись в таблицу

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

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

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

5. Запрос записей из таблицы

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

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

Следующий оператор select имеет состояние, которое отображает записи о сотрудниках, которые принадлежат к техническому отделу и получают зарплату> = 7000.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Руководство по MySQL для новичков

Итак, в теперешней «лабораторной работе» понадобится: компьютер, собственно сам сервер СУБД MySQL, ярлык консоли под рукой (собственно, он всегда должен быть под рукой: хоть удобство работы под cmd и значительно уступает работе в консольке в Linux, но очень много вещей можно сделать из консоли быстрее, чем лезть через 3-5 менюшек за нужной опцией). Много вещей будет делаться именно через консоль. Конечно, существует множество «юзеро-ориентированных» программ, предназначенных для управления сервером, но рассматривать какую-либо одну не имеет смысла. Если вы будете знать основные команды, использовать MySQL в web-приложениях станет не просто легко, а очень просто! Установка MySQL. Устанавливать и использовать мы будем MySQL-сервер 3.23.38. Зачем вообще нужен SQL? На первый взгляд, для создания более-менее приличного сайта не требуется особых наворотов (каковыми некоторые считают PHP и SQL), но даже просто лог счетчика после пары-другой тысяч «оборотов» вам смотреть интересно не будет. Ежели в лог счетчика писать только время-дату, IP и имя компьютера посетителя, то лог в несколько тысяч строчек не только вытягивать каждый раз с сервера надоест, но и оперативно посмотреть, кто был, допустим, в ночь с четверга на пятницу на вашем, безусловно, замечательном сайте, будет очень трудно. А форум писать только, допустим, на PHP не просто довольно сложно, но и «неприятно».

Итак, инсталляция. Как таковая инсталляция не требует особо больших танцев с бубном. Жмем энное количество раз на кнопочку Next — и наслаждаемся. Пару слов о том, как хранятся данные в MySQL. По умолчанию каждая база данных хранится в отдельной папочке, название которой совпадает с названием этой базы данных, которые, в свою очередь, хранятся (опять же, по умолчанию) в папке DATA директории, в которой установлен сервер. Изменить дефолтовое местоположение данных можно следующим образом. Например, вы хотите создать базу данных, которая будет храниться, скажем, в E:/data/database_name, где database_name — имя базы данных. Тогда вы создаете файл database_name.sym в директории DATA и записываете в него всего одну строчку, которая содержит путь к местоположению вашей базы данных: «E:/data/database_name», и сохраняете. Если заглянуть в папки, в которых хранятся данные, то вы увидите там 3 файла. Данные хранятся в «оптимизированном» виде, т.е. не в виде простого текста — так просто их просмотреть не удастся. Итак, три файла: с расширениями .frm — в нем хранится информация о таблицах, содержащихся в БД, .myd — собственно данные и .myi — индексные данные. Теперь займемся безопасностью. Данные о пользователях MySQL хранит в специальной базе данных, которая называется mysql (оригинально, ничего не скажешь:-)). В ней 5 таблиц, в которых хранятся логины и пароли в зашифрованном виде, а также атрибуты доступа к таблице. Эти таблицы называются:

В таблицах columns_priv, tables_priv хранятся привилегии пользователей для доступа, соответственно, к колонкам и таблицам, в db — привилегии для доступа к базам данных, в host — информация о компьютерах, с которых подключаются юзвери к MySQL, и, наконец, в таблице user хранится информация о пользователях.
Более подробные сведения можно получить из мануала, который есть в установочном пакете (после установки он находится в mysql/Docs). Это почти «двухметровый» документ, в котором написано практически все, что нужно знать на первых порах, и не только на первых:-). Нас интересует, каким образом сменить юзверя с логином root (те, кто знаком с *nux, знают, что это такое, а для остальных поясняю: суперпользователь с неограниченными правами), а также сделать юзверя, из-под имени которого мы будем работать с сервером. В идеале такой пользователь должен быть только один. Остальные пользователи должны быть с ограниченными правами (главный принцип администрирования — что не разрешено, то запрещено). Дело в том, что по умолчанию суперпользователь не имеет пароля!! И если вы, например, занесете в свою базу данных какие-то сверхсекретные сведения, посмотреть, удалить, изменить их сможет каждый:-). Итак, сервер мы установили, начинаем администрирование. Находим директорию, в которую мы установили наш сервер (по умолчанию это C:\mysql). Находим директорию C:\mysql\bin и видим множество «экзешников». Для начала нам потребуется mysql.exe. Запускаем. Да, опции запуска из консоли можно посмотреть, написав что-то вроде

после чего будет выведена справка. Но пока они нам не понадобятся. Все sql-команды вводятся в командной строке и должны завершаться «;» или «\g». Для того, чтобы использовать базу данных, необходимо сначала ее выбрать. Для этого существует команда USE. Нам необходима БД «mysql»:

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

Просмотр имеющихся таблиц так же прост, как и просмотр имеющихся БД:

где databaseName — имя базы данных. Посмотрим, кто у нас числится в юзверях нашего сервера. Пишем

после чего получим список юзверей с названиями компьютеров, с которых им можно подключаться к серверу. Прежде, чем вы начнете экспериментировать с правами доступа к базам данных, советую вам скопировать папку mysql (с файлами соответствующей базы данных) куда-нибудь в отдаленное место для того, чтобы, если что-то не получится, можно было бы «откатиться».

Команда SELECT — она из самых частоиспользуемых команд. С ее помощью мы можем показать, какие данные нас интересуют, и попросить вывести ее на экран. Синтаксис ее таков:

Вместо «интересующие_столбцы_в_таблице» можно поставить «*», тогда нам будут выданы значения всех колонок, которые присутствуют в таблице. Чаще всего вместо » » пишут еще одно ключевое слово — WHERE. Синтаксис таков:

Так, теперь пишем:

где NEWpassword — новый пароль для суперпользователя. К слову, таким образом можно изменить пароль для любого юзверя. Немного поясню, что значат эти команды. Функция PASSWORD(‘string’) шифрует строку по определенному алгоритму, а команда UPDATE изменяет значение записи WHERE (где) в таблице user. К слову, все пароли в MySQL хранятся в зашифрованном виде.
Теперь нам нужно запретить суперпользователю подключаться с удаленных компьютеров. Для этого удаляем строчки со знаком «%». Пишем «DE-LETE FROM user WHERE Host=’%’;». Команда DELETE имеет похожий синтаксис с командой SELECT:

Я надеюсь, понятно, что команды необходимо набирать без кавычек. Да, последней командой мы также удалили и «пустого» юзверя. Теперь у нас только два пользователя с неограниченными правами: root и mentalzavr, пароль которого, к слову, вы должны были задать при первой загрузке WinMySQLAdmin (теперь он должен висеть в трее этаким светофором, зеленый свет на котором означает нормальную работу сервера, желтый — переходное состояние, а красный — останов сервера). Для того, чтобы наши изменения вступили в силу, необходимо либо перезапустить сервер, либо дать команду «FLUSH PRIVILEGES;». Дело в том, что большинство серверов самого различного назначения читают свой конфиг, где хранится большинство их настроек, только один раз при загрузке. Так и сервер MySQL читает базу данных с параметрами доступа к базам данных при загрузке либо принудительно после специальной команды. Перезапустить сервер можно из панели управления, если вы работаете в Windows NT-серии, к которой относятся Windows XP, 2000 и собственно сама NT:-), либо из той же самой пресловутой командной строки. Сначала посмотрим, как называется наша служба. Для этого воспользуемся так называемой расширенной консолью WMIC (WMI Command-line). Если вы до этого ею не пользовались, система вам ее установит (XP). Это очень мощный инструмент. Но не тема данной статьи:-). Итак, пишем

Видим название службы «MySql». Выходим из WMIC:

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

и стартуем снова:

Вы спрашиваете, зачем я все это рассказываю? Одна из причин — таким же образом можно останавливать и запускать любые другие службы. А вторая. Ну, представьте, что у вас стоит сервер MySQL где-нибудь в локальной сети, а ваш компьютер находится в другом здании, и вам необходимо срочно переконфигурировать его. Бежать к серверу и вживую его настраивать? Ну, вы как хотите, а мне лично лень. Коннектимся к серверу и удаленно админим:-). Кстати, программка mysql.exe, которой мы пользовались для подключения к серверу (а именно это мы и делали), может работать и с удаленным сервером. Это легко увидеть, запустив mysql.exe следующим образом:

где вместо «IP_address» — либо имя компьютера, к которому мы подключаемся, либо его IP-адрес:-). Ну вот, сервер мы перезапустили (или просто написали «FLUSH PRIVILEGES;»). Теперь, ежели все правильно, вы не сможете подключиться к своему серверу, просто запустив mysql.exe. Необходимо ввести пароль. Делается это таким образом:

Вас попросят ввести пароль на root, которые мы с вами задавали выше. Если все нормально, появится приглашение «mysql>», как и ранее. Теперь попробуем создать еще юзверей. Делается это так. Создадим троих юзверей с разными правами:

Кстати, если вы дадите команду «mysql> status», сервер вам выдаст некоторое количество полезной информации. Итак, мы создали трех юзверей. Первый — ferst — получает все права и может подключаться к серверу как с локального компьютера, так и удаленно, пароль для доступа ему назначен sam_pass. Второй юзверь — admin — получает права на reload и refresh, но может подключаться только с локального компьютера (что означает значок «%»), пароль на вход не назначен. Третий юзверь с именем doom может подключаться с локального компьютера, и он создан, так сказать, «бесправным», т.е. все глобальные привилегии ему не даны. То же самое можно было бы сделать по-другому. Например, вот так:

Наверное, необходимо пояснить, что это значит. Команда INSERT вставляет строчку в таблицу, название которой следует после слова INTO, в скобках даны названия столбцов, имеющихся в этих таблицах. После VALUES следуют значения, которые заносятся в соответствующие колонки. Значения необходимо заключать в кавычки. Последняя команда обновляет права доступа. Буква ‘Y’ означает включение соответствующей привилегии, ‘N’ — соответственно выключение. Таблица user имеет следующие столбцы (даны в том же порядке, что и в реальности):

Я думаю, что в пояснениях данная таблица не нуждается. Названия колонок говорят сами за себя (если вы, конечно, знаете английский, как я — на уровне 5-го класса хотя бы:-)). Естественно, что, ежели в предыдущих командах буквы ‘Y’ заменить на ‘N’, соответствующий пользователь соответствующего права и не получит:-). Теперь разберемся, каким образом можно изменять права юзверей при подключении к базе данных. Для этого существует команда GRANT.

Поясню, что делают эти команды. После команды GRANT следует список привилегий, которые необходимо предоставить юзверю custom. После слова ON идет название базы данных, после точки можно указать конкретную таблицу в этой базе данных, а звездочка означает «любая». А после слова TO идет имя_юзверя@имя_ компьютера, с которого этот юзверь сможет подключаться. Знак процентов означает «любой_компьютер». После слов IDENTIFIED BY следует указать в кавычках пароль, который будет требоваться у юзверя при входе. В данном случае это ‘stupid’. Конечно, подобного результата можно добиться и непосредственной модификацией таблицы user. Например, вот так:

Я думаю, понятно, что делает данная команда. Она вставляет в таблицу user запись со значениями в столбцах, которые записаны после слова VALUES. Соответствующей модификацией этой команды можно достичь тех же результатов, что и использованием команд, изложенных выше. И не забудьте после того, как внесете изменения, дать команду FLUSH PRIVILEGES;. Теперь, после того, как вы успешно создали юзеров, переходим к более интересной части — собственно созданию базы данных. Для создания базы данных необходимо из той же директории, что и программу mysql.exe, запустить программу mysqladmin.exe. Если вы запустите эту программу просто без опций, она выдаст вам список параметров запуска. Собственно, и все использование этой программы сводится к запуску ее с соответствующими опциями. Итак, нас прежде всего интересует создание и удаление баз данных, а также подключение через логин и пароль к удаленному серверу (лень — воистину двигатель прогресса!). Подключаемся к удаленному серверу hostname с использованием логина root пароля, который у нас после спросят.

Вместо OPTIONS необходимо написать собственно то, что мы хотим сделать. Создание базы данных с именем database_name:

Удаление базы данных database_name после подтверждения и ввода пароля:

Существуют также и другие параметры запуска, на которых мы особо останавливаться не будем, хотя они не менее важны. Сведения о них вы получите, как я вам уже сказал, запустив mysqladmin без опций. Итак, мы создали базу данных. Теперь необходимо создать таблицы, в которых, собственно, и будут храниться данные. Любая таблица должна относиться к какой-либо базе данных. Поэтому запускаем mysql.exe и выбираем только что созданную базу данных «mysql> use database_name» Для создания таблицы существует команда CREATE. Синтаксис таков:

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

Таблиц в базе данных может быть несколько. Теперь вкратце остановимся на типах данных в таблице. Их довольно много, и поэтому я думаю на первых порах (а данная статья предназначена для предоставления только НАЧАЛЬНЫХ сведений об администрировании СУБД MySQL, и ни в коем разе не является полным руководством) ограничиться нижеизложенным. Пожалуй, наиболее часто встречающимся полем в таблицах является порядковый номер. Это довольно удобно. Так, в MySQL существует возможность создать таблицу со столбцом, значение которого будет изменяться на единицу с каждой новой записью. Теперь о том, как это делается. Как обычно, пишете в консоли:

Данные команды выбирают в качестве текущей базу данных test и создают таблицу с именем table_name с двумя колонками. Первая колонка имеет атрибут Extra «auto_increment». Это значит, что при добавлении записи в эту таблицу значение (число) в этом столбце будет автоматически увеличиваться на единицу. Посмотреть свойства колонок таблицы можно следующим образом (дав соответствующую команду):

Так, теперь коснемся остальных типов данных. Числовые. Их присутствует большое количество, основными являются (на мой взгляд) INT и FLOAT. Те, кто знаком хотя бы немного с языком программирования С++, поймут сразу же, что первый из них — это целочисленный тип данных. FLOAT — тип данных, используемый для хранения чисел с плавающей точкой. Типы данных даты и времени. К ним относятся DATA, TIME, YEAR, а также некоторые другие. Формат хранения данных в типе DATA — «YYYY-MM-DD», в типе TIME — «HH:MM:SS», в типе YEAR — «YYYY». И практически основным типом данных является CHAR. К текстовым типам также относятся TEXT (65535 символов максимально) и некоторые другие.

И в заключение я хотел бы дать несколько полезных команд, которые помогут вам использовать консоль более эффективно. Все советы действительны для cmd.exe — командного процессора Windows. Для начала вам необходимо включить использование мыши в консоли. Для этого щелкните правой кнопкой мыши на заголовке открытого окна консоли и выберите Свойства. И на первой закладке поставьте галочки напротив пунктов Выделение мышью и Быстрая вставка, а также напротив Отбрасывать повторения. Теперь вы можете в консоли использовать все прелести работы с буфером обмена. Выделение мышью происходит как обычно, копирование в буфер обмена — при нажатии на правую кнопку. Вставка производится в место нахождения курсора также правой кнопкой. Пара слов об автоматизации процесса первичного занесения данных в таблицы. Если вы создаете базу данных с нуля, то никаких проблем практически не возникает (ну, если не считать большого количества организационной работы и непосредственно кодинга, в процесс которого входит создание хотя бы web-интерфейса:-). Конечно, пару-другую строчек можно занести и в консоли. Ну, а ежели у вас имеется какой-то текстовый файл с записями, данные из которых нужно перевести в БД MySQL? Тут воевать только буфером обмена с бесконечным повторением действий «копирование-вставка» может только ну очень большой… трудоголик. Ну, а мы как умные люди можем поступить проще (правда, все в этом мире относительно). Дело в том, что можно в качестве аргумента в команде

передать имя файла «File_name», и этот файл будет выполнен. Что он собой представляет? Это просто последовательный список SQL-команд. Теперь нам остается только сгенерировать такой файл, что в каждом отдельно взятом случае делается по-разному — тут нужно смотреть по обстановке. Конечно, можно пойти еще дальше и написать программу для автоматического занесения данных в БД. Но для простых задач можно просто даже текстовый файл с написанными в нем командами скопировать в буфер и вставить в приглашение MySQL. «Вводы» будут восприниматься как знак завершения команды. Только не забывайте ставить в конце каждой строчки «;», ведь в mysql.exe команды можно вводить и в многострочном режиме, поэтому могут случаться накладки. Правда, есть и альтернативный способ. Если у вас есть текстовый файл с записями в виде таблицы, и они в нем разделены при помощи запятых и знаков окончания строки либо каких-то иных символов (тогда следует внести изменения в параметры следующей команды, заменив запятую и «\n» на соответствующие знаки), можно использовать команду

Результатом данной команды должна явиться таблица. В файле поля должны быть разделены запятыми, а каждая запись — начинаться с новой строки. Следует помнить еще и о такой вещи, как кодировка. Если все данные вносить через консоль, то они будут храниться в DOS-кодировке, и при выводе таких данных — например, если в html-странице используют PHP — вы увидите «абракадабру». Чтобы этого не происходило, заносите данные только в одной кодировке или перекодируйте их с помощью специальных функций (для PHP это функция $text_after=convert_cyr_string ($text,»w»,»d»), где два последних параметра указывают соответственно на то, что исходная кодировка — Windows, а конечная после перекодировки — DOS). И напоследок. Гораздо приятней работать с консолью, так всеми нелюбимой, ежели сделать что-то вроде этого:

На несведущих людей действует довольно своеобразно:-).
А. Спичеков

MySQL Основы

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

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

Как я уже писал в разделе MySQL, мы будем использовать MySQL в PHP, хотя, освоив работу в PHP, Вы без проблем сможете подстроиться и под другой язык (например, Java), так как принципы одни и те же, и разница лишь в синтаксисе языков. Но это на будущее, а пока необходимо научиться использовать данное программное обеспечение в PHP. Разумеется, Вам потребуются знания по написанию скриптов на языке PHP, поэтому если Вы ещё не умеете этого делать, то сначала научитесь работать с этим языком, и только потом переходите сюда.

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

Прочитав статьи по основам MySQL, Вы узнаете:

1) Какая разница между SQL и MySQL.

2) О структуре базы данных.

3) Какие типы полей имеются в MySQL.

4) Какие привилегии у пользователей в MySQL.

5) Какие возможности есть у ПО PHPMyAdmin.

6) Как управлять пользователями в PHPMyAdmin.

7) Как управлять базами данных в PHPMyAdmin.

8) Как управлять таблицами в PHPMyAdmin.

9) Как управлять записями в PHPMyAdmin.

10) Об индексах в MySQL.

11) Как подключиться к базе данных через PHP.

12) Как отправить запрос к базе данных в PHP.

13) Как импортировать базу данных через PHPMyAdmin.

14) Как узнать синтаксис SQL-запроса через PHPMyAdmin.

15) Как конвертировать CSV в SQL.

16) Как сделать регистрозависимый поиск для MySQL.

17) Как исправить ошибку max user connections в MySQL.

18) Как оптимизировать запросы к MySQL.

19) Как руссифицировать PHPMyAdmin в Denwer.

20) Как узнать последний ID в MySQL.

21) Как импортировать базы данных больших размеров.

22) Что такое репликация в MySQL.

23) Как правильно создавать структуру базы данных.

24) Стоит ли хранить изображения в базе данных.

25) Как создать триггер в MySQL.

26) Как исправить ошибку server has gone away.

27) Как нормализовать базу данных.

28) Какой движок для базы данных выбрать.

29) Зачем сайту MySQL? Таблицы, строки, запросы.

Илон Маск рекомендует:  Что такое код ansiupper
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL