"Клопки" на DML команди Актуализиране на MySQL
Всеки програмист, който трябваше да работи с бази данни, се изправи пред оператори на DML (на. с английски. -
съдържание
Тези оператори логично посочват своята цел - избиране на записи, вмъкване на нови стойности, актуализиране на съществуващи данни, пълни или според определени условия, изтриване на информация в базата данни. Изучаването на теоретичните материали описва подробно принципа на работа на всеки екип и техния синтаксис, но не се споменават трудностите, които могат да възникнат на практика по време на употреба. Този материал ще бъде посветен на разглеждане на някои от тях.
Накратко за операторите на DML (Insert)
Преди да продължите, трябва отново да извикате по-подробно целта на всяка от функциите. Ще се интересуваме повече от двама оператора: InsertиАктуализация, тъй като от тях възникват основните трудности при обработката на големи количества данни.
Започнете с командата Insert, и след това плавно да се премести Update. MySQL Системата, както и всяка друга съвременна СУБД, използва операцията Insert за да добавите нови записи към съществуващи таблици бази данни. Синтаксисът на тази операция е много прост и ясен. Той съдържа списък на полета, които ще бъдат направени до стойностите, дестинацията - име на масата - и веднага въвежда списък с данни. При всяко изпълнение на командата Insert Базата данни ще бъде актуализирана с нови стойности.
Актуализиране на оператора
На практика обаче възникват ситуации, при които за даден набор от данни е необходимо да се актуализират една или повече стойности на атрибутите. Например, можем да цитираме ситуацията, когато предприятието претърпя реформа с по-нататъшното преименуване на основните отдели. В този случай е необходимо да се правят промени за всеки отдел. Ако се променят само имената, проблемът се решава много бързо. Въпреки това, ако се променя кодирането на всеки компонент на цялото производство, което обикновено служи като първичен ключ, това е, от своя страна, води до промени в информацията, както и за всеки служител.
За разрешаването на разглеждания проблем може да се приложи Оператор на ГСД - Update. MySQL-сървър, работещ с голям брой записи, с помощта на оператор за обновяване, изпълнява необходимата заявка и решава проблема. Но понякога по време на актуализацията не са напълно разбираеми и трудни за обяснение трудности. Става въпрос за сложността на актуализирането на записите, които ще бъдат обсъдени по-късно.
За малкото, което се казва в теорията за илю-
Актуализация на отбора, както е отбелязано по-горе, се използва за актуализиране на съществуващите записи в таблицата. На практика обаче, клиентите достъп до сървърите на базата данни не винаги са известни, има определен набор от данни в таблиците, или не. Предварителна проверка на наличието на данни в базата данни за последващото осъвременяване на резултатите в отнема време и отпадъци на сървърни възможности.
За да се предотврати това, DBMS има специален дизайн MySQL - Вмъкване * Актуализация, в който вмъкването или актуализирането могат да се извършват независимо един от друг. Тоест, когато в таблицата има запис за определено условие, ще се осъществи актуализация. Ако данните за въпросното състояние не са намерени, сървърът на MySQL ще може да изпълни заявката за добавяне на данни.
Актуализирайте данните, ако има дубликати
Важен елемент от това Insert-заявка в системата за управление на бази данни MySQL - "При актуализиране на дублирани ключови думи" конзоли. Пълният синтаксис на заявката е както следва: "вмъкнете в стойностите test_table (employer_id, name) (1, "Abramov") за дублиране на ключовата актуализация last_modified = NOW () -".
Такова искане може да се използва за записване на действията на служителите, като например определяне на времето за пресичане на преминаващо предприятие, последващо изчисляване на времето за прекъсване и идентифициране на закъсненията. За да не влезете в няколко записа в таблицата, достатъчно е всеки служител да води отчети с постоянна актуализация. Това е дизайнът на дубликата проверка, която ви позволява да направите това.
Всъщност за проблемите на хепи-
Като се има предвид горепосоченият пример за регистриране на действията на служителите в контролно-пропускателния пункт, използването на самоагресивни (автоматичен_увеличение), които обикновено се използват за попълване на стойностите на първичните ключове (първичен_ключ). Когато използвате командата MySQL Актуализация в строеж с Insertавтоматичен_нарастване, полетата непрекъснато се увеличават.
По същия начин всичко се случва, когато се използва конструкцията за замяна, в случай на откриване на дубликати. "Autoincremental" стойността се увеличава, дори когато не е необходимо. Поради това има проблеми с липсващи стойности или препълване на диапазона, което впоследствие води до нарушаване на ефективността на системите за управление на бази данни.
Най-голяма вероятност за възникване на проблем
Проблемът трябва да бъде разгледан мрежа-разработчици, тъй като това е най-често срещано в системите за множество потребители (интернет сайтове, портали и т.н.), когато в системата се извършват голям брой процедури Insertи Актуализиране на MySQL.
PHP-обажданията към базата данни се извършват много често. Следователно постигането на максималната стойност по полета, определени като auto_increment, се случва бързо и когато се анализират срещаните трудности, не е възможно да се установят причините веднага.
Ето защо, разработчиците се препоръчва внимателно да се обърне внимание на използването на структурата върху дублиращ се ключ в отбора mysql актуализация. изберете - при разглеждане на заявления до сървъра на базата данни ще работи без грешка, но добавянето на нови записи към базата данни е изпълнен с неприятни ситуации в бъдеще да доведе до сериозни проблеми. Като алтернатива, препоръчваме в автоматичните полета да се провери наличието на записи за тях и след това да се актуализират.
- Разпределени бази данни
- SQL файл. SQL файлов формат: описание на разширението
- MySQL е какво и къде се прилага?
- Създаването на MySQL база данни е част от всеки сайт
- Как да съставя SQL заявки - подробни примери
- MySQL - какво е това? Грешка в MySQL
- MySQL изберете от select: оператора за вземане на проби
- Използване на MySQL: вмъкнете в
- MySQL - искане в заявката. MySQL: примери за заявки. Вложени заявки за MySQL
- MySQL - Командите на Windows Console
- SQL команди за заявки
- Какво прави функцията SQL CONCAT?
- Създаване на SQL таблица стъпка по стъпка
- Изтриване на изявление Изтриване на MySQL
- Практиката за използване на функцията MySQL
- Изтриване на MySQL дубликати
- Как да използвате в MySQL: време и дата
- Достъп до извадкови резултати чрез извличане на MySQL масив
- Групиране на записите в MySQL: групиране по
- Изберете уникални записи в заявката MySQL: изберете отделно
- MySQL Administration: как да създадете потребител и да определите неговите права