Datamaskiner, Programmering
Grunnleggende SQL-setninger
SQL-standarden ble vedtatt i 1992 og fortsatt i bruk i dag. At han har blitt en målestokk for mange DBMS. Selvfølgelig, noen produsenter bruker sin egen tolkning av standarden. Men i alle system, er det fortsatt de viktigste komponentene - SQL-setninger.
introduksjon
Ved hjelp av SQL-setninger i databasen skjer verdier leder bord og deres forberedelse for videre analyse og display. De er et sett med søkeord, der systemet vet hva de skal gjøre med dataene.
Definer flere kategorier av SQL-setninger:
- Definisjonen av databaseobjekter;
- manipulere verdiene;
- vern og forvaltning;
- sesjonsparametre;
- Informasjon om base;
- statisk SQL;
- dynamisk SQL.
SQL-setninger for datamanipulasjon
Denne kategorien inkluderer søkeord som du kan styre plasseringen av verdier i databasen.
SETT. Setter inn en rad i en eksisterende tabell. Den kan brukes som en enkel verdi eller flere, definert av en bestemt tilstand. For eksempel:
INSERT INTO
tabellnavnet (kolonne 1 navn, navn på søylen 2)
VERDIER (verdi en verdi 2).
For å bruke operatøren SQL-setning INSERT med flere verdier, kan du bruke følgende syntaks:
INSERT INTO
En tabellnavn (navn av søylen 1, kolonne navn 2)
SELECT kolonne navn 1, navnet på kolonnen 2
Fra tabell navn 2
WHERE navn 2.imya tabell kolonne 1> 2
Dette søket velger alle dataene i tabell 2, som er større enn 2 for en kolonne og lime dem inn i den første.
UPDATE. Som navnet tilsier, oppdaterer denne uttalelsen SQL-spørringen data i en eksisterende tabell på en viss basis.
eksempel:
UPDATE tabellnavn 1
SET kolonne name = 2 "Basil"
HVOR tabellnavnet 1.imya kolonne 1 = 1
Denne strukturen utsluttingsverdien Basil alle radene som tilfredsstiller nummer en i den første kolonne.
SLETT. Sletter data fra tabellen. Du kan spesifisere enhver tilstand eller fjerne alle radene.
DELETE FROM tabellnavn
WHERE navn tablitsy.imya kolonne 1 = 1
Den ovennevnte søket vil slette alle data fra databasen med den verdi man i den første kolonne. Her er hvordan du kan fjerne hele tabellen:
DELETE FROM tabellnavn.
Neste er nødvendig å fortelle om SELECT-setningen. Han er en av de viktigste, slik at han blir nødt til å vie et eget kapittel.
SELECT-setning
Hovedformålet med SELECT - utvalg av data i henhold til visse betingelser. Resultatet av hans arbeid er alltid en ny tabell med utvalgte data. MS operatør SQL SELECT kan brukes til å vekte ulike forespørsler. Derfor, sammen med den, kan du vurdere andre relaterte søkeord.
For å velge alle dataene symbolet "*" brukes fra en bestemt tabell.
SELECT *
Fra tabellnavn 1
Resultatet av dette søket vil være en eksakt kopi av tabell 1.
Og her er hentet ved der tilstand som trekker ut fra tabell 1, alle verdier større enn 2 i kolonne 1.
SELECT *
Fra tabellnavn 1
WHERE navn 1.imya tabell kolonne 1> 2
Du kan også angi i utvalget at bare enkelte kolonner er nødvendig.
VELG tabellnavnet 1.imya kolonne 1
Fra tabellnavn 1
Resultatet av dette søket vil alle linjer med verdier i kolonne 1. Bruke MS SQL operatører kan lage sin egen tabell, i løpet av utskifting, beregning og erstatte visse verdier.
VELG
tabellnavn 1.imya kolonne 1
tabellnavn 1.imya kolonne 2
tabellnavn 1.imya kolonne 3
«=» AS EQ
tabellnavn 1.imya kolonne 2 i tabellen navn * 1.imya kolonne 3 AS SUMMA
Fra tabellnavn 1
Denne tilsynelatende komplekse spørringen henter alle verdier av tabell 1, og deretter oppretter en ny kolonne og EQ SUMMA. Først kommer "+" tegn, i den andre datakolonne av produktet 2 og 3. Dette resultatet kan representeres som en tabell, for å forstå hvordan det fungerer:
kolonne 1 | kolonne 2 | kolonne 3 | EQ | SUMMA |
Produktnavn 1 | 10 | 50 | + | 500 |
Produktnavn 2 | 15 | 100 | + | 1500 |
Hvis du bruker en SELECT-setning, kan du umiddelbart bruke bestillingsinformasjon på noe grunnlag. Den bruker ordet ORDER BY.
VELG
tabellnavn 1.imya kolonne 1
tabellnavn 1.imya kolonne 2
tabellnavn 1.imya kolonne 3
Fra tabellnavn 1
ORDER BY kolonne navn 2
Den resulterende tabellen vil se slik ut:
kolonne 1 | kolonne 2 | kolonne 3 |
1 | 1 | 54 |
3 | 2 | 12 |
7 | 3 | 100 |
2 | 5 | 1 |
Det vil si, alle linjene er installert på en slik måte at kolonne 2 verdier var stigende.
Data kan også oppnås fra flere tabeller. For klarhet, må du først tenke at de har to, noen er i databasen:
Tabell "ansatte"
nummer | navn | etternavn |
1 | Vasja | Vasin |
2 | Petya | Petin |
Table "Lønn"
nummer | sats | kreditert med |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
Nå må du, som knytter de to tabellene for å få felles verdier. Bruke grunnleggende SQL-setninger det kan gjøres på følgende måte:
VELG
Sotrudniki.Nomer
Sotrudniki.Imya
Zarplata.Stavka
Zarplata.Nachisleno
Fra ansatte Lønn
HVOR Sotrudniki.Nomer = Zarplata.Nomer
Det er hentet fra to forskjellige tabeller av verdier, forent av tall. Resultatet er følgende sett med data:
nummer | navn | sats | kreditert med |
1 | Vasja | 1 | 10000 |
2 | Petya | 0.5 | 3500 |
Litt mer om SELECT. Ved hjelp av samlefunksjoner
En av de grunnleggende SQL SELECT-setninger kan produsere noen beregninger i utvalget. For å gjøre dette, han bruker enkelte funksjoner og formler.
For eksempel, for å få antall poster fra tabellen "ansatte", må du bruke søket:
SELECT COUNT (*) AS N
Fra Medarbeidere
Resultatet vil være en tabell med en kolonne og verdi.
N |
2 |
Funksjonen kan brukes i spørringer som beregner summen, maksimums- og minimumsverdier, og gjennomsnittet. For å gjøre dette, er nøkkelord som brukes SUM, MAX, MIN, AVG.
For eksempel, er det nødvendig å holde en prøve av den allerede kjente "Lønn" tabellen:
nummer | sats | kreditert med |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
Du kan bruke en slik anmodning, og se hva som skjer:
VELG
SUM (Zarplata.Nachisleno) AS SUMMA
MAX (Zarplata.Nachisleno) AS MAX
MIN (Zarplata.Nachisleno) AS MIN
AVG (Zarplata.Nachisleno) AS sred
Fra Lønn
Finalebordet vil være som følger:
SUMMA | MAX | MIN | sred |
13500 | 10000 | 3500 | 6750 |
Det er slik, kan du velge fra en database de riktige verdiene på fly for å utføre en beregning av ulike funksjoner.
Union, snitt og forskjellen
Kombiner flere spørsmål i SQL
VELG Sotrudniki.Imya
Fra Medarbeidere
HVOR Sotrudniki.Nomer = 1
UNION
VELG Sotrudniki.Imya
Fra ansatte Lønn
HVOR Zarplata.Nomer = 1
Det bør være oppmerksom på at det i denne sammenheng tabellen må være kompatible. Det er, har samme antall kolonner.
Syntaksen SELECT-setningen og prosedyren for behandling
Det første SELECT bestemmer området som det vil ta dataene. For å gjøre dette, bruker søkeordet fra. Hvis ikke spesifisert, hva du skal velge.
Du kan deretter presentere SQL-setning der. Med hjelp av SELECT går gjennom hver rad i tabellen og sjekker dataene for samsvar med tilstanden.
Hvis spørringen har et GROUP BY, så er det den gruppering av verdiene for disse parametrene.
Operatører å sammenligne data
De har flere typer. I SQL sammenligningsoperatorer kan teste ulike typer verdier.
"=". Betegner, som du kanskje skjønner, likestilling mellom de to uttrykkene. For eksempel er det allerede blitt brukt i eksemplene ovenfor - WHERE Zarplata.Nomer = 1.
">". Større-enn-tegn. Hvis verdien av den venstre siden av uttrykket er større enn den logisk SANN returneres og betingelsen er oppfylt.
"<". Mindre enn tegn. Omvendt forrige operatør.
Tegn på "<=" og "> =". Den skiller seg fra enkle operatører mer eller mindre er det med like operander betingelse er også sant.
"<>". Jeg bryr meg ikke. Tilstanden anses SANN, hvis bare en operand er ikke lik en annen. Han har en mer tolkning - "=".
SOM
Oversett dette søkeordet kan være så "lik". SOM operatør i SQL brukes omtrent på samme prinsipp - kjører en spørring fra en mal. Det vil si, det kan du utvide prøve data fra databasen ved hjelp av regulære uttrykk.
For eksempel, setter det en slik oppgave: fra allerede kjent base "ansatte" for å få alle de menneskene som har navn som ender med "I". Da forespørselen kan være sammensatt slik:
SELECT *
Fra Medarbeidere
HVOR navn som `%` ll
Prosenttegn i dette tilfellet betyr masken, det vil si alle tegn, og deres antall. Og i brevet: "Jeg» SQL bestemmer at det siste tegnet for å være på den måten.
CASE
Denne uttalelsen SQL Server er en implementering av multiple choice. Det ligner en bryter uttalelse i mange programmeringsspråk. CASE-setningen i SQL utfører en handling på flere forhold.
For eksempel må du velge fra en tabell "lønn" maksimums- og minimumsverdier.
nummer | sats | kreditert med |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
Da forespørselen kan være sammensatt slik:
SELECT *
Fra Lønn
HVOR tilfelle når SELECT MAX (Charged) maksimums
Når markerings MIN (Charged) THEN Minimum
Sluttresultatet resultatet~~POS=HEADCOMP
i "Charged" -kolonnen i denne sammenheng, ser systemet for maksimal og minimal verdi. Deretter bruker END feltet skapt "total", som vil bli logget i "maksimal" eller "minimum" avhengig av resultatet av tilstanden.
Forresten, i SQL det er en mer kompakt form av CASE - COALESCE.
definisjon av data
Denne visningen lar deg utføre en rekke stellebord - opprette, slette, endre og arbeide med indekser.
Den første, som er verdt å vurdere - CREATE TABLE. Han gjør ingenting annet enn å skape et bord. Hvis du bare skrive CREATE TABLE spørring, vil ingenting skje, fordi du trenger å angi flere flere parametere.
For eksempel, for å skape den velkjente bordet "ansatte" ønsker å bruke kommandoen:
CREATE TABLE Medarbeidere
(ID-nummer (10) NOT NULL
Navn varchar (50) NOT NULL
Etternavn varchar (50) NOT NULL)
I denne forespørselen, i parentes umiddelbart definert feltnavn og deres typer, samt om det kan være NULL.
DROP TABLE
Utfører en enkel oppgave - å fjerne sa tabellen. Den har et ekstra alternativ IF eksisterer. Det absorberer en feil ved sletting, hvis nødvendig tabellen finnes ikke. Eksempel på bruk:
DROP TABLE ansatte IF eksisterer.
CREATE INDEX
I SQL, er det et system av indekser, som tillater raskere tilgang til data. I alminnelighet er det en kobling til en bestemt kolonne. Lag en indeks kan være en enkel forespørsel:
CREATE INDEX nazvanie_indeksa
ON nazvanie_tablitsy (nazvanie_stolbtsa)
Bruk denne setningen i T-SQL, Oracle, PL SQL og mange andre tolkninger teknologier.
ALTER TABLE
Meget funksjonell operatør med mange alternativer. Generelt frembringer endringen en struktur definisjon og fordelingsbord. Operatør brukes i Oracle SQL, Postgres, og mange andre.
Det skal nå bli presentert med ulike alternativer ved hjelp ALTER TABLE.
ADD. Utfører tilsetningen av en kolonne i en tabell. Syntax ham dette: ALTER TABLE ADD nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh. Kan ha en parameter HVIS IKKE eksisterer, som undertrykke en feil hvis en kolonne allerede har skapt;
DROP. Fjerner kolonne. IF eksisterer også er fullført, noe som vil frembringe en feilmelding som sier at den forespurte kolonnen ikke eksisterer;
ENDRE. Brukes til å endre navn på feltnavnet spesifisert. Eksempler på bruk: ENDRE TABLE ENDRE nazvanie_tablitsy oldname NEW_NAME;
ENDRE. Denne kommandoen vil endre typen av en bestemt kolonne og flere attributter. Og det er brukt slik: ALTER TABLE ENDRE nazvanie_tablitsy nazvanie_stolbtsa datatype attributter;
CREATE VIEW
I SQL, er det noe slikt som en idé. Kort sagt, det er en slags virtuell tabell med dataene. Det er dannet som et resultat av prøven bruke språket SQL SELECT-setning. Visninger kan begrense tilgangen til databasen for å skjule dem, for å erstatte den virkelige kolonnenavn.
Prosessen med å opprette skjer ved en enkel spørring:
CREATE VIEW view navn AS SELECT FROM * tabellnavn
Sampling kan skje som en helhet database som en helhet, og i en viss tilstand.
Litt om funksjonene
I SQL-spørringer ofte bruker ulike innebygde funksjoner som lar deg samhandle med data og konvertere dem på fly. Det er verdt å vurdere dem, som de er en integrert del av et strukturert språk.
Telle. Produserer telling rader eller poster i en bestemt tabell. Som et alternativ, kan du angi kolonnenavnet, så dataene vil bli tatt fra ham. SELECT COUNT * FROM ansatte;
AVG. Denne funksjonen gjelder bare for kolonner med numeriske data. Resultatet er bestemmelsen av den aritmetiske middelverdien av samtlige verdier;
MIN og MAX. Disse funksjonene har blitt brukt i denne artikkelen. De definerer den maksimale og minimale verdier av nevnte kolonne;
SUM. Det er enkelt - funksjon beregner summen av verdiene i en kolonne. Det brukes utelukkende for numerisk datatype. Å legge til parameter- forskjellige, vil bli lagt bare til spesielle verdier;
ROUND. Funksjon avrunding desimaler brøk tall. Syntaksen brukes av kolonnenavnet og antall desimaler;
LEN. En enkel funksjon som beregner lengden av kolonnen. Resultatet vil bli en ny tabell som viser antall tegn;
NÅ. Dette nøkkelordet brukes til å beregne gjeldende dato og klokkeslett.
flere operatører
Mange eksempler på SQL-setninger er stikkord som utfører små oppgaver, men likevel i stor grad forenkle prøve eller databaseaktivitet.
AS. Den brukes når du ønsker å visuelt arrangere et resultat av å tildele det angitte navnet for å få et bord.
MELLOM. En veldig hendig verktøy for prøvetaking. Det angir verdiområdet, inkludert behovet for å oppnå dataene. Inndataparameterverdien mottar fra og til et tallområde blir brukt;.
IKKE. Operatøren gir det motsatte av uttrykket.
Avkorte. Fjerner data fra basisdelen. Forskjellig fra de operatører som gjenvinner dataene etter bruk umulig. Det er verdt å merke seg at gjennomføringen av et gitt søkeord i ulike SQL kan være ulike tolkninger. Så før du prøver å bruke avkorte, bedre kjent med bakgrunnsinformasjon.
LIMIT. Angir antall utgangslinjer. Det særegne operatøren er at det er alltid plassert på slutten. Det tar en obligatorisk og en valgfri parameter. Den første indikerer hvor mange rader med de valgte dataene for å vise. Og hvis den andre, så opererer både verdiområdet.
UNION. Meget brukervennlig operatøren å kombinere flere spørringer. Han har allerede møtt blant eksemplene på dette i denne artikkelen. Du kan vise rader fra flere tabeller, UNION kombinere dem for mer praktisk bruk. Syntax ham dette: SELECT kolonne Fra tabellen UNION SELECT FROM imya_drugogo_stolbtsa imya_drugoy tabellen. Resultatet er en oppsummering tabell over de forente krav.
Primærnøkkel. Oversatt som "primærnøkkel." Faktisk er det slik terminologi som brukes i referansemateriale. Han er en unik identifikator for raden. Den brukes, som en regel, ved opprettelse av en tabell for å indikere det feltet som skal inneholde det.
STANDARD. På samme måte som den foregående operatør, benyttes i gjennomføringen for å skape en spørring. Den definerer standardverdien, som vil bli fylt i feltet når det blir opprettet.
Noen tips for å utvikle en plattform for å arbeide med SQL
NULL. Nybegynnere og ikke bare programmerere i utarbeidelse av forespørsler ofte glemmer om tilgjengeligheten av NULL-verdier. Som et resultat, til kodefeil kryper inn, noe som er vanskelig å spore i feilsøkingsprosessen. Derfor, ved opprettelse av en tabell, eller beregnet på nytt samplingsverdier må stoppe og tenke, og hvorvidt NULL forekomst er tatt hensyn til i spørringen området.
Minne. I denne utredningen ble vi vist en rekke funksjoner, i stand til å utføre visse oppgaver. I utviklingen av skallet for å arbeide med databasen, kan du "oppveier" beregning av enkle uttrykk til databasesystemet. I noen tilfeller gir dette en betydelig økning i ytelse.
Begrensninger. Hvis du ønsker å få fra databasen med tusenvis av rader bare to, er det nødvendig å bruke operatører som LIMIT eller TOP. Du trenger ikke å hente data ved hjelp av skallet av språkutvikling.
Koble. Ved mottak av data fra flere tabeller, mange programmerere begynne å redusere dem sammen konvolutten minnemidlene. Men hvorfor? Tross alt, kan du gjøre en forespørsel der det vil være til stede. Du trenger ikke å skrive kode en gang og bestille ekstra minne i systemet.
Sortering. Hvis det er mulig å anvende reguleringen i det anmodning, det vil si at DBMS krefter, er det nødvendig å bruke den. Dette vil i stor grad spare på ressursene når programmet eller tjenesten.
Mange forespørsler. Hvis du må sette inn en rekke poster i rekkefølge, så optimalisering bør tenke på pakkedata er satt inn en forespørsel. Dette vil også øke ytelsen til hele systemet.
Forsiktig plassering av data. Før utarbeidelse av basestruktur må tenke på hvordan og om et slikt antall tabeller og felt som er nødvendige. Kanskje det er en måte å kombinere dem, eller gi opp noen. Svært ofte, programmerere bruke en overdreven mengde data som er ingensteds og aldri brukt.
Typer. For å spare plass og ressurser må være følsomme for hvilke typer data som brukes. Hvis du kan dra nytte av en mindre "tunge" for den type minne, må du bruke navnet hans. For eksempel, hvis det er kjent at i dette området er en numerisk verdi vil ikke overstige 255, hvorfor bruk av 4-byte INT, hvis det TINYINT en byte.
konklusjon
Avslutningsvis bør det bemerkes at språket er strukturert SQL-spørringer er nå brukes nesten overalt - websider, webtjenester, desktop programvare, mobile applikasjoner. Derfor vil SQL kunnskap hjelpe alle sektorer i utvikling.
Men endring av morsmålet standard ofte skiller seg fra hverandre. For eksempel kan PL SQL operatører har annen syntaks enn i SQL Server. Så før du begynner å utvikle denne teknologien, er det nødvendig å bli kjent med det ved retningslinjer.
I fremtiden kolleger, som kan overgå SQL funksjonalitet og ytelse, er det lite sannsynlig å dukke opp, så dette omfanget er ganske lovende nisje for enhver programmerer.
Similar articles
Trending Now