* Вмъкване на данни

Публикувано на 15 февруари 2009 от Филип Петров. Записано в DB.


След като вече знаем как се създава база данни е време да научим как се вмъква информация в нея. За целта съществува каманда „INSERT INTO“. Нека вкараме имената на два университета в таблица „university“ от база данни „university“:

INSERT INTO `university`.`university` (`id` , `name` , `founded`)
VALUES ( NULL , 'Sofia University', '1889-01-29' );

INSERT INTO `university`.`university` (`id` , `name` , `founded`)
VALUES ( NULL , 'Techical University', '1941-06-12' );

Виждате, че на полета `id` зададохме стойност NULL, но ако прелистим базата ще видим, че то не е:

SQL insert into

Това е така, поради дефиницията на полето `id` от таблица `university` – там бяхме посочили, че то е „auto_increment“:

SQL auto increment

Досещате се, че при добавяне на още един запис той ще получи id = 3. Поради тази причина такива колони се използват изключително често като уникален идентификатор и съответно първичен ключ.

Възможно е добавянето на повече от един ред с една INSERT заявка:

INSERT INTO `university`.`faculties` (`id` ,`name` ,`univ_id` ,`dekan_id`)
VALUES 	( NULL , 'Avtomatika', '2', NULL ),
	( NULL , 'Elektronna Tehnika i Tehnologii', '2', NULL ),
	( NULL , 'Elektrotehnicheski', '2', NULL ),
	( NULL , 'Energo-mashinostroitelen', '2', NULL ),
	( NULL , 'Kompiutarni sistemi i upravlenie', '2', NULL ),
	( NULL , 'Mashino-tehnologichen', '2', NULL );

INSERT INTO `university`.`faculties` (`id` ,`name` ,`univ_id` ,`dekan_id` )
VALUES 	( NULL , 'Biologicheski', '1', NULL ),
	( NULL , 'Himicheski', '1', NULL ),
	( NULL , 'Matematika i informatika', '1', NULL ),
	( NULL , 'Istoricheski', '1', NULL ),
	( NULL , 'Fizicheski', '1', NULL );

Нека видим как са се записали в таблицата:

SQL multiple insert into

Аналогично се добавят записи и в другите таблици…

Ето един примерен файл, чрез който ще бъде създадена базата данни, добавени два университета, няколко техни факултета и техни преподаватели: university.sql



Trackback URI | RSS за коментарите

Пусни коментар