Начало » Работа с БД MySQL » Создание базы данных MySQL (статья 4)

Создание базы данных MySQL (статья 4)

Создание базы данных MySQL (статья 4)

Итак, предполагаю, что Вы уже знакомы с элементарными принципами проектирования баз данных: нормализация, типизация и идентификация объектов в БД. Работать будем в командной строке Windows - это самый доступный клиент для БД. Хотя Вы можете использовать и любой другой клиент, например MySQL Workbench 5.2.34, в нем гораздо проще работать, но на началах рекомендую делать все ручками. Пару раз ошибетесь, третий раз уже точно правильно напишите и эта ошибка уже не повторится. ab



Перед стартом

Если на текущем этапе создать какой-либо объект БД в имени которого содержатся русские символы, можно получить вот такой ужас:

Создание базы данных MySQL (статья 4)

А если в базе уже есть русские символы (ну по каким-то причинам), так вот такие квазибобры:

Создание базы данных MySQL (статья 4)

Дело в том, что командная строка Windows работает с кодировкой cp866, а сервер отправляет данные в кодировке utf-8. Ну понятно, чтобы исправить этот косяк, надо серверу сказать, чтобы он отправлял данные в cp866. Для этого открываем конфиг сервера (C:/SERVER/MySQL/my.ini), и в нем есть 3 секции:

[client] - Настройка для всех клиентских программ.

[mysql]- Настройка для командной строки Windows.

[mysqld]- Настройка для самого сервера MySQL.


Ищем секцию [mysql], находим там строку:

default-character-set=utf8

и меняем на:

default-character-set=cp866

Сохраняемся, перезапускаем сервер и командную строку (закрыть -> открыть).


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

Для подключения к БД в командной строке используется используется вот такая команда:

mysql -uлогин -pпароль

По умолчанию логин root, а пароль тот, что Вы указывали в мастере по настройке сервера. У меня 123456.

Открываем командную строку Windows и пишем в ней вот такую загагулину:

mysql -uroot -p123456

Кстати, если Вы только что установили БД, и в мастере по настройке сервера Вы ставили флажок "Include Bin Directory in Windows PATH", и командная строка Вам вывалила ошибку мол не знаю никаких команд как mysql, ребутните комп.

После чего будет вот такая картина:

"Соединение с базой данных успешно установлено.""Соединение с базой данных успешно установлено."

Тут же клиент подсказывает, что признаком концом строки является ; и \g. Именно этими символами и будет оканчиваться каждый запрос. Поэтому сам запрос можно формировать хоть построчно, хоть в одну строку.

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

SHOW DATABASES;
"Автоматически созданные БД на пустом сервере.""Автоматически созданные БД на пустом сервере."

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

mysql - Содержит все настройки сервера MySQL: пользователи, привилегии, часовые пояса, хелпы, сообщения об ошибках и пр.

test - Пример пустой базы данных.

performance_schema - База данных, содержащая информацию для мониторинга производительности сервера. Честно сказать сам толком не знаю как ее реально на деле применить. cs


Создание базы данных

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

CREATE DATABASE [IF NOT EXISTS] имя_базы

Вообще в языке SQL все что создается, обычно начинается с CREATE. Необязательный параметр IF NOT EXISTS "Если не существует" будет осуществлять проверку на сосуществование уже имеющейся базы с таким же именем.

Выполним запрос:

CREATE DATABASE НоваяБазаДанных;
"Запрос успешно выполнен, обработан 1 ряд.""Запрос успешно выполнен, обработан 1 ряд."

Query OK, 1 row affected (0.01 sec) - Запрос успешно выполнен, обработан 1 ряд за 0.01 сек.

Также сервер поддерживает имена с пробелами, только для этого необходимо само имя заключать вот в такие закорючки `(не знаю даже как она называется). ac Располагается где ~ и буква Ё

Создадим теперь базу в имени которого есть пробелы:

CREATE DATABASE `Новая База Данных`;

И затем посмотрим список созданных БД:

SHOW DATABASES;
"Список созданных БД""Список созданных БД"
Вот, зелененьким выделены наши новые БД. bs

Удаление базы данных

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

DROP DATABASE [IF EXISTS] Имя_БД

Необязательный параметр IF EXISTS, "Если существует" осуществляет удаление только когда БД с указанным именем существует.

Т.к. Я явно знаю, что БД с таким именем существует, IF EXISTS указывать не буду, хотя вообще эти условия рекомендуется указывать, чтобы случае чего сервер не вываливал ошибок. Это важно, когда с сервером будет работать например какая то программа, скажем PHP. Ну и выполним запрос:

DROP DATABASE НоваяБазаДанных;

А затем:

SHOW DATABASES;
"База данных удалена.""База данных удалена."

База данных удалена.

P.S. Это сейчас все просто и понятно, потом непонятно будет. ag


Новость отредактировал: Владелец - 28-04-2012, 16:23
Причина: добавление настроек


Теги: MySQL, Работа с БД


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

Комментарии:

Оставить комментарий
  • hiwudopp

  • 13 сентября 2011 23:42
  • Статус: Гость
  • Аська:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
детализация!
  • Статус: Гость
  • Аська:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Спасибо, наконецто разобрался
  • Статус: Гость
  • Аська:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Ну хоть ктото толково объяснил
  • Статус: Гость
  • Аська:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
[этот рекламный комментарий засосало в андронный коллайдер]
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.