Modifica datele în tabele (inserați, înlocuiți actualizare, ștergeți) (perl) - SQL MySQL - sql Diverse -

Tag-uri: perl, SQL, MySQL, (găsi documente similare)

Cererile de modificare a datelor în tabele

Astăzi ne uităm la MySQL comenzi pentru a schimba
date în tabele.

INSERT comanda adaugă înregistrări la un tabel existent.
Există trei opțiuni de sintaxă INSERT (în pătrat
acolade luate aceste opțiuni / instrucțiuni / subiecte
sunt opționale):


INSERT # 091; LOW_PRIORITY | ÎNTÂRZIATĂ # 093; # 091; Ignore # 093;
# 091; INTO # 093; nume_tabelă # 091; (. Nazvanie_polya) # 093;
VALORI (expresie.) (.).


INSERT # 091; LOW_PRIORITY | ÎNTÂRZIATĂ # 093; # 091; Ignore # 093;
# 091; INTO # 093; nume_tabelă
SET nazvanie_polya nazvanie_polya = expresie = expresie.

- Aceasta adaugă un rând nou în tabel cu aceste valori
domenii;


INSERT # 091; LOW_PRIORITY | ÎNTÂRZIATĂ # 093; # 091; Ignore # 093;
# 091; INTO # 093; nume_tabelă # 091; (. Nazvanie_polya) # 093;
SELECT.

- adaugă o linie derivată dintr-o interogare SELECT alta
tabele.


Dacă nu specificați o listă de câmpuri în comenzile vizualizare
INSERT. Valori sau INSERT. SELECT, apoi lista
VALORI () trebuie să aibă valori pentru toate câmpurile din tabel.
Dacă nu cunoașteți ordinea câmpurilor într-un tabel, utilizați
comanda DESCRIBE tbl_name să-l văd.

Toate câmpurile pentru care valorile nu sunt specificate în mod explicit,
atribuite la valorile implicite. De exemplu,
specificat în lista de câmpuri nu este toate câmpurile din tabel. apoi câmpuri
nu sunt menționate în lista vor fi alocate valorile lor
Implicit.

Valorile de câmp pot fi utilizate în expresie,
definite mai devreme. De exemplu, puteți scrie:

mysql> INSERT INTO tbl_name (col1, col2) VALORI (15, col1 * 2);

Dar această comandă este greșit:

mysql> INSERT INTO tbl_name (col1, col2) VALORI (col2 * 2,15);


Pentru a întârzia executarea comenzii, în timp ce celălalt
clienții pentru a citi din tabel, utilizați LOW_PRIORITY. În acest
caz, clientul va trebui să aștepte până la finalizarea
INSERT comandă.

Opțiunea cu efect întârziat pentru INSERT este specifică
MySQL și este util dacă aveți clienți care nu pot
așteptați pentru finalizarea INSERT. Se aplică,
de exemplu, atunci când utilizați MySQL pentru exploatare forestieră și
de multe ori executa interogări SELECT, care tebuyut
timp considerabil pentru a finaliza.
Când utilizați INSERT decalate, clientul primeste
Rezoluția fără întârziere, iar rândurile sunt inserate atunci când
masa nu va fi folosit de alte procese.


Dacă utilizați IGNORE într-o INSERT, rând,
Valorile primare sau câmpuri unice în care repetate
existentă în tabel sunt ignorate și nu sunt adăugate
tabel. Dacă nu specificați IGNORE, comanda
Se oprește atunci când obțineți valoarea șir a cheii
câmp care se repetă valoarea existentă.

Pentru insera în comandă. SELECT, următoarele
limitări:

interogare SELECT nu poate conține ORDER BY exprimare.

Tabelul, care se adaugă la șirul nu poate
folosit în expresia FROM porțiune SELECT (ca SELECT
ca urmare a unor astfel de utilizări pot găsi înregistrări,
inserat anterior în performanța aceeași interogare
INSERT, ceea ce poate duce la rezultate imprevizibile).

REPLACE diferă de la comanda INSERT numai ce se întâmplă dacă
Tabelul are o intrare cu aceeași valoare în
câmp indexate (index unic), la fel ca în noul înregistrează,
înregistrarea vechi se elimină înainte de a adăuga una nouă.


