Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ход работы. «Добавление данных в MySQL»




Практическая работа № 5

«Добавление данных в MySQL»

 

Цель: отработать навыки добавления данных в таблицы базы данных в MySQL.

 

Задание:

1. Добавление данных с использованием однострочного оператора INSERT.

2. Добавление данных с использованием многострочного оператора INSERT.

3. Пакетная загрузка данных.

 

Задание на самостоятельную работу

 

4. Оформить отчет по практической работе и подготовиться к ее защите.

 

Содержание отчета

 

1. Тема, цель работы, задание

2. Описание выполняемых команд

3. Описание полученных результатов

 

 

Пример выполнения задания.

 

5.1 Добавление данных с использованием однострочного оператора INSERT.

 

Однострочный оператор INSERT может использоваться в нескольких формах. Упрощенный синтаксис первой формы выглядит следующим образом:

INSERT [IGNORE] [INTO] tbl [(col_name...)] VALUES (expression,...)

Просмотр данных, помещенных в таблицу, осуществляется при помощи запроса SELECT * FROM <table_name>.

Добавить новую запись в таблицу Рабочие (working) можно при помощи запроса, представленного на рисунке 5.1. Строковые значения необходимо помещать в кавычки, в то время как числовые значения допускается использовать без них.

 

 

Рисунок 5.1 – Добавление новой записи в таблицу Рабочие (working)

 

 

Рисунок 5.2 – Результат добавления данных

 

Список столбцов col_name, размещенный после имени таблицы, позволяет изменить порядок следования столбцов при добавлении (рисунок 5.3, 5.4).

 

 

Рисунок 5.3 – Изменение порядка следования столбцов при добавлении

 

 

Рисунок 5.4 – Результат добавления данных

 

Следует помнить, что первичный ключ таблицы является уникальным значением, и добавление уже существующего значения приведет к ошибке (рисунок 5.5).

 

 

Рисунок 5.5 – Сообщение об ошибке повторяющегося значения первичного ключа

 

Если необходимо, чтобы новые записи с дублирующим ключом отбрасывались без генерации ошибки, необходимо добавить после оператора INSERT ключевое слово IGNORE (рисунок 5.6).

 

 

Рисунок 5.6 – Использование ключевого слова IGNORE

 

При добавлении новой записи с уникальными индексами выбор такого уникального значения может быть непростой задачей. Для того чтобы не осуществлять дополнительный запрос, направленный на выявление максимального значения первичного ключа для генерации нового уникального значения, в MySQL введен механизм его автоматической генерации. Для этого достаточно снабдить первичный ключ атрибутом AUTO_INCREMENT. Тогда при создании новой записи в качестве значения ключевого поля достаточно передать NULL или 0 – поле автоматически получит значение, равное максимальному значению столбца, плюс единица.

На рисунке 5.7 отображено добавление данных в таблицу Объекты (objects) где поле kod_obj является AUTO_INCREMENT

 

 

Рисунок 5.7 – Использование AUTO_INCREMENT при добавления данных

 

Еще одной формой оператора INSERT является синтаксис с ключевым словом SET: INSERT [IGNORE] [INTO] tbl SET col_name=expressin,...

На рисунке 5.8 отображено использование альтернативной формы оператора INSERT

 

 

Рисунок 5.8 – Использование альтернативной формы оператора INSERT

 

5.2 Добавление данных с использованием многострочного оператора INSERT.

 

Многострочный оператор INSERT совпадает по форме с однострочным оператором. В нем используется ключевое слово VALUES, после которого добавляется не один, а несколько списков expression. Так, на рисунке 5.9 отображено добавление сразу пяти записей при помощи одного оператора INSERT.

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

 

 

Рисунок 5.9 – Использованием многострочного оператора INSERT

 

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

 

 

5.3. Пакетная загрузка данных.

 

Для пакетной загрузки данных из текстового файла в таблицу в СУБД MySQL предназначен специальный оператор LOAD DATA. Данный оператор работает быстрее, чем оператор INSERT, т. к. СУБД не требуется дополнительного времени на анализ синтаксиса оператора. Оператор имеет следующий синтаксис:

LOAD DATA [LOCAL] INFILE 'filename' INTO TABLE tbl

Если задано необязательное ключевое слово LOCAL, то файл читается с клиентского хоста. Если же LOCAL не указывается, то файл должен находиться на сервере.

Пусть в каталоге D:\stroyka имеется текстовый файл objects.txt следующего содержания:

 

10 Здания ул. Марата 13

11 Жилье ул. Дарвина 15

12 Сооружение ул. Б.Садовая 88

 

Поля в файле должны быть разделены символом табуляции. Тогда выполнение запроса (рисунок 5.10), приводит к заполнению таблицы objects строками из файла objects.txt (рисунок 5.11).

 

 

Рисунок 5.10 – Запрос на пакетное добавление данных

 

 

 

Рисунок 5.11 – Результат выполнения запроса на пакетное добавление данных





Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.