Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Query Syntax Error

Pri vývojárom vytvárať aplikácie pomocou databáz , jedná sa zvyčajne týkajú dátových otázok . Otázka je vykonanie príkazu v programovacom alebo skriptovacom kódu , ktorého účelom je získať dobre definovaný súbor dát z databázy . Otázky môžu byť vykonávané priamo v SQL ( Structured Query Language ) na systémy , ako je MySQL a Oracle , alebo môže byť vykonaný z iného programovacieho jazyka ako je PHP alebo Java . Otázky určiť rôzne podrobnosti o údajoch skript žiadajú . Tabuľky

Otázky bežne označujú jednu alebo viac databázových tabuliek . Otázka v SQL bude normálne používať " Select " kľúčové slovo a meno aspoň jednej tabuľky sú uložené v databáze . Názov tabuľky reprezentuje tabuľku obsahujúcu požadované údaje , takže ak tento názov nie je správne zahrnutá v cene , bude dotaz zlyhá . Nasledujúci dotaz napríklad SQL sa pokúsi načítať dáta z tabuľky s názvom " Country " sa stĺpci s názvom " City " v tom :

Vyberte mesto zo zeme ;

V predvolenom nastavení je táto vráti všetky záznamy v " City " stĺpci , ktoré sú v súčasnej dobe uložené v tabuľke , ale v prípade , že názov tabuľky je napríklad napísané nesprávne , dotaz vráti nič .
stĺpca

Otázky zadať názvy stĺpcov v rámci tabuliek . Tieto stĺpce obsahujú požadované údaje . Ak sú názvy stĺpcov nesprávne zadaný dotaz preto nebude môcť vrátiť požadované údaje . Častou chybou je vrátane názov stĺpca , ktorý je platný , ale je požadované z nesprávnej tabuľky . Napríklad , vzhľadom k databáze s tabuľkami s názvom " Zákazník " a " Objednať " sa stĺpci s názvom " custid " v " Zákazník " tabuľky a stĺpce s ​​názvom " ordID " na " Objednať " tabuľky , nasledujúci dotaz by zlyhanie :

SELECT ordID od zákazníka ; .

Zadaný stĺpec neexistuje v tabuľke uvedené , takže výsledok dotazu bude prázdny
Filtrovanie

Otázky môžete filtrovať výsledky dát rôznymi spôsobmi . Pokiaľ je kód vyžaduje iba časť záznamov pre jednotlivé stĺpce tabuľky , môžu vývojári prispôsobiť syntax dotazu načítať túto časť samostatne . Napríklad, nasledujúci syntax ukazuje dotazovanie tie záznamy s určitou hodnotou v rámci databázy stĺpci tabuľky :

SELECT * FROM zákazníka WHERE type = " business" ;

Tento dotaz vráti záznamy predstavovať všetky stĺpca " Zákazník " stola , kde hodnota v stĺpci " Typ " zodpovedá zadanej hodnote " podnikania . " Je-li jeden stĺpec je uvedené v " where" , alebo hodnota daná , je nesprávna , môže dotaz vrátiť buď neboli nájdené žiadne výsledky , alebo nesprávne výsledky .
Typy

Použitie nesprávne typy môžu spôsobiť SQL dotazov zlyhanie . To je najčastejšia , keď sú prítomné ustanovenia , ako napríklad " kde " konštrukt . Napríklad , ak je kód filtrovanie výsledok dotazu na stĺpec , ktorý je uložený určitý typ hodnoty , ako sú číselné , ale dotaz " , kde " klauzula určuje hodnotu ako typ textového reťazca , dotaz môže zlyhať . Je bežné , aby prijímal správy poukázali na " Rozpor typu " v takýchto prípadoch .
Citáty

jednoduché a dvojité úvodzovky sa často objavujú v syntaxi dotazu. Napríklad , to je obyčajné zahŕňať SQL dotazov v rámci iných programovacích skriptov v jazykoch , ako je PHP . Nasledujúca ukážka PHP výňatok vytvára premennú modelovať dotazu SQL s doložkou o filtrovanie v nej :

$ query = " SELECT * FROM ľudí tam , kde PNAM = ' Smith ' " ;

dotaz sama o sebe je obsiahnutý v úvodzovkách , zatiaľ čo zadaná hodnota pre " where" sa objaví vo vnútri apostrofov . Tento typ situácie je taká , v ktorej je veľmi časté , aby omylom zamieňať jednotlivé a dvojité úvodzovky , potenciálne bráni buď skript alebo dotaz z vykonávania .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené