Introduksjon til SQL Fundamentals

click fraud protection

Structured Query Language (SQL) er en av de grunnleggende byggesteinene i moderne databasearkitektur. SQL definerer metodene som brukes til å opprette og manipulere relasjonsdatabaser på alle større plattformer. Ved første øyekast kan språket virke skremmende og komplekst, men det er ikke så vanskelig.

Om SQL

Riktig uttale av SQL er et omstridt spørsmål i databasesamfunnet. I sin SQL-standard erklærte American National Standards Institute at den offisielle uttalen er "es queue" el. "Imidlertid har mange databaseprofesjoner tatt til slanguttalen" oppfølgeren. "Mye som med uttalen av GIF, det er ikke noe riktig svar.

SQL kommer i mange smaker. Oracle-databaser bruker den proprietære PL / SQL. Microsoft SQL Server bruker Transact-SQL. Alle variantene er basert på bransjestandarden ANSI SQL.

Denne introduksjonen bruker ANSI-kompatible SQL-kommandoer som fungerer på ethvert moderne relasjonelt databasesystem.

DDL og DML

SQL-kommandoer kan deles inn i to hovedunderspråk. Datadefinisjonsspråket inneholder kommandoene som brukes til å opprette og ødelegge databaser og databaseobjekter. Etter at databasestrukturen er definert med DDL, kan databaseadministratorer og brukere bruke Data Manipulation Language til å sette inn, hente og endre dataene i den.

instagram viewer

SQL støtter en tredje type syntaks kalt Datakontrollspråk. DCL styrer sikkerhetstilgang til objekter i databasen. For eksempel, a DCL-skript gir eller tilbakekaller spesifikke brukerkontoer retten til å lese eller skrive til tabeller innenfor ett eller flere definerte områder av databasen. I de fleste administrerte flerbrukermiljøer utfører databaseadministratorer vanligvis DCL-skript.

Datadefinisjon Språk kommandoer

Datadefinisjonsspråket brukes til å opprette og ødelegge databaser og databaseobjekter. Disse kommandoene brukes primært av databaseadministratorer under oppsett- og fjerningsfasene til et databaseprosjekt. DDL dreier seg om fire primære kommandoer -skape, bruk, endre, og miste.

Skape

De skape kommandoen oppretter databaser, tabeller eller spørsmål på plattformen din. For eksempel kommandoen:

SKAP DATABASE ansatte;

oppretter en tom database med navnet ansatte på DBMS. Etter å ha opprettet databasen er neste trinn å lage tabeller som inneholder data. En annen variant av skape kommandoen oppnår dette formålet. Kommandoen:

OPPRETT TABELL personal_info (fornavn char (20) ikke null, etternavn char (20) ikke null, ansatte_id int ikke null);

oppretter en tabell med tittelen personlig informasjon i gjeldende database. I eksemplet inneholder tabellen tre attributter: fornavn, etternavn, og Ansatt ID sammen med litt tilleggsinformasjon.

Bruk

De bruk kommando spesifiserer den aktive databasen. For eksempel, hvis du for øyeblikket jobber i salgsdatabasen og vil utstede noen kommandoer som vil påvirke medarbeiderdatabasen, forord dem med følgende SQL-kommando:

BRUK ansatte;

Dobbeltsjekk databasen du jobber i før du gir ut SQL-kommandoer som manipulerer data.

Endre

Etter at du har opprettet en tabell i en database, endrer du definisjonen gjennom endre kommando, som endres til strukturen til en tabell uten å slette og gjenskape den. Ta en titt på følgende kommando:

ALTER TABLE personal_info LEGG til lønnspenger null;

Dette eksemplet legger til et nytt attributt til personal_info-tabellen - en ansattes lønn. De penger argument spesifiserer at en ansattes lønnslagre bruker dollar og cent-format. Til slutt, null nøkkelord forteller databasen at det er OK at dette feltet ikke inneholder noen verdi for en gitt ansatt.

Miste

Den endelige kommandoen for datadefinisjonsspråket, miste, fjerner hele databaseobjekter fra DBMS. Hvis du for eksempel vil fjerne personal_info-tabellen som vi opprettet permanent, bruker du følgende kommando:

DROPTABELL personal_info;

På samme måte vil kommandoen nedenfor bli brukt til å fjerne hele ansattdatabasen:

DROP DATABASE ansatte;

Bruk denne kommandoen med forsiktighet. De miste kommandoen fjerner hele datastrukturer fra databasen din. Hvis du vil fjerne individuelle poster, bruker du slett kommando av Data Manipulation Language.

Data Manipulation Language Commands

Data Manipulation Language brukes til å hente, sette inn og endre databaseinformasjon. Disse DML-kommandoene tilbyr det typiske rammeverket for samhandling med databasen på rutinemessig basis.

Sett inn

De sett inn kommandoen legger til poster i en eksisterende tabell. Gå tilbake til personal_info-eksemplet fra forrige avsnitt, forestill deg at HR-avdelingen vår trenger å legge til en ny ansatt i databasen. Bruk en kommando som ligner på denne:

INSERT I personlig_info
verdier ('bart', 'simpson', 12345, $ 45000);

