MYSQL 5 verktøy og struktur

Innholdsfortegnelse

MYSQL 5, innarbeidet store endringer for å bli den mest populære databasen og konkurrere med høyytelsesbedriftsdatabaser.
Vi skal prøve noen konsepter som visninger (VIS), som lagrede spørringer som vi deretter kan gjøre spørringer om som om de var tabeller med poster og også AVTREKKER, som er som prosedyrer som er knyttet til en hendelse i tabeller, lagrede funksjoner og lagrede prosedyrer.
Visninger
De er definert for å lette og begrense tilgangen til tabelldata til begrensede brukere.
Strukturen er statisk og utføres på opprettelsestidspunktet: fremtidige felt / endringer på tabellene gjenspeiles ikke i visningen.
Så hvis en utsikt har en VELG * FRA tabellen og etter å ha definert det, legger vi til et felt i den originale tabellen, vi vil ikke se det i visningen.
Hvis vi senere endrer definisjonen av et hvilket som helst felt i den originale tabellen, så er a feil / advarsel Når du bruker den, må du sikkert avkorte verdier: de slettede feltene blir sendt til Null.
Et eksempel på en visning for å se salg etter selger:
 CREATE VIEW Salg etter selger AS VELG selgerid SUM (antall*pris) totalt FRA bestillinger GRUPPE etter selgerid ***** etter total DESC

Avtrekker
De er lagrede prosedyrer knyttet til en bestemt tabell som utføres før eller etter en eksplisitt transaksjon, og som utfører koden for hver post som er berørt av transaksjonen. De kan ikke eksplisitt påberopes fordi utførelsen er knyttet til en tabell / transaksjon / tid.
De er også kjent som utløsere, utløsere eller spesielle lagrede prosedyrer.
Eksempel før jeg setter inn et salg Jeg sjekker om produktet er tilgjengelig på lager, innsettingshendelsen utløser verstock -utløseren automatisk.
 OPPRETT TRIGGER verstock FØR INNLEGG PÅ SALG FOR HVER RAD BEGYNNER ERKLÆRING productid INT; HVIS (productid) VELG SÅ lager fra produkter der id = productid; SLUTT OM; SLUTT
;
Lagrede prosedyrer
Lagrede prosedyrer og funksjoner er nye funksjoner i MySQL 5.0 -utgivelsen.
En lagret prosedyre er et sett med SQL -kommandoer som kan lagres på serveren. Når dette er gjort, trenger ikke klientene å starte individuelle kommandoer på nytt, men kan i stedet referere til den lagrede prosedyren.
 OPPRETTE PROSEDYRE Save_Sale (IN salestype INTEGER) BEGIN DECLARE type CHAR (10); IF salestype = 1 THEN SET type = Retail '; ELSE SET type = 'Grossist'; SLUTT OM; SETT INN i salg (type) VERDIER (type); SLUTT

Deretter påberopes det som følger
RING Lagre_salg (1)

Et annet eksempel på lagret prosedyre
 OPPRETT FREMGANGSMÅTE ProsedyreInnlegg (i Navn varchar (50), i Telefon varchar (50)) BEGIN sett inn i verdier for kontakter (navn, telefon) (Navn, Telefon); SLUTT

Funksjoner
de lagrede funksjonene til mysql De ligner lagrede prosedyrer: de er et sett med kommandoer som kan lagres på en server.
Funksjoner er ment å returnere parametere, funksjoner kan kalles i sql -setninger som velg, sett inn, etc. Funksjonene kan ikke returnere sql -spørringer, de tjener bare til å utføre oppgaver der vi trenger å utføre litt databehandling, beregning eller konverteringer.
For eksempel:
 OPPRETT FUNKSJON rabatt (pris, FLOAT prosent) RETURNER FLOAT DETERMINISTIC BEGIN DECLARE FLOAT rabattbeløp; SET rabattbeløp = pris * prosent / 100; RETURN rabattbeløp; SLUTT $$
Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave