Aprobat de cei mai buni programatori ruși 1

De fapt, aceste tabele sunt ceea ce veți vedea dacă introduceți următoarea comandă în MySQL:

Un asterisc înseamnă că selectăm toate coloanele din tabel.

Tabelul reprezintă baza structurală a industriei bazei de date anuale de milioane de dolari, care include companii precum Oracle și Informix.

Cele mai simple comenzi MySQL

Hai să trecem rapid prin cele mai simple comenzi MySQL. Aveți deja comanda de creare.

Si daca dorim sa vedem doar porecle si numere favorite de utilizatori?

Această comandă ne va da:

Și dacă vrem să derivăm poreclele utilizatorilor, dar cu condiția ca aceștia să aibă mai puține șosete decât 10 perechi și numărul lor preferat să fie mai mare de 100?

Cum introduc datele într-un tabel? E ușor.

Da. dar am uitat să adăugăm câmpul de parolă la masă!

Sub NOT NULL înseamnă că câmpul trebuie să transmită orice date în sine. Prin urmare, în exemplul de mai sus, MySQL va arunca o eroare. Prin urmare, este necesar să se facă acest lucru:

Rezultatul este următorul:

Dar așteptați! Nu am definit id-ul. De asemenea, nu este nul.

În acest caz, am definit coloana id ca auto_increment și MySQL însăși creează valori pentru noi. adăugând 1 la valoarea cea mai mare găsită în tabel (Rolo are id == 3).

Am uitat să introduceți numărul dvs. preferat de utilizatori Cowlick. Care, incidental, este -1. Pentru aceasta vom folosi comanda de actualizare.

Putem, de asemenea, facem acest lucru după cum urmează:

Dar brusc vom avea mai mult de un utilizator cu porecla Cowlick. În exemplul nostru, acest lucru nu poate fi, deoarece În comanda de creare a tabelului, am definit:

Dacă încercăm să introducem alt utilizator cu porecla Cowlick. atunci primim o eroare de la MySQL.

Să presupunem că aveți probleme cu utilizatorul Javier. Alți membri ai comunității dvs. consideră, de asemenea, că acest utilizator nu aparține între ei, puteți face următoarele

Dacă doriți să ștergeți întreaga masă, va trebui să faceți următoarele.

Definiția tabelului și a tuturor datelor după comanda de mai sus vor fi șterse. Fii atent cu această comandă.

Tipuri de MySQL și cheie primară

Nu am vorbit despre directiva privind cheia primară în comanda de creare a tabelului.

Se creează cheia primară. Cheia primară este o cheie specială, care poate fi una numai pentru un tabel dat pentru fiecare tabel. De fapt, cheia primară este o cheie unică (UNIQUE) cu numele "PRIMARY". În ciuda statutului privilegiat, funcționează ca o altă cheie unică. dar

selectați * de la utilizatori unde user_id = 2;

selectați * de la utilizatori unde favorite_number = 945;

Este MySQL limitat la tipuri mici de date? Dacă, desigur, credeți că 4 gigaocteți nu sunt suficienți, atunci da. Aceasta este dimensiunea care poate fi plasată în câmpurile de tip LongBlob și LongText.

Să presupunem că vrem să creăm un forum. Un tabel simplu pentru stocarea mesajelor poate arăta astfel:

Acest exemplu ne-a oferit două noi tipuri: data și textul.

Aceste coloane datetime sunt structurate după cum urmează: "YYYY-MM-DD hh: mm: ss". În acest exemplu, mesajele pot fi sortate după data. Pentru noi este doar o linie.

Tipul de text poate conține date de până la 64Kb, ceea ce este mai mult decât suficient pentru mesaj.

Coloana user_id este partea relațională a sistemului de gestionare a bazelor de date relaționale (RDBMS).

Iată un exemplu de serie (mesaj_body poate fi mai lung):

Să presupunem că avem un sistem de vot în care utilizatorii pot evalua dacă mesajul este într-adevăr meritat să citească sau nu. Să creăm un tabel ca acesta:

În acest exemplu, coloana votului poate conține unul din două lucruri: fie "bun", fie "rău".

Pentru a căuta un mesaj, puteți face următoarele:

care va fi mai rapid decât:

Dar cea mai rapidă căutare pentru votare pe mesaj va fi:

Acum suntem gata să interacționăm cu DBI și MySQL.

Utilizarea Perl DBI ca interfață pentru MySQL

De ce PERL? De ce nu PHP? La urma urmei, dar se crede că PHP4 este destul de rapid datorită noului interpret?

Voi răspunde, pentru că Perl este limba cea mai des utilizată acum. Și îmi place să țin pasul cu standardele din industrie. Perl are un suport online excelent și majoritatea cărților sunt scrise despre el. Există un CPAN. Rețeaua de arhive cuprinzătoare Perl, unde puteți găsi module pentru a vă îndeplini dorințele cele mai intime, în ceea ce privește programarea, desigur :-). DBI vă oferă o interfață care va funcționa atât cu cea mai primitivă bază de date, cât și cu cea mai recentă versiune a Oracle RDBMS.

Să începem prin conectarea la baza de date:

Să presupunem că am primit numele de utilizator și parola din formular. Și așa,

Firește, dorința noastră de a verifica dacă parola introdusă corespunde datelor de autentificare introduse în baza noastră de date.

Observați absența unui punct și virgulă. Cu o comandă, nu este necesar.

Cum obținem rezultatul? pentru că ne așteptăm doar la un singur rând,

Ce se întâmplă dacă rezultatul este mai mult decât o singură linie? Continuarea cererilor pentru

ne va returna restul datelor.

Dacă vrem să salvăm toate rezultatele pentru o utilizare ulterioară

Puteți obține o serie de $ i prin:

Sau, obțineți rândul și coloana dorite ($ i. $ J) în tabel:

Pentru operațiile MySQL care nu dau rezultate, puteți folosi metoda Do în loc să pregătiți pentru a executa comanda SQL.

Și, în sfârșit, pentru a finaliza lucrul cu baza - o deconectare:


MySQL.RU. Aprobat de cei mai buni programatori ruși
  • Articole similare