- •Практическое занятие №3 Работа с сервером MySql при помощи терминального клиента mysql.Exe Теоретические сведения Введение
- •Подсоединение к серверу и отсоединение от него
- •Создание пользователей MySqLи назначение прав доступа
- •Использование mysqlв пакетном режиме
- •Выполнение запросов
- •Создание и выбор базы данных
- •Работа с таблицами Типы данных столбцов
- •Просмотр существующих таблиц
- •Создание таблицы
- •Просмотр структуры таблицы
- •Модификация структуры таблицы
- •Переименование таблицы
- •Добавление данных в таблицу
- •Обновление (модификация) данных в таблице
- •Удаление строк в таблице
- •Удаление таблицы
- •Определение ключей в бд Определение первичных ключей
- •Определение внешних ключей
- •Задание
- •Содержание отчета
Просмотр существующих таблиц
Для просмотра имеющихся в БД таблиц (после выбора БД) используется команда:
SHOW TABLES;
Создание таблицы
Синтаксис оператора определения таблиц содержит ряд обязательных и дополнительных параметров. Ниже приводится неполный вариант использования оператора, достаточный для выполнения лабораторных работ:
CREATE TABLEимя_таблицы
(имя_столбца тип_данных[NOT NULL][UNIQUE]
[DEFAULTзначение_по_умолчанию]
[AUTO_INCREMENT]
[PRIMARY KEY]
[CHECK (условие)] [,…])
[FOREIGN KEY REFERENCES имя_таблицы(имя_столбца)];
Параметры команды:
имя_таблицы |
- имя создаваемой таблицы |
имя_столбца |
- имя атрибута (поля) |
тип_данных |
- тип данных атрибута (поля) |
NOT NULL |
- спецификатор, указываемый для тех атрибутов (полей), которые не должны содержать пустых (NULL) значений |
UNIQUE |
- спецификатор, указываемый для тех атрибутов (полей), которые не должны содержать повторяющихся значений (требование уникальности) |
DEFAULT значение_по_умолчанию |
- значение по умолчанию, присваиваемое данному полю, используется после спецификатора DEFAULT |
AUTO_INCREMENT |
- спецификатор, указываемый для тех целочисленных атрибутов (полей), значения которых автоматически увеличиваются (инкрементируются) при добавлении новых строк. Обычно используется для первичных ключей |
PRIMARY KEY |
- спецификатор, указываемый для атрибутов (полей), являющихся первичными ключами |
CHECK условие |
- выражение ограничения целостности, накладываемые на значения атрибута (поля), используется после спецификатора CHECK |
FOREIGN KEY REFERENCES имя_таблицы(имя_столбца) |
- спецификатор, указываемый для атрибутов (полей), являющихся внешними ключами и связанными (первичным ключом) другой таблицы |
Пример создания таблицы:
CREATETABLEParts
(Part_ID INTEGER UNSIGNED NOT NULL,
Part_name VARCHAR(80),
Material VARCHAR(80),
WeightINTEGER CHECK (WEIGHT>0));
В этом примере на поле WEIGHT накладывается ограничение целостности, которое не позволяет для данного поля задавать отрицательные значения - CHECK (WEIGHT >=0).
Просмотр структуры таблицы
Для просмотра структуры таблицы можно использовать команду:
DESCRIBE<имя_таблицы>;
Модификация структуры таблицы
Модификация структуры таблицы – достаточно частая операция, связанная с изменениями, вносимыми в структуры БД в процессе ее жизненного цикла. Синтаксис оператора ALTERTABELмодификации структуры таблиц (неполный вариант использования оператора, достаточный для выполнения лабораторных работ):
ALTER TABLEимя_таблицы
ADD COLUMN определение_столбца
или ADD PRIMARY KEY имя_столбца
или ADD FOREIGN KEY имя_столбца
или CHANGE имя_столбца определение_столбца
или DROP COLUMN имя_столбца
или DROP PRIMARY KEY имя_столбца;
В данном синтаксисе под элементом «определение_столбца» понимается описание столбца, начиная с его имени и типа данных, как в операторе CREATETABLE.
Переименование таблицы
Для переименования таблицы используется оператор RENAMETABLE:
RENAME TABLE имя_таблицы новое_имя_таблицы;
Добавление данных в таблицу
Для добавления данных в таблицу предназначены операторы LOADDATAINFILEиINSERT.
Для добавления данных в таблицу при помощи оператора LOADDATAнеобходимо создать текстовый фай с данными, в котором каждая текстовая строка соответствует одной записи в таблице. Значения столбцов должны быть разделены символами табуляции и даны в том порядке, который был определен командойCREATE TABLE. После этого загрузить содержимое файла в таблицу можно одной командой.
Создадим текстовый файл parts.dat:
Выполним команду для загрузки данных в таблицу:
load data local infile "parts.dat" into table parts;
Если задано ключевое слово LOCAL, то файл читается с клиентского хоста. Если жеLOCALне указывается, то файл должен находиться на сервере.
При добавлении одиночных записей используется команда INSERT. В самом простом варианте ее применения необходимо задать значения каждого столбца, в том порядке, в каком они были перечислены в командеCREATE TABLE:
INSERT INTO parts VALUES (4,‘Wheel’,’Rubber’,12000);
Если порядок столбцов в таблице неизвестен, для его получения можно использовать DESCRIBE tbl_name.
Другой формой команды INSERTявляется синтаксис с явным указанием имен столбцов:
INSERT INTO parts (part_ID, part_name, material, weight) VALUES (5,‘Engine cap’,’Plastic’,1300);
Также возможен следующий синтаксис:
INSERT INTO имя_таблицы SET имя_столбца=(выражение | DEFAULT), ...
Столбцам, значения которых не были указаны в команде INSERT присваиваются значения NULL:
INSERT INTO parts SET part_ID=6, part_name=’Screw’;