ComputereProgrammering

Grundlæggende SQL-sætninger

SQL standarden blev vedtaget i 1992 og stadig er i brug i dag. At han er blevet et benchmark for mange database management systemer. Selvfølgelig, nogle producenter bruger deres egen fortolkning af standarden. Men i ethvert system, er der stadig de vigtigste komponenter - SQL-sætninger.

introduktion

Ved hjælp af SQL-sætninger i databasen sker værdier management tabeller og deres forberedelse til yderligere analyse og display. De er et sæt søgeord, hvorved systemet ved, hvad de skal gøre med dataene.

Definer flere kategorier af SQL-sætninger:

  • definition af database objekter;
  • manipulere værdier;
  • beskyttelse og forvaltning;
  • session parametre;
  • Oplysninger om basen;
  • statisk SQL;
  • dynamisk SQL.

SQL-sætninger for data manipulation

Denne kategori omfatter de søgeord, som du kan styre placeringen af værdierne i databasen.

INSERT. Indsætter en række i en eksisterende tabel. Det kan bruges som en enkelt værdi eller multiple, defineret ved en bestemt tilstand. For eksempel:

INSERT INTO

tabelnavnet (kolonne 1 navn, navnet på den kolonne 2)

VÆRDIER (værdi 1 Value 2).

For at bruge operatørens SQL-sætning INSERT med flere værdier, skal du bruge følgende syntaks:

INSERT INTO

1 tabel navn (navnet på den kolonne 1, kolonne navn 2)

SELECT kolonnenavn 1, navnet på den kolonne 2

FRA tabelnavn 2

HVOR navn 2.imya tabel kolonne 1> 2

Denne forespørgsel vælger alle data i tabel 2, som er større end 2 til 1 kolonne og indsætte dem i den første.

UPDATE. Som navnet antyder, denne erklæring opdaterer SQL-forespørgslen data i en eksisterende tabel på en bestemt basis.

eksempel:

UPDATE tabelnavn 1

SET kolonnenavn = 2 "Basil"

HVOR tabelnavnet 1.imya kolonne 1 = 1

Denne struktur fyld værdi Basil alle rækker, der opfylder nummer 1 i den første kolonne.

SLET. Sletter data fra bordet. Du kan angive enhver tilstand eller for at fjerne alle rækkerne.

DELETE FROM tabelnavn

HVOR navn tablitsy.imya kolonne 1 = 1

Ovenstående forespørgsel vil slette alle data fra databasen med værdien en i første kolonne. Her er hvordan du kan rydde hele bordet:

DELETE FROM tabelnavn.

Næste er nødvendigt at fortælle om SELECT-sætningen. Han er en af de vigtigste, så han bliver nødt til at afsætte et særskilt kapitel.

SELECT-sætning

Hovedformålet med SELECT - udvælgelse af data i henhold til visse betingelser. Resultatet af hans arbejde er altid en ny tabel med udvalgte data. MS operatør SQL SELECT kan anvendes til at vægte forskellige anmodninger. Derfor, sammen med det, kan du overveje andre relaterede søgeord.

For at vælge alle de data symbolet "*" bruges fra en bestemt tabel.

SELECT *

FRA tabelnavn 1

Resultatet af denne forespørgsel vil være en nøjagtig kopi af bordet 1.

Og her er hentet ved HVOR tilstand, som trækker ud fra tabel 1, alle værdier større end 2 i kolonne 1.

SELECT *

FRA tabelnavn 1

HVOR navn 1.imya tabel kolonne 1> 2

Du kan også angive i markeringen der er behov for kun visse kolonner.

SELECT tabelnavn 1.imya kolonne 1

FRA tabelnavn 1

Resultatet af denne forespørgsel vil alle linier med værdier på kolonne 1. Brug af MS SQL operatørerne kan skabe sin egen tabel, i forbindelse med udskiftning, beregning og erstatte visse værdier.

SELECT

tabelnavnet 1.imya kolonne 1

tabelnavnet 1.imya kolonne 2

tabelnavnet 1.imya kolonne 3

«=» AS EQ

tabelnavnet 1.imya kolonne 2 i tabellen navn * 1.imya kolonne 3 AS SUMMA

FRA tabelnavn 1

