Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
17.02.2016
Размер:
387.58 Кб
Скачать

Просмотр существующих таблиц

Для просмотра имеющихся в БД таблиц (после выбора БД) используется команда:

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’;