2.2.Работа с данными.
Запросы SQL на заполнение таблиц данными выглядят следующим образом.
Заполнение таблицы KO_Form_Kontrol данными:
Для заполнения таблицы сначала вводится команда INSERT INTO, затем название таблицы, которую будем заполнять данными. Далее в скобках перечисляем названия всех полей таблицы. После скобки используем команду VALUES, где в скобках, в кавычках через запятую указываются значения полей:
Insert Into KO_Form_Kontrol(№_kontrol,kontrol)
values (44152,'zachet');
Insert Into KO_Form_Kontrol(№_kontrol,kontrol)
values (44445,'ekzamen');
Insert Into KO_Form_Kontrol(№_kontrol,kontrol)
values (123345,'zachet');
Insert Into KO_Form_Kontrol(№_kontrol,kontrol)
values (113222,'ekzamen');
Insert Into KO_Form_Kontrol(№_kontrol,kontrol)
values (99003,'zachet');
Остальные таблицы заполняются аналогично.
Заполнение таблицы KO_Gorod :
Insert Into KO_Gorod(Cod_goroda,Gorod)
values (4900,'Yaroslavl');
Insert Into KO_Gorod(Cod_goroda,Gorod)
values (4942,'Kostroma');
Insert Into KO_Gorod(Cod_goroda,Gorod)
values (2399,'Danilov');
Insert Into KO_Gorod(Cod_goroda,Gorod)
values (74522,'Moskva');
Insert Into KO_Gorod(Cod_goroda,Gorod)
values (90032,'Ekaterinburg');
Заполнение таблицы KO_Prepodavateli :
Insert Into KO_Prepodavateli(Tab_№,FIO1,Cafedra,Fakultet,Doljnost,Staj, Uchenaya_Step,Adres,Telefon,cod_goroda)
values (117455000,'Roitenberg Vladimir Shleimovich','Vushaya Matematica', 'Mashinostroitelniy','Prepodavatel',2,'docent','Malanova 6 2',456100,4900);
Insert Into KO_Prepodavateli(Tab_№,FIO1,Cafedra,Fakultet,Doljnost,Staj, Uchenaya_Step,Adres,Telefon,cod_goroda)
values (104932210,'Ivanov Petr Alekseevich','Fizika','Mashinostroitelniy', 'Stajer',1,'Professor','Fefilova 41 15',679921,90032);
Insert Into KO_Prepodavateli(Tab_№,FIO1,Cafedra,Fakultet,Doljnost,Staj, Uchenaya_Step,Adres,Telefon,cod_goroda)
values (442311098,'Agafonov Denis Vladimirovich','Materialovedenie', 'Stroitelniy','Stajer',1,'Professor','Putina 18 2',535523,2399);
Insert Into KO_Prepodavateli(Tab_№,FIO1,Cafedra,Fakultet,Doljnost,Staj, Uchenaya_Step,Adres,Telefon,cod_goroda)
values (199032553,'Geraskov Vadim Evgrafovich','Teoriticheskaya mechanika', 'Mashinostroitelniy','Prepodavatel',9,'Docent','Viluhina 22 4',334433,4900);
Insert Into KO_Prepodavateli(Tab_№,FIO1,Cafedra,Fakultet,Doljnost,Staj, Uchenaya_Step,Adres,Telefon,cod_goroda)
values (799099953,'Zuev Aleksandr Evgenievich','Fizicheskoe vospitanie', 'Mashinostroitelniy','Prepodavatel',15,'Professor','Begovaya 24 4',453209,4942);
Заполнение таблицы KO_group :
Insert Into KO_group(№_group,group_g,specialnost,fakultet1)
values (11943,'MA 24','avtomatizacia','mashinostroitelniy');
Insert Into KO_group(№_group,group_g,specialnost,fakultet1)
values (12333,'MA 14','avtomatizacia','mashinostroitelniy');
Insert Into KO_group(№_group,group_g,specialnost,fakultet1)
values (92334,'CA 319','Avtomobilnie dorogi','Stroitelniy');
Insert Into KO_group(№_group,group_g,specialnost,fakultet1)
values (442234,'MT 47','technologia mashinostroenia','mashinostroitelniy');
Insert Into KO_group(№_group,group_g,specialnost,fakultet1)
values (1133213,'MT 48','technologia mashinostroenia','mashinostroitelniy');
Заполнение таблицы KO_Curs :
Insert Into KO_Curs(№_predmet,predmet,№_group,lektions,practics,semestr, tab_№,№_kontrol)
values(112,'Matematica',11943,24,12,3,117455000,44152);
Insert Into KO_Curs(№_predmet,predmet,№_group,lektions,practics,laboratorian, semestr,tab_№,№_kontrol)
values(155,'Fizika',12333,38,16,12,2,104932210,44445);
Insert Into KO_Curs(№_predmet,predmet,№_group,lektions,practics,laboratorian, semestr,tab_№,№_kontrol)
values(7990,'Materialovedenie',442234,32,8,6,7,442311098,113222);
Insert Into KO_Curs(№_predmet,predmet,№_group,practics,semestr,tab_№, №_kontrol)
values(12,'Fizkultura',1133213,42,8,799099953,123345);
Insert Into KO_Curs(№_predmet,predmet,№_group,lektions,practics,laboratorian, semestr,tab_№,№_kontrol)
values(44231,'Teoriticheskaya mechanika',92334,34,16,4,6,199032553,99003);
Познакомимся с командой Select. Она выполняет запрос по одной или нескольким таблицам, возвращая строки и столбцы данных.
Пример 1:
Написать запросы на вывод данных всех наших таблиц.
Команда: select * from KO_Prepodavateli
Результат:
Рисунок 3.
Команда: select * from KO_Gorod
Результат:
Рисунок 4.
Команда: select * from KO_Form_Kontrol
Результат:
Рисунок 5.
Команда: select * from KO_group
Результат:
Рисунок 6.
Команда: select * from KO_Curs
Результат:
Рисунок 7.
Пример 2:
Получить названия предметов, отсортированных по количеству практических занятий. Команда: SELECT Predmet FROM KO_curs ORDER BY Practics
Результат:
Рисунок 8.
Пример 3:
Определить суммарный стаж преподавателей, код города которых выше 5000.
Команда: SELECT SUM(staj) FROM KO_prepodavateli WHERE cod_goroda>5000
Результат:
Рисунок 9.
Пример 4:
Представить информацию о преподавателях в виде: ФИО преподавателя, читаемый курс и форма контроля по этому предмету.
Команда: SELECT KO_prepodavateli.FIO1, KO_curs.Predmet , KO_form_kontrol.Kontrol FROM KO_prepodavateli, KO_curs, KO_form_kontrol
WHERE (KO_prepodavateli.Tab_№ = KO_curs.Tab_№) and (KO_form_kontrol.№_kontrol = KO_curs.№_kontrol);
Результат:
Рисунок 10.
Удаление данных из таблицы происходит командой DELETE.
Пример:
Из таблицы Курсы (KO_curs) удаляются записи для которых lektions>33
Команда: DELETE FROM KO_curs WHERE lektions>33
Если запрос был написан верно, будет возвращена строка: 1 строка удалена.
Результат:
Рисунок 11.
Модификация данных происходит с помощью команды UPDATE.
Пример:
Требуется записать стаж преподавателей по кварталам, а не по годам, как это записано. Т.е. необходимо умножить на 4 стаж.
Команда: UPDATE KO_Prepodavateli SET Staj=Staj*4
Результат:
Рисунок 12.