Создание и использование базы данных


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

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

  • создавать базу данных

  • создавать таблицу

  • записывать в таблицу данные

  • извлекать данные из таблицы различными способами

  • работать с несколькими таблицами сразу

Наша база данных будет чрезвычайно проста (это мы сделали намеренно), но совсем несложно придумать реальные задачи, решение которых потребовало бы применения подобной базы данных. Такая база, например, может пригодиться скотоводу для хранения информации о поголовье или ветеринару - для учета пациентов. Готовая база данных menagerie, в которой содержатся некоторые из запросов и данные из приведенных ниже разделов, находится на web-сайте MySQL. Ее можно загрузить в виде сжатого tar-файла (http://downloads.mysql.com/docs/menagerie-db.tar.gz) или Zip (http://downloads.mysql.com/docs/menagerie-db.zip).

Узнать, какие базы существуют в настоящее время на сервере, можно при помощи команды SHOW:

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
| tmp      |
+----------+

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

Впрочем, всех баз вы можете и не увидеть, если у вас нет привилегии SHOW DATABASES. Синтаксис команд GRANT и REVOKE.

Если база данных test существует, попробуйте обратиться к ней:

mysql> USE test
Database changed

В команде USE, как и QUIT, точка с запятой не нужна (конечно, данные команды тоже можно завершать точкой с запятой - никакого вреда от этого не будет). Команда USE отличается от остальных и кое-чем еще: она должна задаваться одной строкой.

Базу данных test (если, конечно, у вас есть доступ к ней) можно использовать для работы с приведенными ниже примерами, но все созданное в ней может быть уничтожено любым другим пользователем, имеющим к ней доступ. Поэтому вам лучше попросить у своего администратора MySQL разрешение на создание собственной базы. Предположим, вы захотите назвать ее menagerie («зверинец»). В таким случае администратору нужно будет набрать примерно такую команду:

mysql> GRANT ALL ON menagerie.* TO your_mysql_name;

где your_mysql_name - присвоенное вам имя MySQL.