Introduktion til SQL Fundamentals

Structured Query Language (SQL) er en af ​​de grundlæggende byggesten i moderne databasearkitektur. SQL definerer de metoder, der bruges til at oprette og manipulere relationsdatabaser på alle større platforme. Ved første øjekast kan sproget virke skræmmende og komplekst, men det er ikke så svært.

Om SQL

Den korrekte udtale af SQL er et omstridt spørgsmål inden for databasefællesskabet. I sin SQL-standard erklærede American National Standards Institute, at den officielle udtale er "es kø" el. "Imidlertid har mange databaseprofessionelle taget slangudtalen" efterfølger. "Ligesom med udtalen af GIF, der er ikke noget rigtigt svar.

SQL findes i mange varianter. Oracle-databaser bruger dets proprietære PL / SQL. Microsoft SQL Server bruger Transact-SQL. Alle variationer er baseret på industristandarden ANSI SQL.

Denne introduktion bruger ANSI-kompatible SQL-kommandoer, der fungerer på ethvert moderne relationsdatabasesystem.

DDL og DML

SQL-kommandoer kan opdeles i to hovedundersprog. Data Definition Language indeholder de kommandoer, der bruges til at oprette og ødelægge databaser og databaseobjekter. Når databasestrukturen er defineret med DDL, kan databaseadministratorer og brugere bruge Data Manipulation Language til at indsætte, hente og ændre dataene indeholdt i den.

instagram viewer

SQL understøtter en tredje type syntaks kaldet Datakontrolsprog. DCL styrer sikkerhedsadgang til objekter i databasen. F.eks DCL-script giver eller tilbagekalder specifikke brugerkonti ret til at læse eller skrive til tabeller inden for et eller flere definerede områder af databasen. I de fleste administrerede multibrugermiljøer udfører databaseadministratorer normalt DCL-scripts.

Datadefinition Sprogkommandoer

Datadefinitionssproget bruges til at oprette og ødelægge databaser og databaseobjekter. Disse kommandoer bruges primært af databaseadministratorer under opsætning og fjernelse af et databaseprojekt. DDL drejer sig om fire primære kommandoer -skab, brug, ændreog dråbe.

skab

Det skab kommando opretter databaser, tabeller eller forespørgsler på din platform. For eksempel kommandoen:

OPRET DATABASE-medarbejdere;

opretter en tom database med navnet medarbejdere på dit DBMS. Efter oprettelsen af ​​databasen er det næste trin at oprette tabeller, der indeholder data. En anden variant af skab kommando udfører dette formål. Kommandoen:

OPRET TABEL personlig_info (fornavn kaldet (20) ikke null, efternavn tegn (20) ikke null, medarbejder_id int ikke null);

opretter en tabel med titlen personlig information i den aktuelle database. I eksemplet indeholder tabellen tre attributter: fornavn, efternavnog Medarbejder-ID sammen med nogle yderligere oplysninger.

Brug

Det brug kommando specificerer den aktive database. For eksempel, hvis du i øjeblikket arbejder i salgsdatabasen og vil udstede nogle kommandoer, der vil påvirke medarbejderdatabasen, skal du forordne dem med følgende SQL-kommando:

USE-medarbejdere;

Dobbeltcheck den database, du arbejder i, før du udsteder SQL-kommandoer, der manipulerer data.

Ændre

Når du har oprettet en tabel i en database, skal du ændre dens definition gennem ændre kommando, der ændres til strukturen i en tabel uden at slette og genskabe den. Se på følgende kommando:

ALTER TABLE personal_info TILFØJ lønpenge null;

Dette eksempel tilføjer en ny attribut til tabellen personal_info - en medarbejderes løn. Det penge argument specificerer, at en medarbejders løn gemmes i formatet dollars og cent. Endelig blev nul nøgleord fortæller databasen, at det er OK, at dette felt ikke indeholder nogen værdi for en given medarbejder.

Dråbe

Den endelige kommando af Data Definition Language, dråbefjerner hele databaseobjekter fra vores DBMS. For eksempel, for at fjerne den personal_info-tabel, som vi oprettede permanent, skal du bruge følgende kommando:

DROPTABEL personal_info;

På samme måde vil kommandoen nedenfor blive brugt til at fjerne hele medarbejderdatabasen:

DROP DATABASE medarbejdere;

Brug denne kommando med omhu. Det dråbe kommando fjerner hele datastrukturer fra din database. Hvis du vil fjerne individuelle poster, skal du bruge slet kommando af Data Manipulation Language.

Data Manipulation Language Commands

Data Manipulation Language bruges til at hente, indsætte og ændre databaseoplysninger. Disse DML-kommandoer tilbyder den typiske ramme for interaktion med databasen rutinemæssigt.

Indsæt

Det indsæt kommando tilføjer poster til en eksisterende tabel. Vend tilbage til personal_info-eksemplet fra det foregående afsnit, forestil dig, at vores HR-afdeling skal tilføje en ny medarbejder til sin database. Brug en kommando svarende til denne:

INDSÆT I personlig_info
værdier ('bart', 'simpson', 12345, $ 45000);

Bemærk, at der er fire værdier angivet for posten. Disse svarer til tabelattributterne i den rækkefølge, de blev defineret: fornavn, efternavn, Medarbejder-ID og løn.

Vælg

Det Vælg kommando er den mest anvendte kommando i SQL. Det henter specifikke oplysninger fra en operationel database. Se et par eksempler igen ved hjælp af personal_info-tabellen fra medarbejderdatabasen.

Kommandoen vist nedenfor henter alle oplysninger indeholdt i personal_info-tabellen. Stjernen er et jokertegn i SQL.

VÆLG *
FRA personal_info;

Alternativt kan du begrænse de attributter, der hentes fra databasen ved at angive hvad bliver valgt. For eksempel kan HR-afdelingen kræve en liste med efternavne på alle medarbejdere i virksomheden. Følgende SQL-kommando ville kun hente disse oplysninger:

VÆLG efternavn
FRA personal_info;

Det hvor klausul begrænser de poster, der hentes til dem, der opfylder specificerede kriterier. Administrerende direktør kan være interesseret i at gennemgå personaleposter for alle højt betalte medarbejdere. Følgende kommando henter alle data indeholdt i personal_info for poster, der har en lønværdi større end $ 50.000:

VÆLG *
FRA personal_info
HVOR løn> $ 50000;

Opdatering

Det opdatering kommandoen ændrer oplysningerne i en tabel, enten i bulk eller individuelt. Antag, at virksomheden giver alle ansatte en lønomkostningsforøgelse på 3 procent årligt i deres løn. Følgende SQL-kommando anvender denne bump på alle de ansatte, der er gemt i databasen:

OPDATER personlig_info
SET løn = løn * 1,03;

Når den nye medarbejder Bart Simpson demonstrerer præstation ud over pligtopkaldet, ønsker ledelsen at anerkende sine fantastiske præstationer med en $ 5.000-forhøjelse. WHERE-klausulen udpeger Bart til denne rejse:

OPDATER personlig_info
SET løn = løn + 5000
HVOR medarbejder_id = 12345;

Slet

Lad os endelig se på slet kommando. Du finder ud af, at syntaksen for denne kommando svarer til den for de andre DML-kommandoer. SLET-kommandoen med en hvor klausul, fjern en post fra en tabel:

SLET FRA personal_info
HVOR medarbejder_id = 12345;

DML understøtter også samlede felter. I en Vælg udsagn, matematiske operatorer kan lide sum og tælle opsummer data i en forespørgsel. For eksempel forespørgslen:

vælg antal (*) fra personal_info;

tæller antallet af poster i tabellen.

Databaseforbindelser

EN tilslutte erklæring kombinerer data i flere tabeller for effektivt at behandle store datamængder. Disse udsagn er, hvor den sande magt i en database ligger.

At udforske brugen af ​​en basis tilslutte operation for at kombinere data fra to tabeller, fortsæt med eksemplet ved hjælp af personal_info-tabellen og tilføj en ekstra tabel til blandingen. Antag, at du har et bord kaldet disciplinær handling der blev oprettet med følgende erklæring:

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

Denne tabel indeholder resultaterne af disciplinære handlinger for virksomhedens medarbejdere. Den indeholder ikke andre oplysninger om medarbejderen end medarbejdernummeret.

Antag, at du har fået til opgave at oprette en rapport, der viser de disciplinære handlinger, der er truffet mod alle medarbejdere med en løn på mere end $ 40.000. Brugen af ​​en JOIN-operation er i dette tilfælde ligetil. Hent disse oplysninger ved hjælp af følgende kommando:

VÆLG 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 af sammenføjninger

Deltag i typer i SQL

Joins kommer i flere varianter. I SQL-sætningen, den første tabel (normalt kaldet Tabel A eller den Venstre bord) slutter sig til det andet bord (kaldes normalt Tabel B eller den Højre bord) på en positionsbevidst måde. Således, hvis du ændrer rækkefølgen af ​​tabellerne i sammenføjningserklæringen, vil resultaterne af operationen variere. De vigtigste sammenføjningstyper inkluderer:

  • Indre sammenføjning: Matcher kun poster, hvor betingelse matcher de samme poster i begge tabeller.
  • Ydre tilslutning: Matcher kun poster fra begge tabeller udelukke resultaterne identificeret i tilstand.
  • Right Join: Matcher alle poster fra tabel B plus de poster fra tabel A, der matcher tilstand.
  • Venstre deltager: Matcher alle poster fra tabel A plus de poster fra tabel B, der matcher tilstand.
  • Cross Join: Matcher alle poster, som om tabellerne var identiske. Denne proces genererer noget kaldet kartesisk produkt. Ofte er krydsforbindelser uvelkomne, fordi de matcher hver række i tabel A individuelt med hver række i tabel B. Således, hvis tabel A tilbød fem poster, og tabel B tilbød 9 poster, tilbyder en cross-join-forespørgsel 45 resulterende rækker.