Hur man skriver SQL-frågor - detaljerade exempel

Var och en av oss är vänd regelbundet och använder olika databaser.När vi väljer e-post, vi arbetar med databasen.Databaser som används söktjänster, banker för lagring av kunddata, etc.

Men trots konstant användning av databasen, även för många utvecklare av programvaror och system är en hel del "vita fläckar" på grund av olika tolkningar av samma villkor.Vi ger en kort definition av nyckelbegrepp databasen innan behandlingen av SQL.So.

databas - fil eller uppsättning filer för lagring av beställda datastrukturer och deras relationer.Mycket ofta är den databas som kallas databassystem (DBMS).Databas - detta är bara en databas med information i ett visst format och kan arbeta med olika databaser.

Tabell - föreställa den mapp där dokumenten lagras, grupperade efter vissa egenskaper, såsom en lista över order under den senaste månaden.Detta är en tabell i en databas.En separat tabell har sin egen unika namn.

datatyp - typ av information tillåts att lagras i en enda kolumn eller rad.Det kan vara särskilda nummer eller textformat.

kolumn och rad - vi alla arbetade med kalkylblad, som också föreligger i rader och kolumner.Alla relationsdatabastabeller fungerar på liknande sätt.Linjerna kallas ibland poster.

primärnyckel - varje rad kan ha en eller flera kolumner för dess unika identifiering.Ingen primärnyckel är mycket svårt att utföra uppdateringen, ändra och ta bort de nödvändiga raderna.

Vad är SQL?

frågespråket SQL (Eng. Structured Query Language - Structured Query Language) endast utformad för att fungera med databaser och är för närvarande standard för alla populära databaser.Syntaxen består av ett litet antal aktörer och lätt att lära.Men trots den skenbara enkelhet, gör det möjligt att skapa SQL-frågor för komplexa databasåtgärder i alla storlekar.

Sedan 1992 finns det en gemensam standard som kallas ANSI SQL.Den definierar den grundläggande syntax och funktioner av aktörer och stöds av alla databashanterare marknadsledare som Oracle Microsoft SQL Server.Överväga alla möjligheter att språket en kort artikel är omöjligt, så vi kommer kortfattat bara ta hänsyn till grundläggande SQL-satser.Exempel visar enkelhet och funktioner i språket:

  • skapa databaser och tabeller;
  • exempeldata;
  • lägga till poster;
  • modifiering och borttagning av information.

datatyper SQL

Alla kolumner i en databastabell lagra samma datatyp.SQL-datatyper är desamma som i andra programmeringsspråk.

datatyp Beskrivning
INT heltal
REAL flyttal
TEXT teckensträng med variabel längd
DATUM SQLbegäran "date" i olika format
TIME Time
CHAR textsträngar med fast längd

skapa kalkylblad och databaser

skapa nya databaser, tabeller och andra önskemåli SQL Det finns två sätt:

  • SQL-sats i konsolen databasen
  • Använda interaktiva administrationsverktyg som utgör databasservern.

skapa en ny databas operatör CREATE DATABASE & lt; namnet på databasen & gt ;;.Som ni kan se, är syntaxen enkel och lakoniskt.

tabeller i databasen skapar --CREATE TABLE uttalande med följande parametrar:

  • tabellnamn
  • namn och kolumndatatyper

Som ett exempel, skapa en tabell Commodity med följande kolumner:

kolonn Beskrivning
commodity_id ID Produkt
vendor_id ID leverantör (nyckel externa bords Vendors)
commodity_name Produktnamn
commodity_price kostar
commodity_desc Beskrivning

skapa tabellen:

--CREATE TABLE varu

(commodity_id CHAR (15) NOT NULL,

vendor_id CHAR (15) NOT NULL,

commodity_name CHAR (254) NULL,

commodity_price DECIMAL (8,2) NULL,

commodity_desc VARCHAR (1000) NULL);

tabell består av fem kolumner.Efter namnet är den typ av datakolumner separerade med kommatecken.Värdet av kolonnen kan acceptera null-värden (null), eller måste fyllas i (NOT NULL), och det är fast besluten att skapa tabellen.

exempeldata från tabellen

operatörsdatasampling - de vanligaste SQL-satser.För information du behöver för att ange att vi vill välja från en tabell.Först ett enkelt exempel: att

SELECT commodity_name FRÅN Commodity

Efter SELECT ange namnet på kolonnen för att få information, och bestämmer FROM tabell.

resultatet av frågan blir alla rader med värden Commodity_name i den ordning som de in i databasen som ärutan sortering.För att organisera resultaten med en extra operatörs ORDER BY.

att fråga om flera fält lista dem separerade med kommatecken, som i följande exempel:

VÄLJ commodity_id, commodity_name, commodity_price FRÅN varu

är möjligt att erhålla till följd av begäran av alla kolumner linjen.För detta ändamål, kännetecknet «*»:

SELECT * FROM varu

  • dessutom välja bärare:
  • sorteringsdata (operatörs ORDER BY)
  • Val enligt betingelserna (VAR)
  • gruppering sikt (GROUP BY)

