Увод у Уметање у МиСКЛ

Главни циљ система база података је складиштење података у табеле. За дефинисање функционалности у бази података имамо различите врсте СКЛ наредби. У овој теми ћемо сазнати више о Инсерт у МиСКЛ-у.

СКЛ команде се могу категорисати у следеће:

  • ДДЛ (језик дефиниције података)
  • ДМЛ (језик за обраду података)
  • ДКЛ (језик упита података)
  • ДЦЛ (језик контроле података)
  • ТЦЛ (језик контроле трансакције)

Овде у овом чланку ћемо се фокусирати углавном на ДМЛ. Као што можемо видети и назив Језик манипулације подацима, тако да је једном када је створена табела / база података за манипулирање нечим, потребне нам ДМЛ наредбе. Заслуге кориштења ових наредби су ако у случају било каквих погрешних промјена, можемо их одвратити / поништити.

Следе наредбе у ДМЛ-у:

1. ИНСЕРТ: Користи се за уметање нових редова у табелу.

INSERT into employee
Values(101, 'abcd');

2. ДЕЛЕТЕ: Користи се за брисање појединог реда или целих записа у табели.

DELETE TABLE employee;

3. УПДАТЕ: Користи се за ажурирање постојећих записа у табели.

UPDATE employee
SET col1 = new_col
WHERE condition;

Синтакса команде за уметање у МиСКЛ

Извод ИНСЕРТ ИНТО можемо написати на следећа два начина.

Пут број 1

INSERT INTO table_name
VALUES (value1, value2, ….);

Пут број 2

INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);

  • ИНСЕРТ ИНТО табле_наме је наредба која додаје нови ред у табелу под називом `табле_наме 'у МиСКЛ бази података.
  • (колона_1, колона_2, …) су имена ступаца у које ће се додати нови запис.
  • ВАЛУЕС (валуе_1, валуе_2, …) одређује вредности које треба додати у нови ред.

Док додајемо нове записе, морамо бити опрезни према дефинисаним типовима података приликом креирања структуре табеле.

  • Стринг: Све вредности стрингова треба да буду приложене једним наводницима.
  • Нумеричке: Нумеричке вредности не би требале бити затворене ни у једном ни у двоструком наводњу.
  • Датум: Ти типови података требају бити у једној цитати с 'ИИИИ-ММ-ДД' форматом.

Размотримо да постоји табела „запосленика“ која се састоји од следећих атрибута:

Емп_ид Емп_наме Телефон Емаил Одељење Менаџер Град
1001Винаи9876543219ЦСРСудхирБангалор
1002Раај9764527848ТОСтепхенХидерабад
1003Сакти9567382784АутомобилскиВедБхубанесвар

Ако додамо вредности за све ступце табеле, не морамо да наводимо имена ступаца у упиту, али морамо бити сигурни да би наш нови запис требало да следи редослед колоне који је дефинисан у табели.

INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');

Ако немамо све вредности ступаца, а неке од њих ћемо уметнути, у упиту морамо навести имена ступаца.

INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');

Имплементација Инсерт Цомманд у МиСКЛ-у

Размотримо да имамо следеће спискове нових записа које је потребно додати у таблицу базе података СТУДЕНТ.

Ролл_ноИмеПрезимеСтандардноТелефонПроценатГрад
1СандеепКумар10987645672689.33Цуттацк
2Схиам976Бхубанесвар
3СактиНаик646376577676
4Сид89864876986Колката
5ВинаиКумар1092

Те редове ћемо уметнути један по један у базу података.

  • Кренимо од Сандеепа. Овде су 'Ролл_но', 'Стандард', 'Пхоне' и 'Процент' нумеричка поља, тако да ће се вредности у овај ступац уметати без наводника.

INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');

Напомена: Како имамо вредности свих ступаца студентске таблице, не требамо специфицирати назив ступца док употребљавамо наредбу ИНСЕРТ. Али морамо бити сигурни да би наша вредност требало да следи редослед ступаца у табели.

  • У случају записа Схиам, можемо видети да многе вредности недостају. Дакле, овдје морамо одредити имена ступаца, у које желимо уметнути вриједности.

INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');

Напомена: У овом запису немамо вредности сваке колоне. Зато морамо одредити сва имена ступаца у које желимо да убацимо наше вредности, а редоследом тих имена ступаца морамо поменути и вредности.

INSERT INTO student (Roll_no, First_name, Last_name, Phone, Percentage)
VALUES (3, 'Sakti', 'naik', 6463765776, 76);

INSERT INTO student (Roll_no, First_name, Standard, Phone, City)
VALUES (4, 'Sid', 8, 9864876986, 'Kolkata');

INSERT INTO student (Roll_no, First_name, Last_name, standard, Percentage)
VALUES (5, 'Vinay', 'Kumar', 10, 92);

Промјена редослиједа ступаца и вриједности неће имати утјецаја на ИНСЕРТ упит јер се права вриједност не може пресликати у десни ступац. Стога могу настати проблеми попут уметања нумеричке вредности у низ или обрнуто.

У свим горе наведеним упитима недостаје толико поља као што су Презиме, Телефон, Град. Тако да ће у таквим случајевима МиСКЛ уметнути подразумеване НУЛЛ вредности у оне ступце које смо прескочили у упитима.

Уметање у таблицу из друге табеле

Ако постоје две сличне табеле и желимо да директно убацимо податке из табеле_1 у табелу_2 да бисмо избегли ручни рад, такође можемо да користимо другу врсту ИНСЕРТ упита. У таквом случају морамо користити наредбу СЕЛЕЦТ са командом ИНСЕРТ. У основи наредба СЕЛЕЦТ долази под ДКЛ (језик упита података), који се користи за проналажење / дохваћање података. Наредба за одабир може се користити и са многим врстама клаузула.

Основна синтакса за уметање записа у једну табелу из друге је следећа:

INSERT INTO table_1 SELECT * FROM table_2;

Пример

Погледајмо пример дат у наставку:

1. Табела за наруџбу

Ордер_ноОрдер_департментИме клијентаЦонтацт_ноКоличинаМесто
8465637НамештајПетер86598767661000Делхи
9473636УкрасиАлек9863769898800Мумбаи

2. Табела налога_архива

Ордер_ноОрдер_департментИме клијентаЦонтацт_ноКоличинаМесто

Овде имамо две табеле под називом Ордер анд Ордер_арцхиве. Ако ћемо све записе из табеле Наруџбе преместити у Ордер_арцхиве, задатак може обавити следећи код:

INSERT INTO Order_archive SELECT * FROM Order;

Ако желимо да преместимо неке одређене ступце из табеле Ордер у Ордер_арцхиве, тада:

INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;

Закључак

Команда Инсерт је врло корисна јер се игра од времена креирања табеле до сваког тренутка кад год додамо још записа у постојећу табелу. Из овог чланка можемо сумирати следеће тачке:

  • Наредба ИНСЕРТ користи се за додавање нових података у табелу.
  • Датум и вриједност стринга требају бити у једном наводу.
  • Нумеричка вриједност не би требала бити у наводницима.
  • Приликом уметања записа у одређене ступце, назив и вриједност ступца требају се пресликавати истим редослиједом.
  • Ова наредба се такође може користити за уметање записа из једне табеле у другу табелу.

Препоручени чланци

Ово је водич за Инсерт у МиСКЛ-у. Овде смо разговарали о имплементацији Инсерт Цомманд у МиСКЛ заједно са одговарајућим примерима и синтаксом. Такође можете погледати следећи чланак.

  1. Шта је МиСКЛ шема?
  2. МиСКЛ Стринг функције
  3. Шта је МиСКЛ?
  4. Како инсталирати МиСКЛ
  5. Примјери за имплементацију ИНСЕРТ-а у Орацлеу

Категорија: