Når utviklere lage programmer som bruker databaser , disse omfatter generelt data spørringer. En spørring er en uttalelse henrettet i programmering eller skripting koden , designet for å hente en veldefinert sett med data fra en database . Spørringer kan utføres direkte i SQL (Structured Query Language) på systemer som MySQL og Oracle , eller kan kjøres fra et annet programmeringsspråk som PHP eller Java. Spørsmål spesifisere forskjellige detaljer om dataene et skript ber om . Tabeller
spørringer normalt indikere en eller flere databasetabeller. En spørring i SQL vil normalt bruke " select " søkeord og navnet på minst en tabell lagret i databasen. Tabellen navnet representerer tabellen som inneholder dataene som kreves , så hvis dette navnet er ikke inkludert riktig, vil en spørring mislykkes. Følgende eksempel SQL spørring forsøk på å hente data fra en tabell med navnet "Land" med en kolonne som heter "City" i det : en
SELECT City fra land ;
Som standard vil returnere alle poster innenfor " by" -kolonnen som er lagret i tabellen , men hvis tabellen navn er , for eksempel , stavet feil , vil søket returnere ingenting .
kolonner
< p> spørringer oppgi navnene på kolonner i tabeller. Disse kolonnene inneholder de nødvendige data . Hvis kolonnenavn er stavet feil en spørring vil derfor ikke være i stand til å returnere de nødvendige data . En vanlig feil er inkludert en kolonne navn som er gyldig , men som blir forespurt fra feil tabell . For eksempel , gitt en database med tabeller kalt "Kunden" og " Order" med en kolonne som heter " custid " i " Kunden" bord og en kolonne som heter " ordID " i " Order" tabellen , vil følgende spørring mislykkes :
SELECT ordID fra Kunden;
den angitte kolonnen ikke finnes i tabellen er angitt, så spørringen resultatet vil være tom
Filtrering
med
spørringer kan filtrere data resultater på ulike måter. Hvis koden krever bare en del av postene for bestemte tabellkolonnene , utviklere kan skreddersy spørresyntaks å hente denne delen alene . For eksempel viser følgende syntaks spørring disse postene med en bestemt verdi i en database kolonne i tabellen:
SELECT * fra Kunden WHERE type = 'business' ;
Dette søket vil returnere poster med alle kolonnene i "Kunden" tabell der verdien i "type "-kolonnen samsvarer med angitte verdien av "business ". Hvis enten kolonnen er angitt i "hvor" klausul , eller verdien gitt er feil, kan spørringen returnere enten ingen resultater eller uriktige resultater .
Typer
hjelp uriktige typer kan forårsake SQL-spørringer til å mislykkes . Dette er mest vanlig når punktene slik som "hvor" konstruere er tilstede. For eksempel hvis kode filtrering av en spørring resultat på en kolonne som inneholder en bestemt type slik som numerisk verdi , men en spørring " hvor "-bestemmelse angir en verdi som en tekststreng type, kan spørringen svikte . Det er vanlig å motta meldinger som indikerer en "type mismatch " i slike tilfeller.
Quotes
Enkle og doble sitater ofte vises i spørresyntaks . For eksempel er det vanlig å inkludere SQL-spørringer i andre programmeringsspråk skript i språk som PHP. Følgende eksempel PHP utdrag oppretter en variabel ved å modellere en SQL- spørring med en filtrering klausul inni den : en
$ query = "SELECT * fra folk der det pname = ' Smith ' ";
søket selv er inneholdt i doble anførselstegn , mens den angitte verdien for "hvor" klausul vises inne apostrof . Denne typen situasjon er en der det er veldig vanlig å tilfeldigvis forvirre enkle og doble anførselstegn , potensielt hindre enten skript eller spørringen fra å kjøre .