Denne tilsyneladende kompleks forespørgsel henter alle værdierne i tabel 1, og opretter derefter en ny kolonne og EQ SUMMA. Først indtaster tegnet "+", i den anden data kolonne af produktet 2 og 3. Dette resultat kan repræsenteres som et bord, for at forstå hvordan det virker:

kolonne 1

kolonne 2

kolonne 3

EQ

SUMMA

Varenavn 1

10

50

+

500

Varenavn 2

15

100

+

1500

Hvis du bruger en SELECT-sætning, kan du straks bruge bestillingsdata på nogen som helst grund. Det bruger ordet ORDER BY.

SELECT

tabelnavnet 1.imya kolonne 1

tabelnavnet 1.imya kolonne 2

tabelnavnet 1.imya kolonne 3

FRA tabelnavn 1

ORDER BY kolonne navn 2

Den resulterende bord vil se sådan ud:

kolonne 1

kolonne 2

kolonne 3

1

1

54

3

2

12

7

3

100

2

5

1

Det vil sige, har alle linjer blevet monteret på en sådan måde, at kolonnen 2 værdier blev alfabetisk.

Data kan også fås fra flere tabeller. For overskuelighedens skyld, skal du først forestille sig, at de har to, nogle er i databasen:

Tabel "Medarbejdere"

nummer

navn

efternavn

1

Vasya

Vasin

2

Petya

Petin

Tabel "Løn"

nummer

sats

krediteret med

1

1

10000

2

0,5

3500

Nu skal du, som forbinder de to tabeller for at få fælles værdier. Ved hjælp af basale SQL-sætninger det kan gøres på følgende måde:

SELECT

Sotrudniki.Nomer

Sotrudniki.Imya

Zarplata.Stavka

Zarplata.Nachisleno

FRA Medarbejdere Løn

WHERE Sotrudniki.Nomer = Zarplata.Nomer

Der er hentet fra to forskellige tabeller over værdier, forenet af nummer. Resultatet er følgende sæt af data:

nummer

navn

sats

krediteret med

1

Vasya

1

10000

2

Petya

0,5

3500

Lidt mere om SELECT. Under anvendelse af aggregerede funktioner

Et af de grundlæggende SQL SELECT-sætninger kan producere nogle beregninger i prøven. For at gøre dette, bruger han bestemte funktioner og formler.

For eksempel, for at få antallet af poster fra tabellen "Medarbejdere", skal du bruge forespørgslen:

SELECT COUNT (*) AS N

fra medarbejdere

Resultatet vil være en tabel med en kolonne og værdi.

N

2

Funktionen kan bruges i forespørgsler, der beregner summen, maksimum og minimum værdier, og gennemsnittet. For at gøre dette, bruges nøgleord SUM, MAX, MIN, AVG.

For eksempel er det nødvendigt at holde en prøve af den allerede kendte "Løn" tabel:

nummer

sats

krediteret med

1

1

10000

2

0,5

3500

Du kan anvende en sådan anmodning og se hvad der sker:

SELECT

SUM (Zarplata.Nachisleno) AS SUMMA

MAX (Zarplata.Nachisleno) AS MAX

MIN (Zarplata.Nachisleno) AS MIN

AVG (Zarplata.Nachisleno) AS sred

FRA Løn

Finalebordet vil være som følger:

SUMMA

MAX

MIN

sred

13500

10000

3500

6750

Det er den måde, kan du vælge fra en database de relevante værdier i farten til at udføre en beregning af forskellige funktioner.

Union, kryds og forskel

Kombiner flere forespørgsler i SQL

SELECT Sotrudniki.Imya

fra medarbejdere

WHERE Sotrudniki.Nomer = 1

UNION

SELECT Sotrudniki.Imya

FRA Medarbejdere Løn

WHERE Zarplata.Nomer = 1

Det skal erindres, at i denne forening tabellen skal være kompatible. Det vil sige, har det samme antal kolonner.

Syntaksen af SELECT-sætningen og proceduren for forarbejdning

Det første, SELECT bestemmer det område, hvorfra det vil tage dataene. For at gøre dette, skal du bruge nøgleordet FROM. Hvis ikke angivet, hvad de skal vælge.

Du kan derefter præsentere SQL-sætningen WHERE. Med hjælp fra SELECT løber gennem hver række i tabellen og kontrollerer dataene for overholdelse af den betingelse.

Hvis forespørgslen har en GROUP BY, så er der gruppering af værdier for disse parametre.

Operatører til at sammenligne data

De har flere typer. I SQL sammenligning operatører kan teste forskellige typer af værdier.

  • "=". Betegner, som du kan gætte, ligestilling af de to udtryk. For eksempel er det allerede blevet anvendt i eksemplerne ovenfor - WHERE Zarplata.Nomer = 1.

  • ">". Større end-tegn. Hvis værdien af den venstre side af udtrykket er større end den logiske SAND returneres og betingelsen er opfyldt.

  • "<". Mindre end-tegn. Vende den tidligere operatør.

  • Tegn på "<=" og "> =". Den adskiller sig fra simple operatører mere og mindre er, at med lige operander betingelse er også sandt.

  • "<>". Jeg er ligeglad. Betingelsen anses SAND, hvis kun én operand er ikke lig med en anden. Han har en mere fortolkning - "! =".

LIKE

Oversæt dette søgeord kan være så "ens". LIKE operatør i SQL anvendes omtrent på samme princip - kører en forespørgsel fra en skabelon. Det vil sige, det giver dig mulighed for at udvide de eksempeldata fra databasen ved hjælp af regulære udtryk.

For eksempel, det sætter sådan en opgave: fra den allerede kendte base "personale" for at få alle de mennesker, hvis navn slutter med "I". Så anmodningen kan sammensættes på følgende måde:

SELECT *

fra medarbejdere

HVOR Navn LIKE '% `ll

Procenttegn i dette tilfælde betyder masken, det vil sige enhver karakter, og deres antal. Og i brevet: "Jeg» SQL fastslår, at det sidste tegn for at være på den måde.

SAG

Denne erklæring SQL Server er en implementering af multiple choice. Det ligner en switch-statement i mange programmeringssprog. CASE-sætning i SQL udfører en handling på flere forhold.

For eksempel, du vælger fra en tabel "løn" maksimum og minimum værdier.

nummer

sats

krediteret med

1

1

10000

2

0,5

3500

Så anmodningen kan sammensættes på følgende måde:

SELECT *

FRA Løn

HVOR tilfældet, når SELECT MAX (Charged) SÅ Maximum

VED SELECT MIN (Charged) SÅ Minimum

SLUT resultat

i "Charged" kolonnen i denne sammenhæng, ser systemet for den maksimale og minimale værdi. Derefter bruger END felt skabt "alt", som vil blive logget i "maksimal" eller "minimum", afhængigt af resultatet af tilstanden.

Af den måde, i SQL er der en mere kompakt form for CASE - COALESCE.

definition af data

Denne visning gør det muligt at udføre en bred vifte af pusleborde - oprette, slette, ændre og arbejde med indekser.

Den første, der er værd at overveje - CREATE TABLE. Han gør ikke andet end at skabe et bord. Hvis du blot skrive CREATE TABLE forespørgsel, sker der ingenting, fordi du har brug for at angive flere flere parametre.

For eksempel, for at skabe den velkendte tabellen "Medarbejdere" ønsker at bruge kommandoen:

CREATE TABLE Medarbejdere

(ID-nummer (10) NOT NULL

Navn varchar (50) NOT NULL

Sidste navn varchar (50) NOT NULL)

I denne anmodning, i parentes umiddelbart defineret feltnavne og deres typer, samt om det kan være NULL.

DROP TABLE

Udfører en simpel opgave - at fjerne nævnte bord. Det har en ekstra mulighed, hvis der findes. Det absorberer en fejl ved sletning, hvis den krævede tabellen ikke eksisterer. Eksempel på anvendelse:

DROP TABLE lønmodtagere hvor der.

CREATE INDEX

I SQL, der er et system af indekser, som giver hurtigere adgang til data. Generelt er det et link, der peger på en bestemt kolonne. Opret et indeks kan være en simpel forespørgsel:

CREATE INDEX nazvanie_indeksa

PÅ nazvanie_tablitsy (nazvanie_stolbtsa)

Brug denne erklæring i T-SQL, Oracle, PL SQL og mange andre fortolkninger teknologier.

ALTER TABLE

Højfunktionelt operatør med mange muligheder. Generelt ændringen giver en struktur definition og allokering borde. Operatør bruges i Oracle SQL, Postgres, og mange andre.

Der vil nu blive præsenteret for forskellige muligheder ved hjælp af ALTER TABLE.

  • ADD. Udfører tilsætning af en kolonne i en tabel. Syntaks ham dette: ALTER TABLE ADD nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh. Kan have en parameter HVIS IKKE FINDES, som undertrykker en fejl, hvis en kolonne allerede har skabt;

  • DROP. Fjerner kolonne. Hvis der findes er også afsluttet, hvilket vil generere en fejl at sige, at den ønskede kolonne ikke findes;

  • CHANGE. Bruges til at omdøbe navnefeltet angivet. Eksempel brug: ALTER TABLE CHANGE nazvanie_tablitsy oldname NEW_NAME;

  • ÆNDRE. Denne kommando vil ændre typen af en bestemt kolonne og yderligere attributter. Og det bliver brugt på denne måde: ALTER TABLE ÆNDRER nazvanie_tablitsy nazvanie_stolbtsa datatype attributter;

CREATE VIEW

I SQL, der er sådan en ting som en idé. Kort sagt, det er en slags virtuel tabel med data. Det er dannet som et resultat af prøven bruge sproget SQL SELECT-sætning. Visninger kan begrænse adgangen til databasen for at skjule dem, at erstatte de virkelige kolonnenavne.

Processen med at skabe sker ved en simpel forespørgsel:

CREATE VIEW view navn AS SELECT FROM * tabelnavn

Sampling kan finde sted som en helhed database som en helhed, og i en bestemt tilstand.

Lidt om funktionerne

I SQL forespørgsler anvender ofte forskellige indbyggede funktioner, der giver dig mulighed for at interagere med data og konvertere dem på flue. Det er værd at overveje dem, da de er en integreret del af et struktureret sprog.

  • COUNT. Producerer tælle rækker eller poster i en bestemt tabel. Som ekstraudstyr kan du angive kolonnen navn, så data vil blive taget fra ham. SELECT COUNT * fra medarbejdere;

  • AVG. Denne funktion gælder kun for kolonner med numeriske data. Dens resultat er bestemmelsen af det aritmetiske gennemsnit af alle værdier;

  • MIN og MAX. Disse funktioner er blevet brugt i denne artikel. De definerer den maksimale og minimale værdier af søjle;

  • SUM. Det er simpelt - funktionen beregner summen af værdierne i en kolonne. Det bruges udelukkende til den numeriske datatype. Tilføjelse anmodningen parameteren DISTINCT, vil blive tilføjet kun unikke værdier;

  • RUNDE. Funktion afrunding decimal fraktioneret numre. Syntaksen bruges af kolonnen navn og antallet af decimaler;

  • LEN. En simpel, der beregner længden af søjlen. Resultatet vil være en ny tabel, der viser antallet af tegn;

  • NU. Dette søgeord bruges til at beregne den aktuelle dato og tid.

yderligere operatører

Mange eksempler på SQL-sætningerne er nøgleord, der udfører små opgaver, men ikke desto mindre i høj grad forenkle prøve eller database aktivitet.

  • AS. Det bruges når du ønsker at visuelt arrangere resultatet af at tildele det angivne navn for at få et bord.

  • MELLEM. Et meget praktisk værktøj for sampling. Det indikerer række værdier, herunder behovet for at opnå data. Inputparameteren modtager fra og til et antal området bruges;.

  • IKKE. Operatøren giver det modsatte af udtrykket.

  • Trunkere. Fjerner data fra basisdelen. Forskellig fra de operatører, der genvinder data efter brugen heraf umulig. Det er værd at bemærke, at gennemførelsen af et bestemt søgeord i forskellige SQL kan være forskellige fortolkninger. Så før du prøver at bruge trunkere, bedre bekendt med baggrundsinformation.

  • GRÆNSE. Indstiller antallet af udgangsledninger. Det særlige ved operatøren er, at den altid er placeret ved enden. Det tager en obligatorisk og en valgfri parameter. Den første angiver, hvor mange rækker med de valgte data at vise. Og hvis den anden, så operatøren driver både værdiområde.

  • UNION. Meget brugervenlig operatør til at kombinere flere forespørgsler. Han har allerede mødt blandt de eksempler på i denne artikel. Du kan få vist rækkerne fra flere tabeller, UNION kombinere dem til mere praktisk brug. Syntaks ham dette: SELECT kolonnenavn FRA tabel UNION SELECT FROM imya_drugogo_stolbtsa imya_drugoy bord. Resultatet er en oversigt over de forenede krav.

  • PRIMARY KEY. Oversættes som "primær nøgle." Faktisk er det sådan terminologien i referencematerialer. Han er en unik identifikation for rækken. Det bruges som regel, når du opretter en tabel for at angive det område, der skal indeholde det.

  • DEFAULT. Ligesom den tidligere operatør, der anvendes i forbindelse med gennemførelsen af at oprette en forespørgsel. Den definerer standardværdien, som vil blive fyldt i marken, når den oprettes.

Et par tips til at udvikle en platform for at arbejde med SQL

  1. NULL. Begyndere og ikke kun programmører i udarbejdelsen af anmodninger glemmer ofte om tilgængeligheden af NULL-værdier. Som et resultat, at koden fejl sniger sig ind, hvilket er vanskeligt at spore i debugging proces. Derfor når du opretter en tabel, eller genberegnet prøveværdier nødt til at stoppe op og tænke, og om NULL forekomst er taget i betragtning i forespørgslen området.

  2. Hukommelse. I dette papir blev vi vist en række funktioner, der kan udføre visse opgaver. I udviklingen af skallen til at arbejde med databasen, kan du "opveje" beregning af enkle udtryk til databasesystemet. I nogle tilfælde giver dette et markant løft i ydelse.

  3. Begrænsninger. Hvis du ønsker at få fra databasen med tusindvis af rækker kun to, er det nødvendigt at anvende operatører som LIMIT eller TOP. Ingen grund til at hente data ved hjælp af skallen af sprogudvikling.

  4. Tilslut. Efter modtagelsen af data fra flere tabeller, mange programmører begynde at reducere dem sammen kuvert hukommelse betyder. Men hvorfor? Efter alt, kan du lave en forespørgsel, hvor det vil alle være til stede. Du behøver ikke at skrive kode én gang og reserve ekstra hukommelse i systemet.

  5. Sortering. Hvis det er muligt at anvende forordningen i anmodningen, dvs. de DBMS kræfter, er det nødvendigt at bruge det. Dette vil i høj grad spare på ressourcerne, når program eller en tjeneste.

  6. Mange anmodninger. Hvis du nødt til at indsætte en masse poster i rækkefølge, så optimering bør tænke på pakkedata er indsat en anmodning. Dette vil også øge effektiviteten af hele systemet.

  7. Omhyggelig placering af data. Inden udarbejdelsen af basen struktur nødt til at tænke over, hvordan og hvorvidt sådan en række tabeller og felter, der er nødvendige. Måske er der en måde at kombinere dem, eller at opgive nogle. Meget ofte, programmører bruger en stor mængde af data, der er ingen steder og aldrig brugt.

  8. Typer. For at spare plads og har brug for ressourcer til at være følsomme over for de typer af data, der anvendes. Hvis du kan drage fordel af en mindre "tung" for den type hukommelse, er du nødt til at bruge hans navn. For eksempel, hvis det er kendt, at på dette område er en numerisk værdi vil ikke overstige 255, hvorfor brugen af 4-byte INT, hvis der tinyint 1 byte.

konklusion

Afslutningsvis skal det bemærkes, at sproget er struktureret SQL-forespørgsler er nu bruges næsten overalt - hjemmesider, web-tjenester, desktop software, mobile applikationer. Derfor vil SQL viden hjælpe alle sektorer i udvikling.

Imidlertid modifikation af modersmål standard undertiden adskiller sig fra hinanden. For eksempel kan PL SQL operatører har forskellig syntaks end i SQL Server. Så før du begynder at udvikle med denne teknologi, er det nødvendigt at sætte sig ind i det med retningslinjer.

I de kommende kolleger, som kunne overgå SQL funktionalitet og ydeevne, er det usandsynligt, at dukke op, så dette omfang er en ganske lovende niche for enhver programmør.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 da.birmiss.com. Theme powered by WordPress.