30 eksempler på SQL-forespørgsler

30 Eksempler Pa Sql Foresporgsler



Den fulde form for SQL er Structured Query-sprog. Det er et meget nyttigt værktøj til at få adgang til eller ændre strukturen og dataene i databasen. Mange applikationer har brug for databasen til at gemme de nødvendige data i en database i struktureret format permanent. MySQL, Oracle, SQL Server osv. er populære databaser til at gemme applikationens data. De er vigtige for at lære det grundlæggende i SQL for at få adgang til eller ændre indholdet af databasen. De grundlæggende anvendelser af SQL-sætningerne på en MariaDB-database er vist i denne vejledning ved hjælp af 30 SQL-forespørgselseksempler.

Forudsætninger

Du skal installere databaseserveren med klienten, før du øver dig på eksemplerne i denne vejledning. MariaDB-databaseserveren og -klienten bruges i denne øvelse.

1. Kør følgende kommandoer for at opdatere systemet:







$ sudo apt-get opdatering

2. Kør følgende kommando for at installere MariaDB-serveren og -klienten:



$ sudo apt-get install mariadb-server mariadb-client

3. Kør følgende kommando for at installere sikkerhedsscriptet til MariaDB-databasen:



$ sudo mysql_secure_installation

4. Kør følgende kommando for at genstarte MariaDB-serveren:





$ sudo /etc/init.d/mariadb genstart

6. Kør følgende kommando for at logge på MariaDB-serveren:

$ sudo mariadb -u rod -s

Liste over eksempler på SQL-forespørgsler



  1. Opret databasen
  2. Opret tabellerne
  3. Omdøb tabellens navn
  4. Tilføj en ny kolonne til tabellen
  5. Fjern kolonnen fra tabellen
  6. Indsæt en enkelt række i tabellen
  7. Indsæt flere rækker i tabellen
  8. Læs alle de særlige felter fra tabellen
  9. Læs tabellen efter filtrering af data fra tabellen
  10. Læs tabellen efter filtrering af data baseret på boolesk logik
  11. Læs tabellen efter filtrering af rækkerne baseret på dataområdet
  12. Læs tabellen efter sortering af tabellen baseret på de særlige kolonner.
  13. Læs tabellen ved at indstille kolonnens alternative navn
  14. Tæl det samlede antal rækker i tabellen
  15. Læs data fra flere tabeller
  16. Læs tabellen ved at gruppere de særlige felter
  17. Læs tabellen efter at have udeladt duplikatværdierne
  18. Læs tabellen ved at begrænse rækkenummeret
  19. Læs tabellen baseret på den delvise match
  20. Tæl summen af ​​tabellens særlige felt
  21. Find maksimum- og minimumværdierne for det bestemte felt
  22. Læs dataene om den særlige del af et felt
  23. Læs tabeldata efter sammenkædning
  24. Læs tabeldata efter matematisk beregning
  25. Opret en visning af tabellen
  26. Opdater tabellen baseret på den særlige tilstand
  27. Slet tabeldata baseret på den særlige tilstand
  28. Slet alle poster fra tabellen
  29. Slip bordet
  30. Slip databasen

Opret databasen

Antag, at vi skal designe en simpel database til Library Management System. For at udføre denne opgave skal der oprettes en database på serveren, som indeholder flere relationelle tabeller. Når du er logget ind på databaseserveren, skal du køre følgende kommando for at oprette en database med navnet 'bibliotek' i MariaDB-databaseserveren:

SKAB DATABASE bibliotek;

Outputtet viser, at biblioteksdatabasen er oprettet på serveren:

Kør følgende kommando for at vælge databasen fra serveren for at udføre forskellige typer databasehandlinger:

BRUG bibliotek;

Outputtet viser, at biblioteksdatabasen er valgt:

Opret tabellerne

Det næste trin er at oprette de nødvendige tabeller, så databasen kan gemme dataene. Der oprettes tre tabeller i denne del af selvstudiet. Disse er bøger, medlemmer og lån_info-tabeller.

  1. Bogtabellen gemmer alle bogrelaterede data.
  2. Medlemstabellen gemmer alle oplysninger om de medlemmer, der låner bogen på biblioteket.
  3. Tabellen lån_info gemmer informationen om, hvilken bog der er lånt af hvilket medlem.

1. Bøger Bord

Kør følgende SQL-sætning for at oprette en tabel med navnet 'bøger' i 'bibliotek'-databasen, der indeholder syv felter og en primær nøgle. Her er 'id'-feltet den primære nøgle, og datatypen er int. Attributten auto_increment bruges til feltet 'id'. Så værdien af ​​dette felt øges automatisk, når en ny række indsættes. Varchar-datatypen bruges til at gemme strengdataene for den variable længde. Titel-, forfatter-, publikations- og isbn-felterne gemmer strengdataene. Datatypen for felterne total_copy og pris er int. Så disse felter gemmer de numeriske data.

SKAB BORD bøger (
id INT AUTO_INCREMENT ,
titel VARCHAR ( halvtreds ) ,
forfatter VARCHAR ( halvtreds ) ,
offentliggørelse VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
total_copy INT ,
pris INT ,
PRIMÆR NØGLE ( id ) ) ;

Outputtet viser, at tabellen 'bøger' er oprettet med succes:

2. Medlemmer Bord

Kør følgende SQL-sætning for at oprette en tabel med navnet 'medlemmer' i 'bibliotek'-databasen, der indeholder 5 felter og en primær nøgle. Feltet 'id' har attributten auto_increment ligesom tabellen 'bøger'. Datatypen for de andre felter er varchar. Så disse felter gemmer strengdataene.

SKAB BORD medlemmer (
id INT AUTO_INCREMENT ,
navn VARCHAR ( halvtreds ) ,
adresse VARCHAR ( 200 ) ,
kontakt_nr VARCHAR ( femten ) ,
e-mail VARCHAR ( halvtreds ) ,
PRIMÆR NØGLE ( id ) ) ;

Outputtet viser, at tabellen 'medlemmer' er oprettet med succes:

3. Lån_info Bord

Kør følgende SQL-sætning for at oprette en tabel med navnet 'borrow_info' i 'library'-databasen, der indeholder 6 felter. Her er 'id'-feltet den primære nøgle, men attributten auto_increment bruges ikke til dette felt. Så en unik værdi indsættes manuelt i dette felt, når en ny post indsættes i tabellen. Book_id og member_id felterne er fremmednøgler for denne tabel; disse er den primære nøgle til tabellen 'bøger' og tabellen 'medlemmer'. Datatypen for felterne lån_dato og returdato er dato. Så disse to felter gemmer datoværdien i formatet 'ÅÅÅÅ-MM-DD'.

SKAB BORD lån_info (
id INT ,
lånedato DATO ,
bog_id INT ,
Medlems ID INT ,
Retur dato DATO ,
STATUS VARCHAR ( 10 ) ,
PRIMÆR NØGLE ( id ) ,
UDENLANDSK NØGLE ( bog_id ) REFERENCER bøger ( id ) ,
UDENLANDSK NØGLE ( Medlems ID ) REFERENCER medlemmer ( id ) ) ;

Outputtet viser, at tabellen 'borrow_info' er oprettet med succes:

Omdøb tabellens navn

ALTER TABLE-sætningen kan bruges til flere formål i SQL-sætningerne. Kør følgende ALTER TABLE-sætning for at ændre navnet på tabellen 'borrow_info' til 'book_borrow_info'. Dernæst kan SHOW tables-sætningen bruges til at kontrollere, om navnet på tabellen er blevet ændret eller ej.

ÆNDRE BORD lån_info OMDØB TIL bog_låne_info;
AT VISE BORDE ;

Outputtet viser, at tabellens navn er blevet ændret med succes, og navnet på tabellen borrow_info er blevet ændret til book_borrow_info:

Tilføj en ny kolonne til tabellen

ALTER TABLE-sætningen kan bruges til at tilføje eller slette en eller flere kolonner efter oprettelse af tabellen. Den følgende ALTER TABLE-sætning tilføjer et nyt felt med navnet 'status' til tabelmedlemmerne. DESCRIBE-sætningen bruges til at vise, om tabelstrukturen er blevet ændret eller ej.

ÆNDRE BORD medlemmer TILFØJE STATUS VARCHAR ( 10 ) ;
BESKRIVE medlemmer;

Outputtet viser, at en ny kolonne, som er 'status', tilføjes til 'medlemmer'-tabellen, og datatypen for tabellen er varchar:

Fjern kolonnen fra tabellen

Den følgende ALTER TABLE-sætning sletter feltet med navnet 'status' fra 'medlemmer'-tabellen. DESCRIBE-sætningen bruges til at vise, om tabelstrukturen er blevet ændret eller ej.

ÆNDRE BORD medlemmer DRÅBE KOLONNE STATUS ;
BESKRIVE medlemmer;

Outputtet viser, at kolonnen 'status' er fjernet fra tabellen 'medlemmer':

Indsæt en enkelt række i tabellen

INSERT INTO-sætningen bruges til at indsætte en eller flere rækker i tabellen. Kør følgende SQL-sætning for at indsætte en enkelt række i 'bøger'-tabellen. Her er 'id'-feltet udeladt fra denne forespørgsel, fordi det automatisk indsættes i posten, når en ny post indsættes for auto-increment-attributten. Hvis dette felt bruges i INSERT-sætningen, skal værdien være NULL.

INDSÆT IND I bøger ( titel , forfatter , offentliggørelse , isbn , total_copy , pris )
VÆRDIER ( 'SQL på 10 minutter' , 'Ben Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;

Outputtet viser, at en post er tilføjet til 'bøger'-tabellen med succes:

Dataene kan indsættes i tabellen ved hjælp af SET-sætningen, hvor hver feltværdi tildeles separat. Kør følgende SQL-sætning for at indsætte en enkelt række i 'members'-tabellen ved hjælp af INSERT INTO- og SET-sætningerne. Feltet 'id' er også udeladt i denne forespørgsel ligesom det foregående eksempel af samme årsag.

INDSÆT IND I medlemmer
SÆT navn = 'John Sina' , adresse = '34, Dhanmondi 9/A, Dhaka' , kontakt_nr = '+14844731336' , e-mail = 'john@gmail.com' ;

Outputtet viser, at en post er tilføjet til medlemstabellen med succes:

Kør følgende SQL-sætning for at indsætte en enkelt række i tabellen 'book_borrow_info':

INDSÆT IND I bog_lån_info ( id , lånedato , bog_id , Medlems ID , Retur dato , STATUS )
VÆRDIER ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'Lånte' ) ;

Outputtet viser, at en post er tilføjet til tabellen 'book_borrow_info':

Indsæt flere rækker i tabellen

Nogle gange kræver det tilføjelse af mange poster ad gangen ved hjælp af en enkelt INSERT INTO-sætning. Kør følgende SQL-sætning for at indsætte tre poster i 'bøger'-tabellen ved hjælp af en enkelt INSERT INTO-sætning. I dette tilfælde bruges VALUES-udtrykket én gang, og dataene for hver post er adskilt med komma.

