ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.01.2024
Просмотров: 52
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
-
Создание базы данных в среде СУБД и основы работы с ней-
Цели работы
-
Теоретические сведения
-
Создание базы данных, основы работы с таблицами MySQL
-
Создание базы данных в Windows
-
-
-
1. Запустите сервер MySQL, выполняя команду mysqld-shareware -standalone в строке приглашения в каталоге c:\mysql\bin.
2. Затем вызовите программу клиента mysql, вводя в строке приглашения mysql.
3. Приглашение изменится на mysql>. Введите команду:
create database employees;
(Примечание: Команда заканчивается символом точки с запятой).
4. Сервер MySQL должен ответить примерно как на рисунке.
Рисунок 1 Результат работы команды создания таблицы
[Запрос обработан, изменилась 1 строка (0.00 сек)]
5. Это означает, что была успешно создана база данных. Теперь давайте посмотрим, сколько баз данных имеется в системе. Выполните следующую команду.
show databases;
Сервер ответит списком баз данных, как показано на рисунке.
Рисунок 2 Просмотр баз данных
Здесь показаны три базы данных, две были созданы MySQL во время установки и вновь созданная база данных employees.
6. Чтобы вернуться снова к приглашению DOS, введите команду quit в приглашении mysql.
-
Создание базы данных в Linux
1. Пусть пользователь работает под своей учетной записью, а не как суперпользователь root. Необходимо запустить терминальный сеанс и стать суперпользователем (Для этого выполните команду su и введите пароль суперпользователя root).
2. Запустим сервер MySQL. Вводим:
mysql -u root -p
Система предлагает ввести пароль пользователя root MySQL, который был задан при установке MySQL в Linux. (Примечание: Это пароль пользователя root системы MySQL, а не пользователя root системы Linux). Введите пароль, который не изображается на экране по соображениям безопасности.
После успешной регистрации, система выводит приветствие и приглашение mysql, как показано на рисунке.
Рисунок 3 Приветствие системы
(Вас приветствует монитор MySQL. Команды заканчиваются символами ; или \g. id соединения с MySQL равен 1 для сервера версии: 5.01.01. Введите 'help', чтобы получить справку).
3. Теперь можно создавать базу данных employees. Выполните команду:
create database employees;
(Примечание: команда заканчивается точкой с запятой)
4. Важно отметить, что эта база данных создается пользователем root и поэтому будет доступна только тем пользователям, которым это разрешит root. Чтобы использовать эту базу данных с другой учетной записью, например, misha, необходимо задать соответствующие полномочия, выполняя следующую команду:
GRANT ALL ON employees.* TO freak@localhost IDENTIFIED BY "pass"
Эта команда предоставляет учетной записи freak@localhost все полномочия на базу данных employees и задает пароль pass. Для любого другого пользователя freak можно заменить на любое другое имя пользователя и выбрать подходящий пароль.
5. Закройте сеанс mysql, вводя в приглашении команду quit. Выйдите из режима суперпользователя и перейдите в свою учетную запись. (Введите exit).
6. Чтобы соединиться с MySQL с помощью обычной учетной записи, введите:
mysql -u имя_пользователя -p
Затем введите после приглашения пароль. (Этот пароль был задан выше командой GRANT ALL...). После успешной регистрации в MySQL система выведет приветственное сообщение. Сеанс пользователя должен выглядеть как показано на рисунке.
Рисунок 4 Приветствие системы MySQL
7. Ввод команды SHOW DATABASES; выведет список всех доступных в системе баз данных.
mysql> SHOW DATABASES;
Введите quit в строке приглашения mysql>, чтобы выйти из программы клиента mysql.
Команда CREATE DATABASE
Синтаксис команды CREATE DATABASE имеет вид:
CREATE DATABASE [IF NOT EXISTS] имя_базы_данных
[спецификация_create[,спецификация_create]...]
Команда CREATE DATABASE создает базу данных с указанным именем. Для использования команды необходимо иметь привилегию CREATE для базы данных. Если база данных с таким именем существует, генерируется ошибка.
спецификация_create:
[DEFAULT] CHARACTER SET имя_набора_символов
[DEFAULT] COLLATE имя_порядка_сопоставления
Опция спецификация_сrеаtе может указываться для определения характеристик базы данных. Характеристики базы данных сохраняются в файле db.opt, расположенном в каталоге данных. Конструкция CHARACTER SET определяет набор символов для базы данных по умолчанию. Конструкция COLLATION задает порядок сопоставления по умолчанию.
Базы данных в MySQL реализованы в виде каталогов, которые содержат файлы, соответствующие таблицам базы данных. Поскольку изначально в базе нет никаких таблиц, оператор CREATE DATABASE только создает подкаталог в каталоге данных MySQL.
- 1 2 3 4 5 6 7
Работа с таблицами
Теперь рассмотрим команды MySQL для создания таблиц базы данных и выбора базы данных.
Базы данных хранят данные в таблицах. Чем же являются эти таблицы?
Проще всего таблицы можно представлять себе, как состоящие из строк и столбцов. Каждый столбец определяет данные определенного типа. Строки содержат отдельные записи.
Рассмотрим таблицу, в которой приведены персональные данные некоторых людей:
Имя | Возраст | Страна | |
Михаил Петров | 28 | Россия | misha@yandex.ru |
Джон Доусон | 32 | Австралия | j.dow@australia.com |
Морис Дрюон | 48 | Франция | md@france.fr |
Снежана | 19 | Болгария | sneg@bulgaria.com |
Приведенная выше таблица содержит четыре столбца, в которых хранятся имя, возраст, страна, и адрес e-mail. Каждая строка содержит данные одного человека. Эта строка называется записью. Чтобы найти страну и адрес e-mail Снежаны, сначала надо выбрать имя в первом столбце, а затем посмотреть содержимое третьего и четвертого столбцов этой же строки.
База данных может содержать множество таблиц, именно таблицы содержат реальные данные.
Следовательно, можно выделить связанные (или несвязанные) данные в различные таблицы. Для базы данных employees определена одна таблица, которая содержит данные компании о сотрудниках, а другая таблица будет содержать персональные данные. Давайте создадим первую таблицу.
Команда SQL для создания такой таблицы выглядит следующим образом:
CREATE TABLE employee_data
(
emp_id int unsigned not null auto_increment primary key,
f_name varchar(20),
l_name varchar(20),
title varchar(30),
age int,
yos int,
salary int,
perks int,
email varchar(60)
);
Примечание: в MySQL команды и имена столбцов не различают регистр символов, однако имена таблиц и баз данных могут зависеть от регистра в связи с используемой платформой (как в Linux). Поэтому можно вместо CREATE TABLE использовать create table.
За ключевыми словами CREATE TABLE следует имя создаваемой таблицы employee_data. Каждая строка внутри скобок представляет один столбец. Эти столбцы хранят для каждого сотрудника идентификационный номер (emp_id), фамилию (f_name), имя (l_name), должность (title), возраст (age), стаж работы в компании (yos), зарплату (salary), надбавки (perks), и адрес e-mail (email).
За именем каждого столбца следует тип столбца. Типы столбцов определяют тип данных, которые будет содержать столбец. В данном примере столбцы f_name, l_name, title и email будут содержать текстовые строки, поэтому тип столбца задан как varchar, что означает переменное количество символов. Максимальное число символов для столбцов varchar определяется числом, заключенным в скобки, которое следует сразу за именем столбца. Столбцы age, yos, salary и perks будут содержать числа (целые), поэтому тип столбца задается как int. Первый столбец (emp_id) содержит идентификационный номер (id) сотрудника. Его тип столбца выглядит несколько перегруженным, поэтому рассмотрим его по частям:
int: определяет тип столбца как целое число.
unsigned: определяет, что число будет без знака (положительное целое).
not null: определяет, что значение не может быть null (пустым); то есть каждая строка в этом столбце должна иметь значение.
auto_increment: когда MySQL встречается со столбцом с атрибутом auto_increment, то генерируется новое значение, которое на единицу больше чем наибольшее значение в столбце. Поэтому мы не должны задавать для этого столбца значения, MySQL генерирует их самостоятельно. Из этого также следует, что каждое значение в этом столбце будет уникальным.
primary key: помогает при индексировании столбца, что ускоряет поиск значений. Каждое значение должно быть уникально. Ключевой столбец необходим для того, чтобы исключить возможность совпадения данных. Например, два сотрудника могут иметь одно и то же имя, и тогда встанет проблема – как различать этих сотрудников, если не задать им уникальные идентификационные номера. Если имеется столбец с уникальными значениями, то можно легко различить две записи. Лучше всего поручить присваивание уникальных значений самой системе MySQL.