Пятница
29-03-2024
17:32
Главная страница
Каталог статей
Информист Приветствую Вас Гость | RSS
Регистрация
Вход
Меню сайта

Категории каталога
MySQL [8]
PostgreSQL [2]

Наш опрос
Что Вы веберете
Всего ответов: 230

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

Начало » Статьи » СУБД » MySQL

2. Создание БД

2. Создание БД

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

 mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| mysql    |

| test     |

| tmp      |

+----------+

Если база данных 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.

(http://www.mysql.ru/docs/man/Database_use.html)

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

 mysql> CREATE DATABASE menagerie;

 

В Unix имеет значение регистр символов в именах баз данных (в отличие от ключевых слов SQL), так что в этой ОС вам всегда придется называть свою базу menagerie, а не Menagerie, MENAGERIE или еще как-нибудь. Это же правило распространяется и на имена таблиц (в Windows данное ограничение не действует, однако при обращении к базам и таблицам в пределах одного запроса, тем не менее, можно использовать только один регистр).

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

 mysql> USE menagerie

Database changed

 Создавать базу нужно только однажды, но выбирать ее приходится в каждом сеансе работы с mysql. Делать это можно с помощью команды USE, представленной выше. А можно выбирать базу и из командной строки при запуске mysql. Для этого достаточно лишь ввести ее имя после параметров соединения, которые нужно вводить в любом случае. Например:

 shell> mysql -h host -u user -p menagerie

Enter password: ********

Обратите внимание: в вышеприведенной команде menagerie не является паролем. Ввести пароль в командной строке после параметра -p можно без пробела (например, -pmypassword, а не -p mypassword). Впрочем, пароль в командной строке все равно лучше не вводить, так как таким образом его могут и подсмотреть.

(http://www.mysql.ru/docs/man/Creating_database.html)

 Как вы уже успели убедиться, создать базу данных было просто. Однако пока что в ней ничего нет - в этом можно удостовериться при помощи команды SHOW TABLES: 

 mysql> SHOW TABLES;

Empty set (0.00 sec)

 При помощи команды CREATE TABLE определим структуру новой таблицы:

 mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),

    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

 Тип VARCHAR отлично подойдет для хранения имени животного, имени владельца и названия вида, так как длина данных этого типа может варьироваться. Конечно, длины таких столбцов вовсе не должны совпадать и не должны быть равны 20 - можно выбрать любое значение в пределах от 1 до 255 (если при выборе длины столбца вы ошибетесь, и при работе с базой окажется, что столбец маловат, можно будет исправить ошибку при помощи команды ALTER TABLE). 

 Пол животного можно обозначать несколькими способами, например буквами "m" и "f", или словами male (мужской) и female (женский). С буквами "m" и "f" будет проще. 

 Применение типа данных DATE для хранения дат рождения и смерти вполне очевидно. 

 Теперь, когда таблица создана, команда SHOW TABLES должна вывести следующее:

 mysql> SHOW TABLES;

+---------------------+

| Tables in menagerie |

+---------------------+

| pet                 |

+---------------------+

 Проверить, правильно была ли таблица создана в соответствии с планом, можно при помощи команды DESCRIBE:

 mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+

| Field   | Type        | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name    | varchar(20) | YES  |     | NULL    |       |

| owner   | varchar(20) | YES  |     | NULL    |       |

| species | varchar(20) | YES  |     | NULL    |       |

| sex     | char(1)     | YES  |     | NULL    |       |

| birth   | date        | YES  |     | NULL    |       |

| death   | date        | YES  |     | NULL    |       |

+---------+-------------+------+-----+---------+-------+

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

(http://www.mysql.ru/docs/man/Creating_database.html)

 Создав таблицу, нужно позаботиться об ее заполнении. Для этого предназначены команды LOAD DATA и INSERT. 

 Предположим, ваши записи соответствуют приведенным в этой таблице (обратите внимание: MySQL принимает даты в формате ГГГГ-ММ-ДД; возможно, к такой записи вы не привыкли). name       owner             species             sex       birth     death

 Fluffy   Harold             cat       f           1993-02-04    

Claws Gwen   cat       m         1994-03-17    

Buffy    Harold             dog      f           1989-05-13    

Fang    Benny dog      m         1990-08-27    

Bowser            Diane   dog      m         1998-08-31     1995-07-29

Chirpy Gwen   bird      f           1998-09-11    

Whistler           Gwen   bird                  1997-12-09    

Slim     Benny snake   m         1996-04-29    

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

 Создайте текстовый файл с именем `pet.txt', содержащий по одной записи в каждой строке (значения столбцов должны быть разделены символами табуляции и даны в том порядке, который был определен командой CREATE TABLE). Незаполненным полям (например, неизвестный пол или даты смерти живых на сегодняшний день животных), можно присвоить значение NULL. В текстовом файле это значение представляется символами \N. Например, запись для птицы Whistler должна выглядеть примерно так (между значениями должны располагаться одиночные символы табуляции):

name     owner species     sex       birth             death

Whistler   Gwen    bird      \N        1997-12-09     \N

 Загрузить файл `pet.txt' в таблицу можно с помощью следующей команды: 

 mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

 Маркер конца строки и символ, разделяющий значения столбцов, можно специально задать в команде LOAD DATA, но по умолчанию используются символы табуляции и перевода строки. Воспринимая их, команда сможет корректно прочитать файл `pet.txt'. 

 При добавлении одиночных записей используется команда INSERT. В самом простом варианте ее применения необходимо задать значения каждого столбца, в том порядке, в каком они были перечислены в команде CREATE TABLE. Предположим, Диана (Diane) купила хомячка по имени Puffball. Соответствующую запись в таблицу с можно внести с помощью команды INSERT примерно так: 

 mysql> INSERT INTO pet

    -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

 Обратите внимание на то, что здесь строковые выражения и даты представлены в виде ограниченных кавычками строк. Кроме того, в команде INSERT отсутствующие данные можно прямо заменять на NULL. Пользоваться эвфемизмом \N, как в команде LOAD DATA, нужды нет.

(http://www.mysql.ru/docs/man/Loading_tables.html)

Категория: MySQL | Добавил: Judge (19-10-2009)
Просмотров: 2725 | Комментарии: 1 | Рейтинг: 0.0 |

Всего комментариев: 1
1 Михаил Сандлер  
0
Добрый день. У меня ОС RASRBIAN, одноплатник RASPBERRY PI 2. Где и в какой папке находится база данных и таблицы? Как можно перенести мою БД и таблицы в ней на внешний жесткий диск?

Имя *:
Email *:
Код *:
Форма входа

Поиск по каталогу
Яндекс


Поиск по Информисту

Наша кнопка


Друзья сайта

Статистика


Copyright MyCorp © 2006Сайт создан в системе uCoz