INDSÆT IND I bøger ( titel , forfatter , offentliggørelse , isbn , total_copy , pris )
VÆRDIER
( 'SQL-kogebog (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'SQL-forespørgsler til blot dødelige' , 'John Viescas' , 'Addison-Wesley' , '673456234' , femten , 35 ) ,
( 'Lære SQL' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , Fire, fem ) ;

Outputtet viser, at tre poster er tilføjet til 'bøger'-tabellen:

Læs alle de særlige felter fra tabellen

SELECT-sætningen bruges til at læse data fra 'database'-tabellen. '*'-symbolet bruges til at angive alle felter i tabellen i SELECT-sætningen. Kør følgende SQL-kommando for at læse alle poster i bogtabellen:

VÆLG * FRA bøger;

Outputtet viser alle poster i bogtabellen, der indeholder 4 poster:

Kør følgende SQL-kommando for at læse alle poster i tre felter i 'medlemmer'-tabellen:

VÆLG navn , e-mail , kontakt_nr FRA medlemmer;

Outputtet viser alle poster i tre felter i 'medlemmer'-tabellen:

Læs tabellen efter filtrering af data fra tabellen

WHERE-sætningen bruges til at læse data fra en tabel baseret på en eller flere betingelser. Kør følgende SELECT-sætning for at læse alle poster i alle felter i 'bøger'-tabellen, hvor forfatternavnet er 'John Viescas'.

VÆLG * FRA bøger HVOR forfatter = 'John Viescas' ;

Tabellen 'bøger' indeholder en post, der matcher betingelsen for WHERE-sætningen, som er vist i outputtet:

Læs tabellen efter filtrering af data baseret på boolesk logik

Den boolske AND-logik bruges til at definere flere betingelser i WHERE-sætningen, der returnerer sand, hvis alle betingelser returnerer sand. Kør følgende SELECT-sætning for at læse alle poster i alle felter i 'bøger'-tabellen, hvor værdien af ​​feltet total_copy er mere end 10 og værdien af ​​prisfeltet er mindre end 45 ved at bruge det logiske OG.

VÆLG * FRA bøger HVOR total_copy > 10 OG pris < Fire, fem ;

Bøgertabellen indeholder én post, der matcher betingelsen for WHERE-sætningen, som er vist i outputtet:

Den boolske ELLER-logik bruges til at definere flere betingelser i WHERE-sætningen, der returnerer sand, hvis nogen af ​​betingelserne returnerer sand. Kør følgende SELECT-sætning for at læse alle poster i alle felter i tabellen 'bøger', hvor værdien af ​​feltet total_copy er mere end 10 eller værdien af ​​prisfeltet er mere end 40.

VÆLG * FRA bøger HVOR total_copy > 10 ELLER pris > 40 ;

Bøgertabellen indeholder tre poster, der matcher betingelsen for WHERE-sætningen, som er vist i outputtet:

Den boolske NOT-logik bruges til at returnere falsk, når betingelsen er sand, og returnerer sand, når betingelsen er falsk. Kør følgende SELECT-sætning for at læse alle poster i alle felter i 'bøger'-tabellen, hvor værdien af ​​forfatterfeltet ikke er 'Addison-Wesley'.

VÆLG * FRA bøger HVOR IKKE forfatter = 'Addison-Wesley' ;

Tabellen 'bøger' indeholder tre poster, der matcher betingelsen for WHERE-sætningen, som er vist i outputtet:

Læs tabellen efter filtrering af rækkerne baseret på dataområdet

BETWEEN-sætningen bruges til at læse dataområdet fra databasetabellen. Kør følgende SELECT-sætning for at læse alle poster i alle felter i tabellen 'bøger', hvor værdien af ​​prisfeltet er mellem 40 og 50.

VÆLG * FRA bøger HVOR pris MELLEM 40 OG halvtreds ;

Bøgertabellen indeholder to poster, der matcher betingelsen for WHERE-udtrykket, som er vist i outputtet. Bøgerne med prisværdierne, 39 og 35, er udeladt fra resultatsættet, fordi de er uden for rækkevidde.

Læs tabellen efter sortering af tabellen

ORDER BY-udtrykket bruges til at sortere resultatsættet af SELECT-sætningen i stigende eller faldende rækkefølge. Resultatsættet sorteres som standard i stigende rækkefølge, hvis ORDER BY-sætningen bruges uden ASC eller DESC. Følgende SELECT-sætning læser de sorterede poster fra bogtabellen baseret på titelfeltet:

VÆLG * FRA bøger BESTILLE VED titel;

Dataene i titelfeltet i tabellen 'bøger' er sorteret i stigende rækkefølge i outputtet. 'Learning SQL'-bogen kommer først alfabetisk, hvis titelfeltet i 'books'-tabellen er sorteret i stigende rækkefølge.

Læs tabellen ved at indstille kolonnens alternative navn

Det alternative navn på kolonnen bruges i forespørgslen for at gøre resultatsættet mere læsbart. Det alternative navn indstilles ved hjælp af nøgleordet 'AS'. Følgende SQL-sætning returnerer værdierne for titel- og forfatterfelterne ved at angive de alternative navne.

VÆLG titel SOM `Bogens navn` , forfatter SOM `Forfatterens navn`
FRA bøger;

Titelfeltet vises med det alternative navn, som er 'Bognavn', og forfatterfeltet vises med det alternative navn, som er 'Forfatternavn', i outputtet.

Tæl det samlede antal rækker i tabellen

COUNT() er en aggregeret funktion af SQL, der bruges til at tælle det samlede antal rækker baseret på det bestemte felt eller alle felter. '*' symbolet bruges til at angive alle felter og COUNT(*) bruges til at tælle alle poster i tabellen.

Følgende forespørgsel tæller de samlede poster i bogtabellen:

VÆLG TÆLLE ( * ) SOM 'Bøger i alt' FRA bøger;

Fire poster i 'bøger'-tabellen er vist i outputtet:

Følgende forespørgsel tæller de samlede rækker i tabellen 'medlemmer' baseret på 'id'-feltet:

VÆLG TÆLLE ( id ) SOM 'Samlet antal medlemmer' FRA medlemmer;

Tabellen 'medlemmer' har to id-værdier, der udskrives i outputtet:

Læs data fra flere tabeller

De tidligere SELECT-sætninger hentede dataene fra en enkelt tabel. Men SELECT-sætningen kan bruges til at hente data fra to eller flere tabeller. Den følgende SELECT-forespørgsel læser værdierne af titel- og forfatterfelterne fra tabellen 'bøger' og lånedatoen fra tabellen 'bog_lån_info'.

VÆLG titel , forfatter , lånedato
FRA bøger , bog_lån_info
HVOR bøger . id = bog_lån_info . bog_id;

Følgende output viser, at bogen 'SQL på 10 minutter' er lånt to gange, og bogen 'SQL Cookbook (O'Reilly)' er lånt én gang:

Dataene kan hentes fra de flere tabeller ved hjælp af forskellige typer JOINS såsom INNER JOIN, OUTER JOIN osv., som ikke er forklaret i denne vejledning.

Læs tabellen ved at gruppere de særlige felter

GROUP BY-sætningen bruges til at læse posterne fra tabellen ved at gruppere rækkerne baseret på et eller flere felter. Denne type forespørgsel kaldes en opsummerende forespørgsel. Du skal indsætte flere rækker i tabellerne for at kontrollere brugen af ​​GROUP BY-sætningen. Kør følgende INSERT-sætninger for at indsætte én post i 'members'-tabellen og to poster i 'book_borrow_info'-tabellen.

INDSÆT IND I medlemmer
SÆT navn = 'Hun Hasan' , adresse = '11/A, Jigatola, Dhaka' , kontakt_nr = '+8801734563423' , e-mail = 'hun@gmail.com' ;
INDSÆT IND I bog_lån_info ( id , lånedato , bog_id , Medlems ID , Retur dato , STATUS )
VÆRDIER ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'Vendt tilbage' ) ;
INDSÆT IND I bog_lån_info ( id , lånedato , bog_id , Medlems ID , Retur dato , STATUS )
VÆRDIER ( 3 , '2023-05-20' , 2 , 1 , '2023-05-30' , 'Lånte' ) ;

Når du har indsat dataene ved at udføre de tidligere forespørgsler, skal du køre følgende SELECT-sætning, der tæller det samlede antal lånte bøger og medlemsnavn baseret på hvert medlem ved hjælp af GROUP BY-sætningen. Her virker COUNT()-funktionen på det felt, der bruges til at omgruppere posterne ved hjælp af GROUP BY-udtrykket. Bog_id-feltet i tabellen 'medlemmer' bruges til at gruppere her.

VÆLG TÆLLE ( bog_id ) SOM `Samlet lånt bog` , navn SOM `Medlems navn` FRA bøger , medlemmer , bog_lån_info HVOR bøger . id = bog_lån_info . bog_id OG medlemmer . id = bog_lån_info . Medlems ID GRUPPE VED bog_lån_info . Medlems ID;

Ifølge data fra bøgerne, 'medlemmer' og 'bog_lån_info' lånte 'John Sina' 2 bøger og 'Ella Hasan' lånte 1 bog.

Læs tabellen efter at have udeladt duplikatværdierne

Nogle gange genereres duplikerede data i resultatsættet af SELECT-sætningen baseret på tabeldata, som er unødvendige. For eksempel returnerer følgende SELECT-sætning de duplikerede poster for dataene i tabellen 'book_borrow_info'.

VÆLG navn , e-mail
FRA medlemmer , bog_lån_info
HVOR bog_lån_info . Medlems ID = medlemmer . id;

I outputtet vises den samme post to gange, fordi 'John Sina'-medlemmet lånte to bøger. Dette problem kan løses ved hjælp af nøgleordet DISTINCT. Det fjerner de duplikerede poster fra forespørgselsresultatet.

Den følgende SELECT-sætning genererer unikke registreringer af resultatsættet fra tabellerne 'members' og 'book_borrow_info' efter at have udeladt de duplikerede værdier ved hjælp af DISTINCT-nøgleordet i forespørgslen.

VÆLG DISTINKT navn , e-mail
FRA medlemmer , bog_lån_info
HVOR bog_lån_info . Medlems ID = medlemmer . id;

Outputtet viser, at duplikatværdien er fjernet fra resultatsættet:

Læs tabellen ved at begrænse rækkenummeret

Nogle gange kræver det at læse det bestemte antal poster fra begyndelsen af ​​resultatsættet, slutningen af ​​resultatsættet eller midten af ​​resultatsættet fra databasetabellen ved at begrænse rækkenummeret. Det kan gøres på mange måder. Før du begrænser rækkerne, skal du køre følgende SQL-sætning for at kontrollere, hvor mange poster der findes i bogtabellen:

VÆLG * FRA bøger;

Outputtet viser, at bogtabellen har fire poster:

Følgende SELECT-sætning læser de første to poster fra 'books'-tabellen ved hjælp af LIMIT-sætningen med værdien 2:

VÆLG * FRA bøger BEGRÆNSE 2 ;

De første to poster i 'bøger'-tabellen hentes, som vises i outputtet:

FETCH-sætningen er alternativet til LIMIT-sætningen, og dens brug er vist i følgende SELECT-sætning. De første 3 poster i tabellen 'bøger' hentes ved hjælp af FETCH FIRST 3 ROWS ONLY-sætningen i SELECT-sætningen:

VÆLG * FRA bøger FETCH FØRST 3 RÆKKER KUN ;

Outputtet viser de første 3 poster i 'bøger'-tabellen:

To poster fra 3 rd rækken i bogtabellen hentes ved at udføre følgende SELECT-sætning. LIMIT-sætningen bruges med 2, 2-værdien her, hvor den første 2 definerer startpositionen for rækken i tabellen, der begynder at tælle fra 0, og den anden 2 definerer antallet af rækker, der begynder at tælle fra startpositionen.

VÆLG * FRA bøger BEGRÆNSE 2 , 2 ;

Følgende output vises efter at have udført den forrige forespørgsel:

Posterne fra slutningen af ​​tabellen kan læses ved at sortere tabellen i faldende rækkefølge baseret på den auto-inkrementerede primærnøgleværdi og bruge LIMIT-udtrykket. Kør følgende SELECT-sætning, der læser de sidste 2 poster fra 'bøger'-tabellen. Her er resultatsættet sorteret i faldende rækkefølge baseret på 'id'-feltet.

VÆLG * FRA bøger BESTILLE VED id DESC BEGRÆNSE 2 ;

De sidste to poster i bogtabellen er vist i følgende output:

Læs tabellen baseret på den delvise match

LIKE-sætningen bruges sammen med '%'-symbolet til at hente posterne fra tabellen ved delvis matchning. Den følgende SELECT-sætning søger i posterne fra 'books'-tabellen, hvor forfatterfeltet indeholder 'John' i begyndelsen af ​​værdien ved hjælp af LIKE-sætningen. Her bruges '%'-symbolet i slutningen af ​​søgestrengen.

VÆLG * FRA bøger HVOR forfatter SYNES GODT OM 'John%' ;

Der findes kun én post i 'bøger'-tabellen, der indeholder 'John'-strengen i starten af ​​værdien af ​​forfatterfeltet.

Den følgende SELECT-sætning søger i posterne fra tabellen 'bøger', hvor udgivelsesfeltet indeholder 'Ltd' i slutningen af ​​værdien ved hjælp af LIKE-sætningen. Her bruges '%'-symbolet i begyndelsen af ​​søgestrengen:

VÆLG * FRA bøger HVOR offentliggørelse SYNES GODT OM '%Ltd' ;

Der findes kun én post i 'bøger'-tabellen, der indeholder 'Ltd'-strengen i slutningen af ​​publikationsfeltet.

Den følgende SELECT-sætning søger i posterne fra 'books'-tabellen, hvor titelfeltet indeholder 'Queries' hvor som helst i værdien ved hjælp af LIKE-sætningen. Her bruges '%'-symbolet på begge sider af søgestrengen:

VÆLG * FRA bøger HVOR titel SYNES GODT OM '%Queries%' ;

Der findes kun én post i 'bøger'-tabellen, der indeholder 'Forespørgsler'-strengen i titelfeltet.

Tæl summen af ​​tabellens særlige felt

SUM() er en anden nyttig aggregeret funktion af SQL, der beregner summen af ​​værdierne af ethvert numerisk felt i tabellen. Denne funktion tager et argument, der skal være numerisk. Den følgende SQL-sætning beregner summen af ​​alle værdier i prisfeltet i tabellen 'bøger', der indeholder heltalsværdier.

VÆLG SUM ( pris ) SOM `Samlet bogpris`
FRA bøger;

Outputtet viser summeringsværdien af ​​alle værdier i prisfeltet i tabellen 'bøger'. Fire værdier i prisfeltet er 39, 49, 35 og 45. Summen af ​​disse værdier er 168.

Find maksimum- og minimumværdierne for det bestemte felt

MIN() og MAX() aggregerede funktioner bruges til at finde ud af minimums- og maksimumværdierne for det bestemte felt i tabellen. Begge funktioner tager et argument, der skal være numerisk. Den følgende SQL-sætning finder ud af minimumsprisværdien fra 'bøger'-tabellen, som er et heltal.

VÆLG MIN ( pris ) SOM 'Bog om minimumsomkostninger'. FRA bøger;

Femogtredive (35) er minimumsværdien af ​​prisfeltet, der udskrives i outputtet.

Følgende SQL-sætning finder ud af den maksimale prisværdi fra 'bøger'-tabellen:

VÆLG MAKS ( pris ) SOM `Bog om maksimale omkostninger` FRA bøger;

Niogfyrre (49) er den maksimale værdi af prisfeltet, der udskrives i outputtet.

Læs den særlige del af dataene eller et felt

Funktionen SUBSTR() bruges i SQL-sætningen til at hente den bestemte del af strengdataene eller værdien af ​​det bestemte felt i en tabel. Denne funktion indeholder tre argumenter. Det første argument indeholder strengværdien eller en feltværdi for en tabel, som er en streng. Det andet argument indeholder startpositionen for den understreng, der hentes fra det første argument, og optællingen af ​​denne værdi starter fra 1. Det tredje argument indeholder længden af ​​den understreng, der begynder at tælle fra startpositionen.

Følgende SELECT-sætning skærer og udskriver de første fem tegn fra 'Lær SQL Basics'-strengen, hvor startpositionen er 1 og længden er 5:

VÆLG SUBSTR ( 'Lær SQL Basics' , 1 , 5 ) SOM 'Understrengværdi' ;

De første fem tegn i 'Learn SQL Basics'-strengen er 'Learn', som udskrives i outputtet.

Følgende SELECT-sætning skærer og udskriver SQL'en fra 'Lær SQL Basics'-strengen, hvor startpositionen er 7 og længden er 3:

VÆLG SUBSTR ( 'Lær SQL Basics' , 7 , 3 ) SOM 'Understrengværdi' ;

Følgende output vises efter at have udført den forrige forespørgsel:

Følgende SELECT-sætning skærer og udskriver de første fem tegn fra navnefeltet i 'medlemmer'-tabellen:

VÆLG SUBSTR ( navn , 1 , 5 ) SOM `Medlems navn` FRA medlemmer;

Outputtet viser de første fem tegn af hver værdi i navnefeltet i 'medlemmer'-tabellen.

Læs tabeldata efter sammenkædning

CONCAT()-funktionen bruges til at generere output ved at kombinere et eller flere felter i en tabel eller tilføje strengdata eller tabellens særlige feltværdi. Den følgende SQL-sætning læser værdierne for titel-, forfatter- og prisfelterne i tabellen 'bøger', og strengværdien '$' tilføjes med hver værdi i prisfeltet ved hjælp af CONCAT()-funktionen.

VÆLG titel SOM Titel , forfatter SOM Forfatter , KONCAT ( '$' , pris ) SOM Pris
FRA bøger;

Værdierne i prisfeltet udskrives i outputtet ved at sammenkæde med '$'-strengen.

Kør følgende SQL-sætning for at kombinere værdierne af titel- og forfatterfelterne i 'books'-tabellen med 'by'-strengværdien ved hjælp af CONCAT()-funktionen:

VÆLG KONCAT ( titel , ' ved ' , forfatter ) SOM `Bognavn med forfatter`
FRA bøger;

Følgende output vises efter at have udført den forrige SELECT-forespørgsel:

Læs tabeldata efter en matematisk beregning

Enhver matematisk beregning kan udføres på tidspunktet for hentning af tabellens værdier ved hjælp af en SELECT-sætning. Kør følgende SQL-sætning for at læse id, titel, pris og rabatværdi efter beregning af 5 % rabat.

VÆLG id , titel , pris SOM `Almindelig pris` , pris - ( pris * 5 / 100 ) SOM `Rabatpris`
FRA bøger;

Følgende output viser den almindelige pris og rabatpris for hver bog:

Opret en visning af tabellen

VIEW bruges til at gøre forespørgslen enkel og giver ekstra sikkerhed til databasen. Det fungerer som en virtuel tabel, der er genereret fra en eller flere tabeller. Metoden til at oprette og udføre en simpel VIEW baseret på 'medlemmer'-tabellen er vist i følgende eksempel. VIEW udføres ved hjælp af SELECT-sætningen. Den følgende SQL-sætning opretter en VIEW af tabellen 'medlemmer' med felterne id, navn, adresse og kontakt_nr. SELECT-sætningen udfører member_view.

SKAB UDSIGT member_view SOM
VÆLG id , navn , adresse , kontakt_nr
FRA medlemmer;

VÆLG * FRA member_view;

Følgende output vises efter oprettelse og udførelse af visningen:

Opdater tabellen baseret på den særlige tilstand