Merk at det er fire verdier spesifisert for posten. Disse tilsvarer tabellattributtene i den rekkefølgen de ble definert: fornavn, etternavn, Ansatt ID og lønn.

Å velge

De å velge kommando er den mest brukte kommandoen i SQL. Den henter spesifikk informasjon fra en operativ database. Se på noen få eksempler, igjen ved å bruke tabellen personal_info fra medarbeiderdatabasen.

Kommandoen vist nedenfor henter all informasjonen i personal_info-tabellen. Stjernen er et jokertegn i SQL.

Å VELGE *
FRA personal_info;

Alternativt kan du begrense attributtene som hentes fra databasen ved å spesifisere hva blir valgt. For eksempel kan personalavdelingen kreve en liste med etternavn på alle ansatte i selskapet. Følgende SQL-kommando henter bare den informasjonen:

VELG etternavn
FRA personal_info;

De hvor klausul begrenser postene som hentes til de som oppfyller spesifiserte kriterier. Konsernsjefen kan være interessert i å gjennomgå personalregistrene til alle høyt betalte ansatte. Følgende kommando henter alle dataene i personal_info for poster som har en lønnsverdi større enn $ 50 000:

Å VELGE *
FRA personal_info
HVOR lønn> $ 50000;

Oppdater

De Oppdater kommandoen endrer informasjonen i en tabell, enten i bulk eller individuelt. Anta at selskapet gir alle ansatte en lønnskostnadsøkning på 3 prosent i lønn årlig. Følgende SQL-kommando bruker denne bumpen på alle ansatte som er lagret i databasen:

OPPDATER personlig_info
SET lønn = lønn * 1,03;

Når den nye medarbeideren Bart Simpson demonstrerer ytelse utover plikten, ønsker ledelsen å anerkjenne sine fantastiske prestasjoner med en $ 5000-innhøsting. WHERE-klausulen utpeker Bart for denne økningen:

OPPDATER personlig_info
SET lønn = lønn + 5000
HVOR medarbeider_id = 12345;

Slett

Til slutt, la oss ta en titt på slett kommando. Du vil finne at syntaksen til denne kommandoen ligner på de andre DML-kommandoene. SLETT-kommandoen, med en hvor klausul, fjern en post fra en tabell:

SLETT FRA personal_info
HVOR medarbeider_id = 12345;

DML støtter også samlede felt. I en å velge uttalelse, matematiske operatører som sum og telle oppsummer data i et spørsmål. For eksempel spørringen:

velg antall (*) fra personal_info;

teller antall poster i tabellen.

Database blir med

EN bli med uttalelse kombinerer data i flere tabeller for effektivt å behandle store datamengder. Disse utsagnene er der den virkelige kraften til en database ligger.

Å utforske bruken av en grunnleggende bli med operasjon for å kombinere data fra to tabeller, fortsett med eksemplet ved å bruke tabellen personal_info og legg til en ekstra tabell til blandingen. Anta at du har et bord som heter disiplinær handling som ble opprettet med følgende uttalelse:

CREATE TABLE disciplinary_action (action_id int not null, employee_id int not null, comments char (500));

Denne tabellen inneholder resultatene av disiplinære tiltak for bedriftens ansatte. Den inneholder ikke annen informasjon om den ansatte enn medarbeidernummeret.

Anta at du har fått i oppgave å lage en rapport som viser disiplinære tiltak mot alle ansatte med en lønn over $ 40.000. Bruken av en JOIN-operasjon er i dette tilfellet grei. Hent denne informasjonen ved hjelp av følgende kommando:

VELG personal_info.first_name, personal_info.last_name, disciplinary_action.comments
FRA personal_info INNER JOIN disciplinary_action ON personal_info.employee_id = disciplinary_action.employee_id
HVOR personal_info.salary> 40000;

Typer av sammenføyninger

Bli med i typer i SQL

Joins kommer i flere smaker. I SQL-setningen, den første tabellen (vanligvis kalt Tabell A eller Venstre bord) blir med på det andre bordet (vanligvis kalt Tabell B eller Høyre bord) på en posisjonsbevisst måte. Dermed, hvis du endrer rekkefølgen på tabellene i bindingserklæringen, vil resultatene av operasjonen variere. De viktigste sammenføyningstyper inkluderer:

  • Inner Join: Matcher bare poster der tilstand samsvarer med de samme postene i begge tabeller.
  • Ytre sammenføyning: Matcher bare poster fra begge tabellene som utelukke resultatene identifisert i tilstand.
  • Right Join: Matcher alle poster fra tabell B pluss postene fra tabell A som samsvarer med tilstand.
  • Venstre Bli med: Matcher alle postene fra tabell A pluss postene fra tabell B som samsvarer med tilstand.
  • Cross Join: Matcher alle poster som om tabellene var identiske. Denne prosessen genererer noe som kalles Kartesisk produkt. Ofte er kryssforbindelser uvelkomne, fordi de samsvarer med hver rad i tabell A, hver for seg, med hver rad i tabell B. Dermed, hvis tabell A tilbød fem poster, og tabell B tilbød 9 poster, tilbyr en kryssforbindelsesforespørsel 45 resulterende rader.
instagram story viewer