"Capcane" de comenzi DML Actualizați MySQL

Fiecare programator care a trebuit să lucreze cu baze de date cu care se confruntă operatorii DML (per. cu engleza. -

"limbaj de manipulare a datelor"), cum ar fi selecta, Inserare, ștergeșiActualizare. Mediul MySQL utilizează, de asemenea, toate comenzile de mai sus în arsenalul său.

Acești operatori își indică în mod logic scopul - selectarea înregistrărilor, introducerea de noi valori, actualizarea datelor existente, completă sau conform condițiilor specificate, ștergerea informațiilor din baza de date. Predarea materialelor teoretice descrie în detaliu principiul de lucru al fiecărei echipe și sintaxa lor, dar nu se menționează dificultățile care pot apărea în practică în timpul utilizării. Acest material va fi dedicat examinării unora dintre ele.

inserați mysql update update

Pe scurt despre operatorii DML (Insert)

Înainte de a continua, este necesar să reamintim din nou în detaliu scopul fiecărei funcții. Vom fi mai interesați de doi operatori: InserareșiActualizare, deoarece din acestea principalele dificultăți apar atunci când se prelucrează cantități mari de date.

mysql insert update

Începeți cu comanda Inserare, și apoi treci ușor la Actualizare. MySQL Sistemul, ca orice alt DBMS modern, utilizează operația Inserare pentru a adăuga intrări noi în tabele existente baze de date. Sintaxa acestei operațiuni este foarte simplă și simplă. Acesta conține o enumerare a câmpurilor în care vor fi introduse valorile, destinația - numele tabelului - și lista de intrări direct. La fiecare executarea comenzii Inserare Baza de date va fi actualizată cu valori noi.

Actualizați operatorul

În practică, totuși, apar situații care, pentru un set de date, trebuie actualizate una sau mai multe valori de atribute. De exemplu, putem menționa situația în care întreprinderea a suferit o reformă cu redenumirea ulterioară a principalelor departamente. În acest caz, este necesar să se facă schimbări pentru fiecare departament. Dacă se modifică numai numele, atunci problema este rezolvată foarte repede. Dar dacă se modifică codificarea fiecărei componente a întregii producții, care, de regulă, servește drept cheie primară, aceasta implică, la rândul său, schimbări în informație și pentru fiecare angajat.

actualizați mysql

Pentru a rezolva problema în cauză, poate fi aplicată Operatorul DML - Actualizare. MySQL-server, care operează cu un număr mare de înregistrări, cu ajutorul unui operator de actualizare, execută interogarea necesară și rezolvă problema. Dar, uneori, în timpul actualizării, nu sunt dificil de înțeles și dificil de explicat. Este vorba despre complexitatea actualizării înregistrărilor care vor fi discutate mai târziu.

Despre ce se spune puțin în teoria illu-

Comanda Actualizare, după cum sa menționat mai sus, este utilizată pentru a actualiza înregistrările existente în tabel. Dar, în practică, clienții care accesează serverele de baze de date nu sunt întotdeauna cunoscuți, există un anumit set de date în tabele sau nu. Verificarea preliminară a disponibilității datelor în baza de date pentru actualizările ulterioare duce la costuri de timp și la utilizarea risipă a capacităților serverului.



Pentru a preveni acest lucru, DBMS are un design special MySQL - Introduceți * Actualizare, în care inserarea sau actualizarea poate fi efectuată independent una de cealaltă. Adică, atunci când există o intrare pentru o anumită condiție în tabel, va apărea o actualizare. Dacă datele despre condiția în cauză nu sunt găsite, serverul MySQL va putea să efectueze solicitarea de adăugare de date.

Actualizați datele dacă există duplicate

O componentă importantă a acestui lucru Inserare-interogare în sistemul de gestionare a bazelor de date MySQL - "Despre actualizarea cheii duplicate" console. Sintaxa completă a interogării este după cum urmează: "introduceți în valori test_table (employer_id, name) (1, `Abramov`) la actualizarea duplicat cheie last_modified = NOW () -“.

MySQL pe actualizarea cheie duplicat

O astfel de solicitare poate fi utilizată pentru a înregistra acțiunile angajaților, de exemplu, determinarea timpului de trecere al unei întreprinderi trecute, cu calculul ulterior al perioadei de rupere și identificarea întârzierilor. Pentru a nu introduce mai multe înregistrări în tabel, este suficient ca fiecare angajat să țină înregistrări cu o actualizare permanentă. Este designul verificării duplicatului care vă permite să faceți acest lucru.

De fapt, despre problemele helip-

Având în vedere exemplul de mai sus de înregistrare a acțiunilor angajaților la punctul de control, utilizarea autogenerării (auto_creștere), care sunt de obicei folosite pentru a umple valorile cheilor primare (primar_cheie). Când utilizați comanda Actualizare MySQL în construcția cu Inserareauto_creștere, câmpurile sunt în continuă creștere.

În mod similar, totul se întâmplă atunci când se utilizează designul de înlocuire, în cazul detectării duplicatelor. Valoarea "Autoincrementală" crește chiar și atunci când nu este necesară. Din acest motiv, există probleme cu valori lipsă sau depășire a intervalului, ceea ce duce ulterior la perturbarea performanței sistemelor de gestionare a bazelor de date.

Cea mai mare probabilitate de apariție a unei probleme

Problema ar trebui luată în considerare web-dezvoltatori, deoarece acestea sunt cele mai frecvente în sistemele multi-utilizator (site-uri internet, portaluri etc.), când se efectuează un număr mare de proceduri în sistem Inserareși Actualizați MySQL.

PHP-apelurile către baza de date sunt foarte des efectuate. Prin urmare, realizarea valorii maxime pe câmpuri definite ca auto_increment, apare rapid, iar atunci când se analizează dificultățile întâmpinate, este imposibil să se stabilească motivele imediat.

actualizați mysql php

Prin urmare, dezvoltatorii sunt sfătuiți să abordeze cu atenție utilizarea structurii pe cheia duplicat în echipă actualizare mysql. selectați - interogările la accesarea serverului de baze de date vor funcționa fără erori, dar adăugarea de noi înregistrări în baza de date este plină de situații neplăcute, ceea ce duce ulterior la probleme serioase. Ca alternativă, este recomandat ca câmpurile autoincremente să verifice inițial disponibilitatea înregistrărilor pentru ele și apoi să le actualizeze.

Distribuiți pe rețelele sociale:

înrudit
Crearea unei baze de date MySQL face parte din orice siteCrearea unei baze de date MySQL face parte din orice site
MySQL - ce este? Eroare MySQLMySQL - ce este? Eroare MySQL
MySQL selectați selectați: operatorul de eșantionareMySQL selectați selectați: operatorul de eșantionare
Folosind MySQL: inserați înFolosind MySQL: inserați în
MySQL - cererea în cerere. MySQL: exemple de interogări. Întrebări interogate MySQLMySQL - cererea în cerere. MySQL: exemple de interogări. Întrebări interogate MySQL
MySQL - Comenzi pentru Windows ConsoleMySQL - Comenzi pentru Windows Console
Comenzi de interogare SQLComenzi de interogare SQL
MySQL JOIN: o descriere, un exemplu de utilizare a comenzii și recomandăriMySQL JOIN: o descriere, un exemplu de utilizare a comenzii și recomandări
Crearea pas cu pas a unui tabel SQLCrearea pas cu pas a unui tabel SQL
Șterge instrucțiunea Șterge MySQLȘterge instrucțiunea Șterge MySQL
» » "Capcane" de comenzi DML Actualizați MySQL