UPDATE-sætningen bruges til at opdatere indholdet af tabellen. Hvis en UPDATE-forespørgsel udføres uden WHERE-sætningen, opdateres alle felter, der bruges i UPDATE-forespørgslen. Så det er nødvendigt at bruge en UPDATE-sætning med den korrekte WHERE-sætning. Kør følgende UPDATE-sætning for at opdatere felterne navn og kontakt_nr, hvor værdien af ​​id-feltet er 1. Udfør derefter SELECT-sætningen for at kontrollere, om dataene er opdateret korrekt eller ej.

OPDATERING medlemmer
SÆT navn = 'Janifer' , kontakt_nr = '+880175621223'
HVOR id = 1 ;

VÆLG * FRA medlemmer;

Følgende output viser, at UPDATE-sætningen er udført med succes. Værdien af ​​navnefeltet ændres til 'Janifer', og kontakt_nr-feltet ændres til '+880175621223' for posten, som indeholder id-værdien 1 ved hjælp af UPDATE-forespørgslen:

Slet tabeldata baseret på den særlige tilstand

DELETE-sætningen bruges til at slette det specifikke indhold eller alt indhold i tabellen. Hvis en DELETE-forespørgsel udføres uden WHERE-sætningen, slettes alle felter. Så det er nødvendigt at bruge UPDATE-sætningen med den korrekte WHERE-sætning. Kør følgende DELETE-sætning for at slette alle data fra bogtabellen, hvor id-værdien er 4. Udfør derefter SELECT-sætningen for at kontrollere, om dataene er slettet korrekt eller ej.

SLET FRA bøger HVOR id = 4 ;
VÆLG * FRA bøger;

Følgende output viser, at DELETE-sætningen er udført med succes. Den 4 th registrering af bogtabellen fjernes ved hjælp af DELETE-forespørgslen:

Slet alle poster fra tabellen

Kør følgende DELETE-sætning for at slette alle poster fra 'books'-tabellen, hvor WHERE-udtrykket er udeladt. Udfør derefter SELECT-forespørgslen for at kontrollere tabelindholdet.

SLET FRA bog_låne_info;
VÆLG * FRA bog_låne_info;

Følgende output viser, at 'bøger'-tabellen er tom efter at have udført DELETE-forespørgslen:

Hvis en tabel indeholder en auto-increment-attribut, og alle poster slettes fra tabellen, begynder auto-increment-feltet at tælle fra den sidste increment, når en ny post er indsat efter at have gjort tabellen tom. Dette problem kan løses ved hjælp af TRUNCATE-sætningen. Det bruges også til at slette alle poster fra tabellen, men feltet for automatisk inkrement begynder at tælle fra 1 efter sletning af alle poster fra tabellen. SQL'en for TRUNCATE-sætningen vises i følgende:

TRUNCATE bog_låne_info;

Slip bordet

En eller flere tabeller kan slettes ved at kontrollere eller uden at kontrollere, om tabellen eksisterer eller ej. Følgende DROP-sætninger sletter 'book_borrow_info'-tabellen, og 'SHOW tables'-sætningen kontrollerer, om tabellen eksisterer eller ej på serveren.

DRÅBE BORD bog_låne_info;
AT VISE BORDE ;

Outputtet viser, at tabellen 'book_borrow_info' er slettet.

Tabellen kan slettes efter at have kontrolleret, om den findes på serveren eller ej. Kør følgende DROP-sætning for at slette bøger og medlemstabeller, hvis disse tabeller findes på serveren. Dernæst kontrollerer 'SHOW tables'-sætningen, om tabellerne eksisterer eller ej på serveren.

DRÅBE BORD HVIS EKSISTERER bøger , medlemmer;
AT VISE BORDE ;

Følgende output viser, at tabellerne er slettet fra serveren:

Slip databasen

Kør følgende SQL-sætning for at slette 'bibliotek'-databasen fra serveren:

DRÅBE DATABASE bibliotek;

Outputtet viser, at databasen er droppet.

Konklusion

De mest brugte SQL-forespørgselseksempler til at oprette, få adgang til, ændre og slette databasen på MariaDB-serveren er vist i denne vejledning ved at oprette en database og tre tabeller. Brugen af ​​forskellige SQL-sætninger forklares med meget enkle eksempler for at hjælpe den nye databasebruger med at lære det grundlæggende SQL ordentligt. Anvendelser af komplekse forespørgsler er udeladt her. De nye databasebrugere vil være i stand til at begynde at arbejde med enhver database efter at have læst denne vejledning korrekt.