REPLACE # 091; LOW_PRIORITY | ÎNTÂRZIATĂ # 093; # 091; Ignore # 093;
# 091; INTO # 093; nume_tabelă # 091; (. Nazvanie_polya) # 093;
VALORI (expresie.) (.).


REPLACE # 091; LOW_PRIORITY | ÎNTÂRZIATĂ # 093; # 091; Ignore # 093;
# 091; INTO # 093; nume_tabelă
SET nazvanie_polya nazvanie_polya = expresie = expresie.


REPLACE # 091; LOW_PRIORITY | ÎNTÂRZIATĂ # 093; # 091; Ignore # 093;
# 091; INTO # 093; nume_tabelă # 091; (. Nazvanie_polya) # 093;
SELECT.

UPDATE # 091, iar LOW_PRIORITY # 093; nume_tabelă
SET field_name1 = expresie1 = expresie2 field_name2.
# 091; WHERE condition_expression # 093; # 091; kolichestvo_zapisey limita de # 093;

comanda UPDATE înlocuiește valorile câmpurilor existente într-un tabel
altele noi. Expresia SET indică ce câmpuri pentru a schimba și
valorile pentru a atribui aceste domenii. expresie
Unde (dacă există) - care înregistrările trebuie să fie schimbate. dacă
UNDE, toate intrările vor fi modificate.

Dacă specificați LOW_PRIORITY, UPDATE execuție
amânată până când alți clienți pentru a citi din tabel.

La modificarea câmpului poate utiliza curent său
valoare. De exemplu, o astfel de cerere de câmp valoare crește
Varsta 1:

mysql> UPDATE persondata vârstă SET = vârstă + 1;

UPDATE evaluează expresiile de la stânga la dreapta. De exemplu,
următoarea interogare dublează vârsta (câmp de vârstă), și apoi
crește la 1:

mysql> UPDATE persondata vârstă SET = vârstă * 2, vârsta = vârstă + 1;

UPDATE returnează numărul de câmpuri care au fost schimbate.

Utilizați LIMIT, pentru a modifica numărul presetat
înregistrări.

ȘTERGE # 091, iar LOW_PRIORITY # 093; Din tabelul
# 091; WHERE condition_expression # 093; # 091; kolichestvo_zapisey limita de # 093;

DELETE șterge intrările de masă care îndeplinesc
Clauza WHERE și returnează numărul de înregistrări șterse.

Dacă nu utilizați clauza WHERE, toate câmpurile vor fi
eliminat. Astfel, DELETE returnează 0 (MySQL nu poate
arată cât de multe domenii au fost eliminate deoarece pentru a salva
Timpul creează un nou tabel fără înregistrări în loc
pentru a șterge toate înregistrările din tabelul vechi).

Dacă doriți să aflați cât de multe câmpuri au fost eliminate atunci când
eliminați toate câmpurile din tabel, utilizați următoarea comandă:

mysql> DELETE FROM nume_tabelă WHERE 1> 0;

Dacă specificați LOW_PRIORITY, executarea DELETE
amânată până când alți clienți pentru a citi din tabel.

Specifice opțiunea LIMIT MySQL specifică serverul
numărul maxim de înregistrări care trebuie să fie
eliminat.

Revizuirea Lost Cron. Jocuri făcut fără dragoste și diligență, ca un balon - o coajă este, și goală în interior. Lo.

Revizuirea The Bridge «Top“ și «jos» în The Bridge - un termen relativ. Plimbare prin arcadă, puteți cu ușurință Perey.

Revizuirea SimCity Atunci când o lună în urmă, eliberarea de SimCity, web rostogoli tsunami-ul de furie populare - prost Osh.

Revizuirea Strategiei . Numele strategiei Tactici: al doilea război mondial cu greu pe cineva familiar. Dar o privire la ea Skree Township.

Revizuirea jocului Scrib. În mod tradițional în jocurile de cărți de informații, prezentăm câteva exemple de jocuri similare.

Trecerea în revistă a Walki de joc. Zombi și-producție pe-licențe - care în sine nu sunt cei mai buni reprezentanți ai jocurilor de noroc - biosfera.