Når udviklere at skabe applikationer ved hjælp af databaser , er disse generelt inddrage data forespørgsler. En forespørgsel er et udsagn henrettet i programmering eller scripting -kode , der er designet til at hente et veldefineret sæt af data fra en database. Forespørgsler kan udføres direkte i SQL (Structured Query Language) på systemer som MySQL og Oracle , eller kan udføres fra et andet programmeringssprog såsom PHP eller Java . Forespørgsler angive forskellige oplysninger om de data, et script anmoder . Borde
Forespørgsler normalt indikerer en eller flere databasetabeller. En forespørgsel i SQL vil normalt bruge " select " søgeord og navnet på mindst én tabel lagret i databasen. Tabelnavnet repræsenterer tabellen med de krævede data , så hvis dette ikke er opført korrekt, vil en forespørgsel mislykkes. Følgende eksempel SQL Query forsøg på at hente data fra en tabel med navnet " land" med en kolonne med navnet " City" i det : Hej
SELECT City fra land
Som standard vil returnere alle poster indenfor " City" kolonne, der i øjeblikket er gemt i tabellen , men hvis tabellen navn er , for eksempel, stavet forkert, vil forespørgslen returnerer ingenting.
kolonner
< p> Forespørgsler angive navnene på kolonner i tabeller . Disse kolonner indeholder de ønskede data . Hvis kolonnen navne er stavet forkert en forespørgsel vil derfor ikke være i stand til at returnere de ønskede data. En almindelig fejl er inklusive en kolonne navn, der er gyldig, men der bliver anmodet forkerte tabel . For eksempel får en database med tabeller navngivne "Kunden " og " Order" med en kolonne med navnet " Kunde-id " i " Kunde" bord og en kolonne med navnet " ordID " i " Order "-tabellen ville følgende forespørgsel mislykkes : < br >
SELECT ordID fra kunden ,
angivne kolonne findes ikke i tabellen angivet, så forespørgslen resultat vil være tom
Filtrering < br . >
Forespørgsler kan foretage dataresultater på forskellige måder. Hvis koden kræver kun en del af posterne for bestemte tabelkolonner , udviklere kan skræddersy forespørgselssyntaks at hente dette afsnit alene. For eksempel viser den følgende syntaks forespørge disse poster med en bestemt værdi inden for et database tabelkolonne : Hej
SELECT * fra Kunde WHERE type = 'business ' ,
Denne forespørgsel vil returnere poster featuring alle kolonner i "Kunden" bord, hvor værdien i "type " kolonnen matcher den angivne værdi af "business ". Hvis enten kolonnen angivet i " hvor "-klausul eller værdien givet er forkert, kan forespørgslen returnere enten ingen resultater eller forkerte resultater.
Typer
Brug forkerte typer kan forårsage SQL-forespørgsler til at mislykkes. Dette er mest almindeligt, når klausuler såsom " hvor" konstruere er til stede. For eksempel hvis kode filtrering en forespørgsel resultat på en søjle, som indeholder en bestemt type af værdi, såsom numerisk , men en forespørgsel ", hvor" klausulen angiver en værdi som en tekststreng type, kan forespørgslen mislykkes . Det er almindeligt at modtage meddelelser, der angiver en "type mismatch " i sådanne tilfælde.
Citater
Enkelt og dobbelt citater ofte forekommer inden for forespørgslen syntaks. For eksempel er det almindeligt at medtage SQL-forespørgsler inden for andre programmeringssprog scripts sprog som PHP. Følgende eksempel PHP uddrag skaber en variabel til at modellere en SQL-forespørgsel med en filtrering klausul inde i det : Hej
$ query = "SELECT * fra folk, hvor pname = ' Smith '"
forespørgslen selv er indeholdt i anførselstegn , mens den angivne værdi for ", hvor "-klausul vises inde enkelte anførselstegn. Denne type situation er en, hvor det er meget almindeligt at uheld forvirre enkelt og dobbelt anførselstegn , potentielt forhindrer hverken det script eller forespørgslen i at udføre .