När utvecklare skapa applikationer med databaser , dessa i allmänhet involverar data frågor . En fråga är ett statement i programmering eller skript kod , för att hämta en väldefinierad uppsättning av data från en databas . Frågor kan exekveras direkt i SQL ( Structured Query Language ) på system som MySQL och Oracle , eller kan köras från ett annat programmeringsspråk såsom PHP eller Java . Frågor ange olika detaljer om datan ett skript begär . Tabeller
Frågor indikerar vanligtvis en eller flera databastabeller . En fråga i SQL kommer vanligtvis att använda den " select " nyckelordet och namnet på minst en tabell som lagras i databasen . Tabellen Namnet representerar tabellen som innehåller de uppgifter som krävs , så om det inte finns med korrekt , kommer en fråga att misslyckas . Följande exempel SQL Query försök att hämta data från en tabell med namnet " Land " med en kolumn som heter " City" i det :
Välj ort från Land ,
Som standard returnerar alla poster inom " City" kolumn som för närvarande lagras i tabellen , men om bordet heter , till exempel , felstavat , kommer frågan tillbaka någonting .
Columns
< p> frågor ange namnen på kolumner i tabeller . Dessa kolumner innehåller de nödvändiga uppgifterna . Om kolumnen namn är felstavat en fråga kommer därför inte att kunna återvända de begärda uppgifterna . Ett vanligt fel är att inkludera en kolumn namn som är giltigt , men som efterfrågas från fel tabell . Till exempel , med tanke på en databas med tabeller som heter " Kunden " och " Order " med en kolumn som heter " Kund-id " i " Kunden " tabell och en kolumn som heter " ordID " i " Order " tabellen , skulle följande fråga misslyckas :
SELECT ordID från Kund ,
angivna kolumnen finns inte i tabellen angivna , så frågan resultatet blir tomt Addera ditt Filtrering
frågor kan filtrera data resultat på olika sätt . Om koden kräver endast en del av de poster för särskilda tabellkolumner , utvecklare kan skräddarsy frågesyntax att hämta här avsnittet ensam . Till exempel visar följande syntax fråge dessa poster med ett visst värde i en databas tabell kolumn :
SELECT * från kunden där typ = ' business ' ,
Denna fråga kommer att returnera poster som presenterar alla kolumner i " Kunden " bord där värdet i " typ " kolumnen matchar det angivna värdet av " business ". Om antingen kolumnen specificeras i " där " klausul , eller det värde som anges är felaktig , kan frågan återkomma antingen inga resultat eller felaktiga resultat .
Typer
Använda felaktiga typer kan orsaka SQL-frågor för att misslyckas . Detta är vanligast när klausuler som " där " konstruktion finns . Till exempel är om kod filtrering ett frågeresultat på en kolonn , som lagrar en viss typ av värde såsom numerisk , men en fråga "där" instruktionen anger ett värde som en textsträng typen, kan frågan misslyckas. Det är vanligt att ta emot meddelanden som anger en " typ mismatch " i sådana fall .
Citat
enkla och dubbla anföringstecken ofta förekommer inom frågesyntax . Till exempel är det vanligt att inkludera SQL-frågor inom andra programmeringsspråk skript i språk som PHP . Följande exempel på PHP utdrag skapar en variabel för att modellera en SQL-fråga med en filtrerande klausul inuti :
$ query = " SELECT * FROM folk var pName = ' Smith ' ";
frågan själv är innesluten i citationstecken , medan det angivna värdet för den " där " klausul visas innanför enkla citationstecken . Denna typ av situation är en där det är mycket vanligt att oavsiktligt förvirra enkla och dubbla citattecken , förhindrar potentiellt antingen skript eller frågan från verkställande .