Mysql corecție de tabel, dump de baze de date


MySQL: corecție de tabel, dump de baze de date


Ce vă ajută să lucrați cu MySQL.

La cererea telespectatorilor, vreau să vă atrag atenția asupra mai multor paragrafe din textul dedicat lucrării cu MySQL.

Sincer, nu înțeleg cu adevărat de ce trebuie să rescriu o cantitate imensă de documentație MySQL în felul meu, dar dacă sunt întrebat.

Ei bine, atunci. Ce este util este MySQL.

În primul rând, trebuie să înțelegeți că MySQL este un motor bazat pe baze de date conceput pentru a suporta diferite baze de date și de a gestiona simultan un număr mare de cereri de la diferiți utilizatori.

Cu alte cuvinte, să nu credeți că pentru fiecare site trebuie să "ridicați" și să configurați o copie separată a MySQL.

Pentru fiecare utilizator creează o zonă de stocare a informațiilor proprii, numită bază de date. Și dacă furnizorul a oferit acces la MySQL, atunci cu siguranță ți-a dat toate drepturile asupra bazei dvs. de date personale, în care o vei gestiona.

Mai departe. Puteți gestiona interogări în MySQL atât pentru lucrul cu datele, cât și pentru configurarea MySQL sau pentru configurarea bazei de date.

Pentru a lucra cu MySQL, puteți utiliza orice client SQL pe care sunteți cel mai obișnuit și convenabil. Personal, folosesc un client standard MySQL care rulează pe shell-ul UNIX.

Comunicarea convențională cu MySQL seamănă puternic cu lucrul în shell sau în DOS (pentru cei care nu au văzut niciodată UNIX în ochi).

Mai întâi de toate, vă conectați la MySQL, care pe gazduirea mea în masterhost.ru arata ca:

[atos] $ / usr / local / bin / MySQL -h MySQL.int -u 21ru -p 21ru

După ce apăsați pe Enter, MySQL va cere parola, verifică-o și pune-o în coajă:


Introduceți parola:
Citirea informațiilor de tabel pentru completarea numelor de tabele și coloane
Puteți dezactiva această funcție pentru a avea o pornire mai rapidă cu ajutorul funcției -A

Bun venit pe monitorul MySQL. CoMySQL se încheie cu; sau \ g.
ID-ul de conectare MySQL este de 3060933 la versiunea de server: 3.23.49

Introduceți "ajutor"; sau '\ h' pentru ajutor. Introduceți '\ c' pentru a șterge tamponul

Aici. Apoi încep să comunic cu MySQL.

Această conexiune nu este diferită de ceea ce fac scripturile dvs. De asemenea, se conectează la MySQL, trimit o cerere către el, primește un răspuns și închide sesiunea. Lucrul în shell-ul MySQL diferă numai prin faptul că păstrăm o sesiune deschisă pentru o lungă perioadă de timp, trecând succesiv MySQL toate tipurile de cereri.

Apropo, multe lecții în urmă, în care am creat baza noastră de date, am citat exact răspunsurile date de acest client MySQL.

Ei bine, atunci. Ce puteți face cu MySQL, pe lângă interogările obișnuite la tabelele bazei de date.

Puteți modifica aceste tabele singur. Pentru a face acest lucru, utilizați o interogare cu cuvântul cheie alter table.

De exemplu, trebuie să adăugăm câmpul text_length în tabela existentă tbl_text în formatul int cu valoarea inițială de 100. Scrieți:

modificați tabelul tbl_text adăugați coloana text_length int nu este null implicit 100; [Enter]

și toate intrările din tabela tbl_text vor primi un nou câmp text_length cu o valoare de 100.

Apropo, în shell-ul MySQL este posibil să scrieți interogări în mai multe rânduri. MySQL nu va începe să interpreteze interogarea până când nu o terminați cu un punct și virgulă ";" și introduceți următorul caracter după aceea.

Vă rugăm să rețineți că o interogare corect construită, bazată pe o tabelă alterată, nu vă va prăbuși niciodată datele introduse anterior în tabelul corectat.

De asemenea, doresc să atrag atenția asupra problemelor multor utilizatori care "transporta" date din alte baze de date.

De multe ori se pare că nu vă puteți conecta direct la două baze de date și transferați date de la o bază de date la alta. Mai ales când vechea bază de date în vechiul format necunoscut sau, în general, este ceva de casă.

În astfel de cazuri, utilizatorul începe să scrie un script care "suge" datele din fișier, le parsează și, folosind inserția banală, le pune în tabele.

În general, nu există nimic condamnabil în această abordare, mai ales când trebuie să umpleți o duzină sau două mii de linii. Dar dacă baza dvs. de date este similară cu cea reală și numărul de înregistrări este măsurat în milioane, este mai bine să utilizați caracteristica MySQL specială numită LOAD DATA INFILE.

Aceasta este o funcție foarte flexibilă a MySQL, care vă permite să citiți datele dintr-un fișier în baza de date. În acest caz, flexibilitatea constă în faptul că puteți descrie formatul de stocare a datelor într-un fișier, specificați intervalul de date care trebuie completate și așa mai departe.

Și, ceea ce este deosebit de important, viteza de inundare a datelor cu LOAD DATA este mult mai mare decât rata de umplere line-by-linie a insert-ohm.

Sper că funcția LOAD DATA va fi utilă pentru dvs.

Ei bine, dacă trebuie să transferați nu numai datele, ci și întreaga configurație a bazei de date: tabele, reguli, indexuri și așa mai departe?

Într-un astfel de caz, va fi foarte util pentru noi să aruncăm o privire asupra bazei de date.

Ce reprezintă o bază de date a bazei de date. Această ieșire a structurii și a datelor din baza de date în format de interogări SQL.

Voi explica. Dacă avem tabele în bază de date și date din tabele, atunci vom primi interogări SQL pentru a construi tabelele și inserările în memoria de depozitare pentru a umple aceste tabele cu date.

Da, ceea ce îți spun, tu singur poți să arunci orice din baza ta de date pentru a te uita la ea.

În pachetul MySQL, există mysqldump care face acest lucru. Rularea mysqldump este foarte asemănătoare cu rularea clientului standard MySQL, despre care am scris la începutul acestei versiuni. Adică, baza de date este specificată, numele utilizatorului și numele bazei de date sunt indicate, pe care le-am colectat pentru a fi eliminate.

[atos] $ / usr / local / bin / mysqldump -h MySQL.int -u 21ru -p 21ru

Desigur, mysqldump are mulți parametri posibili. De exemplu, specificând în linia apelului -d, puteți să aruncați doar structura tabelului, fără date. Acest lucru este util în special când trebuie să creați o copie a structurii bazei de date pe un alt server fără a transfera datele. De asemenea, puteți specifica tabele specifice, de care aveți nevoie pentru a arunca și așa mai departe.

Puteți obține lista completă a cheilor mysqldump:

[atos] $ mysqldump -help

După ce ați primit o bază de date a bazei de date, o puteți umple cu aproape orice altă bază de date SQL, iar pe oricare altă MySQL-nord este sigur.

Turnarea datelor dintr-un dump este ușoară:

Articole similare