Inleiding tot SQL
SQL is een acroniem voor Structured Query Language en is de standaard taal voor interactie met databases. SQL is zowel een ISO (International Organization for Standardization) en ANSI (American National Standards Institute) standaard, maar veel database-pakketten bevatten gepatenteerde extensies die geen deel uitmaken van de standaard. In feite zijn er niet veel database-servers die zou zijn 100% steun van de SQL-standaard. Laten we eerst eens kijken naar een aantal eenvoudige interacties die we kunnen uitvoeren met behulp van de SQL taal. Laten we zeggen bijvoorbeeld dat we een tabel met de naam user_table, die informatie die op spelers in een Java-game. De informatie is een uniek identificatienummer, gevolgd door gebruikersnaam van de speler, wachtwoord en e-mail adres. Hier is een grafische weergave van de tabel in de database met een aantal gegevens in het monster: Ervan uitgaande dat alle gegevens die eerder was opgenomen in de database en wilden we het wachtwoord van de speler die had de gebruikersnaam van George te krijgen, zouden we gebruik maken van de volgende SQL-instructie op te halen zijn wachtwoord: SELECT wachtwoord van user_table WHERE username = 'George'; Zoals u kunt zien van de vorige verklaring, de grote ding over SQL is de gelijkenis met het Engels. Hiermee bedoel ik het is zeer gemakkelijk te lezen en te begrijpen wat de verklaring probeert te doen. In dit voorbeeld zijn wij "SELECT" ING, wat betekent dat het ophalen, het wachtwoord veld "van" de user_table "waar" de gebruikersnaam is gelijk aan de string "George." Wanneer deze query wordt uitgevoerd, zou de database dan terug het wachtwoord (dat is geo321) van de gebruiker met de gebruikersnaam George. Dus wat zou er gebeuren als er twee gebruikers met de gebruikersnaam George? Nou, zou de terugkeer van een database recordset (er is de mogelijkheid van het krijgen van een werkelijke array de programmeertaal, maar het moet eerst worden opgehaald rij per rij uit de database via het recordset object) met daarin de wachtwoorden voor de dossiers die het vond. Tenzij u specifiek wilt dat gebruikers hebben dezelfde gebruikersnamen, de beste manier zou zijn om dit te controleren op dubbele gebruikersnamen als u het invoeren van de gegevens van de gebruikers in uw spel of het definiëren van de gebruikersnaam als een primaire sleutel. Laten we eens kijken op een ander eenvoudig voorbeeld voor het aanbieden van de hoge scores van een spel in een aflopende volgorde (dwz start door de hoogste score, dan wordt de volgende hoogste, enz.). Laten we aannemen dat onze user_table had ook een veld genaamd highscore dat geregistreerd hoge score van de spelers in een spel. De standaard bestellen is in volgorde van oplopende daarom de databank zou de laagste score eerst als we alle geselecteerde de hoge scores uit de database te halen. De oplossing hiervoor is het gebruik van de DESC trefwoord, die de database naar de resultaten in aflopende volgorde (dwz hoogste waardering eerst) volgorde vertelt. Hier is de SQL-instructie dat we zouden nodig om dit te doen: SELECT gebruikersnaam, highscore UIT user_table ORDER BY highscore DESC
Deze eerdere verklaring zou halen de gebruikersnaam en het hoge score van de user_table volgorde van de highscore veld in aflopende volgorde. Merk op hoe we meer dan een veld kunt ophalen in een verklaring, het scheiden van velden die u wilt ophalen met komma's. We kunnen ook gebruik maken van een *, die bekend staat als een joker en gewoon vertelt de database om alle velden terug uit de tabel in plaats van een bepaald aantal gebieden, zoals in het eerste voorbeeld, waar we net opgehaald het wachtwoord veld. Laten we nu kijken naar een laatste voorbeeld van de meer krachtige functies van SQL en databases. Dit is het gebruik van reguliere expressies. Een reguliere expressie in eenvoudige termen is een manier om te betuigen aan een specifiek patroon van de tekst SQL te kijken in de velden in een tabel. Hier is een voorbeeld verklaring dat zouden alle gebruikersnamen te halen uit de user_table die beginnen met de letter G: SELECT gebruikersnaam FROM user_table WHERE username LIKE 'G%'; Merk op dat we echt anders doen hier is het gebruik van de LIKE trefwoord in plaats van het gelijk teken. Ook het% fungeert als een wildcard bij het gebruik van de LIKE trefwoord. Daarom zal de verklaring te selecteren (ophalen) alle gebruikersnamen die beginnen met G, zoals de namen die beginnen met G zal passen in de reguliere expressie 'G% ". Als we willen geen namen die net bevatte de letter G ergens in de string te selecteren, dan zouden we gebruik van de volgende verklaring: SELECT gebruikersnaam FROM user_table WHERE gebruikersnaam LIKE "% G%"; Zoals u kunt zien, alles wat we hebben veranderd is de reguliere expressie door het toevoegen van een wildcard (%) vóór de G, waardoor nul of meer verschillende karakters, zowel vóór als na de G als de database zoekt. een artikel afkomstig van George Ionescu
|
||||||
|