МиСКЛ ИНСЕРТ ИНТО Упит: Како додати ред у табелу (пример)

Преглед садржаја:

Anonim

Шта је ИНСЕРТ ИНТО?

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

Основна синтакса

Погледајмо основну синтаксу наредбе ИНСЕРТ ИНТО МиСКЛ:

ИНСЕРТ ИНТО `име_табеле` (колона_1, колона_2, ...) ВРЕДНОСТИ (вредност_1, вредност_2, ...);

ОВДЕ

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

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

  • Типови података низа - све вредности низа требају бити затворене у појединачне наводнике.
  • Нумерички типови података - све нумеричке вредности треба доставити директно без затварања у једноструке или двоструке наводнике.
  • Типови података датума - приложите вредности датума у ​​појединачне наводнике у формату „ГГГГ-ММ-ДД“.

Пример:

Претпоставимо да имамо следећу листу нових чланова библиотеке које треба додати у базу података.

Пуна имена Датум рођења пол Физичка адреса Поштанска адреса Контакт број Адреса Е-поште
Леонард Хофстадтер Мушки Воодцрест 0845738767
Шелдон Купер Мушки Воодцрест 0976736763
Рајесх Коотхраппали Мушки Фаирвиев 0938867763
Леслие Винкле 14/02/1984 Мушки 0987636553
Ховард Воловитз 24/08/1981 Мушки Јужни парк Поштански претинац 4563 0987786553 Ова адреса е-поште је заштићена од нежељених робота. Поште заштићена је од спам напада, треба омогућити ЈаваСкрипт да бисте је видели.

УМЕТНИМО податке један по један. Почећемо са Леонардом Хофстадтером. Контакт број ћемо третирати као нумерички тип података и нећемо га наводити у појединачне наводнике.

ИНСЕРТ ИНТО `мемберс` (` фулл_намес`, `гендер`,` пхисицал_аддресс`, `цонтацт_нумбер`) ВРИЈЕДНОСТИ ('Леонард Хофстадтер', 'Мале', 'Воодцрест', 0845738767);

Извршавање горње скрипте испушта 0 са Леонардовог броја за контакт. То је зато што ће се вредност третирати као нумеричка вредност, а нула (0) на почетку се испушта јер није значајна.

Да би се избегли такви проблеми, вредност мора бити затворена у појединачне наводнике као што је приказано доле -

ИНСЕРТ ИНТО `мемберс` (` фулл_намес`, `гендер`,` пхисицал_аддресс`, `цонтацт_нумбер`) ВРЕДНОСТИ ('Схелдон Цоопер', 'Мале', 'Воодцрест', '0976736763'); 

У горе наведеном случају, нула (0) неће бити испуштена

Промена редоследа колона нема утицаја на ИНСЕРТ упит у МиСКЛ све док су тачне вредности мапиране у исправне колоне.

Упит приказан доле показује горњу тачку.

ИНСЕРТ ИНТО `мемберс` (` цонтацт_нумбер`, `гендер`,` фулл_намес`, `пхисицал_аддресс`) ВРЕДНОСТИ ('0938867763', 'Мале', 'Рајесх Коотхраппали', 'Воодцрест');

Горе наведени упити прескочили су колону са датумом рођења. МиСКЛ ће подразумевано уметнути НУЛЛ вредности у колоне које су изостављене у ИНСЕРТ упиту.

Убацимо сада запис за Леслие, који има наведени датум рођења. Вредност датума треба приложити у појединачне наводнике у формату „ГГГГ-ММ-ДД“.

ИНСЕРТ ИНТО `мемберс` (` фулл_намес`, `дате_оф_биртх`,` гендер`, `пхисицал_аддресс`,` цонтацт_нумбер`) ВРИЈЕДНОСТИ ('Леслие Винкле', '1984-02-14', 'Мале', 'Воодцрест', ' 0987636553 '); 

Сви горе наведени упити су одредили колоне и пресликали их на вредности у МиСКЛ наредби за уметање. Ако достављамо вредности за СВЕ колоне у табели, онда можемо да изоставимо колоне из упита за уметање МиСКЛ.

Пример: -

ИНСЕРТ ИН ТО `мемберс` ВАЛУЕС (9, 'Ховард Воловитз', 'Мале', '1981-08-24',
'СоутхПарк', 'ПО Бок 4563', '0987786553', 'лволовитз [ат] емаил.ме') ;

Користимо сада наредбу СЕЛЕЦТ за преглед свих редова у чланској табели.

SELECT * FROM `members`; 
члански број пуна_ имена пол Датум рођења физичка адреса Поштанска адреса цонтцт_ нумбер е-маил
1 Јанет Јонес Женско 21-07-1980 Парцела бр. 4 Привате Баг 0759 253 542 Ова адреса е-поште је заштићена од нежељених робота. Поште заштићена је од спам напада, треба омогућити ЈаваСкрипт да бисте је видели.
2 Јанет Смитх Јонес Женско 23-06-1980 Мелросе 123 НУЛА НУЛА Ова адреса е-поште је заштићена од нежељених робота. Поште заштићена је од спам напада, треба омогућити ЈаваСкрипт да бисте је видели.
3 Роберт Пхил Мушки 12-07-1989 3. улица 34 НУЛА 12345 Ова адреса е-поште је заштићена од нежељених робота. Поште заштићена је од спам напада, треба омогућити ЈаваСкрипт да бисте је видели.
4 Глориа Виллиамс Женско 14-02-1984 2. улица 23 НУЛА НУЛА НУЛА
5 Леонард Хофстадтер Мушки НУЛА Воодцрест НУЛА 845738767 НУЛА
6 Шелдон Купер Мушки НУЛА Воодцрест НУЛА 976736763 НУЛА
7 Рајесх Коотхраппали Мушки НУЛА Воодцрест НУЛА 938867763 НУЛА
8 Леслие Винкле Мушки 14-02-1984 Воодцрест НУЛА 987636553 НУЛА
9 Ховард Воловитз Мушки 24-08-1981 Јужни парк Поштански претинац 4563 987786553 Ова адреса е-поште је заштићена од нежељених робота. Поште заштићена је од спам напада, треба омогућити ЈаваСкрипт да бисте је видели.

Приметите да је контактни број Леонарда Хофстадтера спустио нулу (0) са контакт броја. Остали бројеви за контакт на почетку нису спустили нулу (0).

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

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

ИНСЕРТ ИНТО табле_1 СЕЛЕЦТ * ФРОМ табле_2; 

Погледајмо сада практични пример. За демонстрације ћемо створити лажну табелу за категорије филмова. Табелу нових категорија назват ћемо категоријама_архива. Скрипта приказана доле креира табелу.

СТВОРИ ТАБЕЛУ `цатегори_арцхиве` (` цатегори_ид` инт (11) АУТО_ИНЦРЕМЕНТ, `цатегори_наме` варцхар (150) ДЕФАУЛТ НУЛЛ,` ремаркс` варцхар (500) ДЕФАУЛТ НУЛЛ, ПРИМАРИ КЕИ (`цатегори_ид`)) 

Извршите горњу скрипту да бисте креирали табелу.

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

ИНСЕРТ ИНТО `цатегориес_арцхиве` СЕЛЕЦТ * ФРОМ` цатегориес`; 

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

Упит приказан у наставку показује његову употребу.

ИНСЕРТ ИНТО `категорија_архива` (ид_категорије, име_категорије, примедбе) ИЗБОР категорије_ид, име_категорије, примедбе ИЗ` категорије`;

Извршење СЕЛЕЦТ упита

СЕЛЕЦТ * ФРОМ `цатегориес_арцхиве`

даје следеће резултате приказане у наставку.

ид_категорије име категорије примедбе
1 Комедија Филмови са хумором
2 Романтичан Љубавне приче
3 Епиц Прича о древним филмовима
4 Ужас НУЛА
5 Научна фантастика НУЛА
6 Трилер НУЛА
7 поступак НУЛА
8 Романтична комедија НУЛА
9 Цртани филмови НУЛА
10 Цртани филмови НУЛА

Пример ПХП: Уметните у МиСКЛ табелу

Функција мискли_куери користи се за извршавање СКЛ упита.

Функција се може користити за извршавање следећих типова упита;

  • Уметни
  • Изаберите
  • ажурирање
  • избрисати

Има следећу синтаксу.

mysqli_query($db_handle,$query);

ОВДЕ,

"мискли_куери (

...) "је функција која извршава СКЛ упите.

„$ куери“ је СКЛ упит који треба извршити

„$ линк_идентифиер“ није обавезан, може се користити за прослеђивање везе са сервером

Пример

$servername = "localhost";$username = "alex";$password = "yPXuPT";$dbname = "afmznf";// Create connection$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {die("Connection failed: " . mysqli_connect_error());}$sql= "INSERT INTO addkeyworddata(link, keyword)VALUES ('https://www.guru99.com/','1000')";if (mysqli_query($conn, $sql)) {echo "New record created successfully".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}

Резиме

  • Команда ИНСЕРТ користи се за додавање нових података у табелу. МиСкл ће додати нови ред након извршавања наредбе.
  • Вредности датума и низа треба приложити у појединачне наводнике.
  • Нумеричке вредности не морају се наводити у наводнике.
  • Команда ИНСЕРТ се такође може користити за уметање података из једне табеле у другу.