lägg till rader

du vill lägga till rader till en tabell med SQL-satser med operatören INSERT.Tillsatsen kan göras på tre sätt:

  • lägga till en ny hela raden;
  • av raden;
  • frågeresultat.

att lägga hela raden måste ange namnet på tabellen och värdena för kolumner (fält) av den nya linjen.Här är ett exempel:

INSERT INTO varuvärden ('106', '50', 'Coca-Cola "," 1,68 "," Nej Alcogol,)

exempel lägger till en tabell med nya varor.Värdena anges efter VÄRDEN uttalande för varje kolumn.Om det inte finns något motsvarande värde för en kolumn, måste du ange NULL.Kolonnerna är fyllda med värdena i den ordning som anges när du skapar en tabell.

Om du lägger till endast en del av linjen, måste du uttryckligen ange namnet på kolumnen, som i exemplet:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VÄRDEN ("106", "50""Coca-Cola",)

Vi har infört endast produktbeteckningar, leverantör och dess namn, och lägga undan resten av fältet tomt.

Lägga frågeresultat

INSERT huvudsakligen används för att lägga strängar, men kan användas för att lägga till resultaten av operatören välja.

Ändra Data

Om du vill ändra informationen i fälten i databastabellen som du vill använda operatören UPDATE.Operatören kan användas på två sätt:

  • uppdaterar alla rader i tabellen.
  • endast en viss linje.

UPDATE består av tre huvuddelar:

  • tabell där du vill göra förändringar;
  • fältnamn och deras nya värden;
  • förutsättningar för att markera rader att ändra.

Betrakta ett exempel.Antag varor med ID = 106 har ändrat priset, så denna linje för att uppdatera.Vi skriver följande uttalande:

UPPDATERING Commodity SET commodity_price = '3.2' VAR commodity_id = '106'

vi anger tabellnamnet, i vårt fall, Commodity, som kommer att uppdateras, och sedan efter SET - det nya värdet i kolumnen och hitta önskad postgenom att specificera det önskade värdet i VAR-ID.

Om du vill ändra antalet kolumner efter SET indikerade några par av kolumnvärde, separerade med kommatecken.Se ett exempel där uppdateras med namnet och priset på varorna:

UPPDATERING Commodity SET commodity_name = 'Fanta', commodity_price = '3.2' VAR commodity_id = '106'

vill radera informationen i kolumnen, kan du ställa in den till NULL, omDen tillåter strukturen av bordet.Tänk på att NULL - detta är värdet "no", inte är noll som text eller siffror.Radera produktbeskrivningen:

UPPDATERING varu SET commodity_desc = NULL VAR commodity_id = '106'

bort rader

SQL-frågor för att ta bort rader i tabellen utförs av operatören DELETE.Det finns två sätt att använda:

  • bord bort vissa linjer;
  • raderar alla rader i tabellen.

Exempel på att ta bort en rad från tabellen:

DELETE FROM Commodity VAR commodity_id = '106'

Efter DELETE FROM ange namnet på tabellen där rader kommer att raderas.WHERE klausulen innehåller ett tillstånd där linjen kommer att väljas för radering.I exemplet tar vi bort raden med ID = 106.Ange var mycket viktigt eftersomprivedt vidarebefordra detta uttalande att radera alla rader i en tabell.Detta gäller att ändra fältvärdena.

DELETE uttalande inte anger kolumnnamn, och meta-tecken.Det tar bort helt rad och kolumn för att ta bort ett enskilt han kan inte.

Använda SQL i Microsoft Access

Microsoft Access används vanligen interaktivt för att skapa ett kalkylblad, databas, ledningsförändringar, analys av data i databasen och för att genomföra frågor SQL Åtkomst via en bekväm interaktiva frågeverktyget (Frågedesigner), med vilken du kan bygga och omedelbart köra SQL-satser av komplexitet.

stödde också regim tillgång till servern, där Access-databasen kan användas som en generator av SQL-frågor till alla ODBC-datakällor.Denna funktion gör att Access applikationer interagerar med databaser av alla storlekar.

Extensions SQL

Eftersom SQL-frågor inte har alla funktioner i procedur programmeringsspråk, såsom loopar, förgrening, etc, tillverkarna utveckla en databas version av SQL förbättras.Den första är stöd för lagrade procedurer och standard aktörer procedur språk.

vanligaste dialekter:

  • Oracle Database - PL / SQL
  • Interbase, Firebird - psql
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / pgsql.

SQL Internet

MySQL-databas är släppt under en fri licens GNU General Public License.Det finns en kommersiell licens med möjlighet att utveckla anpassade moduler.Som en del av de mest populära delen av byggInternetServrar såsom XAMPP, WAMP och LAMP, och är den mest populära databas applikationsutveckling på Internet.

har utvecklats av Sun Microsystems och är för närvarande stöds av Oracle.Stöder databasens storlek upp till 64 terabyte, standard SQL: 2003 syntax, databasreplikering och molntjänster.