Introduktion till SQL Fundamentals

Structured Query Language (SQL) är en av de grundläggande byggstenarna i modern databasarkitektur. SQL definierar de metoder som används för att skapa och manipulera relationsdatabaser på alla större plattformar. Vid första anblicken kan språket verka skrämmande och komplext, men det är inte så svårt.

Om SQL

Rätt uttal av SQL är en omtvistad fråga inom databasgemenskapen. I sin SQL-standard förklarade American National Standards Institute att det officiella uttalet är "es que el. "Men många databasproffs har tagit till slanguttalandet" uppföljare. "Mycket som med uttalet av GIF, det finns inget rätt svar.

SQL finns i många smaker. Oracle-databaser använder sin egen PL / SQL. Microsoft SQL Server använder Transact-SQL. Alla variationer baseras på branschstandarden ANSI SQL.

Denna introduktion använder ANSI-kompatibla SQL-kommandon som fungerar på alla moderna relationsdatabassystem.

DDL och DML

SQL-kommandon kan delas in i två huvudspråk. Datadefinitionsspråket innehåller de kommandon som används för att skapa och förstöra databaser och databasobjekt. När databasstrukturen har definierats med DDL kan databasadministratörer och användare använda Data Manipulation Language för att infoga, hämta och modifiera data som finns i den.

instagram viewer

SQL stöder en tredje typ av syntax som kallas Datakontrollspråk. DCL styr säkerhetsåtkomst till objekt i databasen. Till exempel, a DCL-skript ger eller återkallar specifika användarkonton rätten att läsa eller skriva till tabeller inom ett eller flera definierade områden i databasen. I de flesta hanterade fleranvändarmiljöer kör databasadministratörer vanligtvis DCL-skript.

Kommandon för datadefinitionsspråk

Datadefinitionsspråket används för att skapa och förstöra databaser och databasobjekt. Dessa kommandon används främst av databasadministratörer under installations- och borttagningsfaserna för ett databasprojekt. DDL kretsar kring fyra primära kommandon -skapa, använda sig av, ändraoch släppa.

Skapa

De skapa kommandot skapar databaser, tabeller eller frågor på din plattform. Till exempel kommandot:

SKAPA DATABAS-anställda;

skapar en tom databas med namnet anställda på ditt DBMS. När du har skapat databasen är nästa steg att skapa tabeller som innehåller data. En annan variant av skapa kommandot uppnår detta syfte. Kommandot:

SKAPA TABELL personal_info (förnamn char (20) inte null, efternamn char (20) inte null, medarbetare_id int inte null);

skapar en tabell med titeln personlig information i den aktuella databasen. I exemplet innehåller tabellen tre attribut: förnamn, efternamnoch Anställnings-ID tillsammans med ytterligare information.

Använda sig av

De använda sig av kommandot anger den aktiva databasen. Till exempel, om du för närvarande arbetar i försäljningsdatabasen och vill utfärda några kommandon som kommer att påverka anställdas databas, förordna dem med följande SQL-kommando:

ANVÄNDA anställda;

Dubbelkolla databasen du arbetar i innan du utfärdar SQL-kommandon som manipulerar data.

Ändra

När du har skapat en tabell i en databas kan du ändra dess definition genom ändra kommando, som ändras till strukturen i en tabell utan att radera och återskapa den. Ta en titt på följande kommando:

ALTER TABLE personal_info LÄGG TILL lönepengar null;

Detta exempel lägger till ett nytt attribut till tabellen personal_info - en anställds lön. De pengar argument anger att en anställds lön lagrar i dollar och cent-format. Slutligen, null nyckelord säger till databasen att det är OK att det här fältet inte innehåller något värde för en viss anställd.

Släppa

Det slutliga kommandot för datadefinitionsspråket, släppa, tar bort hela databasobjekt från vårt DBMS. För att till exempel permanent ta bort personal_infotabellen som vi skapade använder du följande kommando:

DROPTABELL personal_info;

På samma sätt skulle kommandot nedan användas för att ta bort hela personaldatabasen:

DROP DATABASE anställda;

Använd detta kommando med försiktighet. De släppa kommandot tar bort hela datastrukturer från din databas. Om du vill ta bort enskilda poster använder du radera kommandot för Data Manipulation Language.

Språkkommandon för datahantering

Data Manipulation Language används för att hämta, infoga och modifiera databasinformation. Dessa DML-kommandon erbjuder det typiska ramverket för interaktion med databasen på rutinmässig basis.

Föra in

De Föra in kommandot lägger till poster i en befintlig tabell. Återgå till personal_info-exemplet från föregående avsnitt, föreställ dig att vår HR-avdelning behöver lägga till en ny medarbetare i sin databas. Använd ett kommando som liknar det här:

INSÄTTA I personal_info
värden ('bart', 'simpson', 12345, 45000 $);

Observera att det finns fyra värden som anges för posten. Dessa motsvarar tabellattributen i den ordning de definierades: förnamn, efternamn, Anställnings-ID och lön.

Välj

De Välj kommando är det vanligaste kommandot i SQL. Den hämtar specifik information från en operativ databas. Titta på några exempel, igen med hjälp av tabellen personal_info från medarbetardatabasen.

Kommandot som visas nedan hämtar all information som finns i tabellen personal_info. Asterisken är ett jokertecken i SQL.

VÄLJ *
FRÅN personal_info;

Alternativt kan du begränsa attributen som hämtas från databasen genom att ange Vad blir vald. Till exempel kan personalavdelningen kräva en lista med efternamn på alla anställda i företaget. Följande SQL-kommando skulle bara hämta den informationen:

VÄLJ efternamn
FRÅN personal_info;

De var klausul begränsar de poster som hämtas till de som uppfyller angivna kriterier. VD kan vara intresserad av att granska personalregistret för alla högt betalda anställda. Följande kommando hämtar alla data som finns i personal_info för poster som har ett lönvärde som är större än $ 50 000:

VÄLJ *
FRÅN personal_info
VAR lön> $ 50000;

Uppdatering

De uppdatering kommandot ändrar informationen i en tabell, antingen i bulk eller individuellt. Antag att företaget ger alla anställda en lönekostnadsökning på 3 procent årligen. Följande SQL-kommando tillämpar denna bump på alla anställda som lagras i databasen:

UPPDATERA personal_info
SET lön = lön * 1,03;

När den nyanställda Bart Simpson visar prestanda utöver plikten vill ledningen erkänna sina fantastiska prestationer med en höjning på 5 000 dollar. WHERE-klausulen utmärker Bart för denna höjning:

UPPDATERA personal_info
SET lön = lön + 5000
VAR anställd_id = 12345;

Radera

Slutligen, låt oss ta en titt på radera kommando. Du kommer att upptäcka att syntaxen för det här kommandot liknar de andra DML-kommandona. Kommandot RADERA, med en var klausul, ta bort en post från en tabell:

RADERA FRÅN personal_info
VAR anställd_id = 12345;

DML stöder också sammanlagda fält. I en Välj uttalande, matematiska operatörer gillar belopp och räkna sammanfatta data i en fråga. Till exempel frågan:

välj antal (*) från personal_info;

räknar antalet poster i tabellen.

Databasanslutningar

A Ansluta sig uttalande kombinerar data i flera tabeller för att effektivt bearbeta stora mängder data. Dessa uttalanden är där den verkliga kraften i en databas finns.

Att utforska användningen av en bas Ansluta sig för att kombinera data från två tabeller, fortsätt med exemplet med tabellen personal_info och lägg till en ytterligare tabell till mixen. Antag att du har ett bord kallat disciplinära åtgärder som skapades med följande uttalande:

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

Denna tabell innehåller resultaten av disciplinåtgärder för företagets anställda. Den innehåller ingen annan information än den anställde om den anställde.

Antag att du har fått i uppdrag att skapa en rapport som visar de disciplinåtgärder som vidtas mot alla anställda med en lön som överstiger 40 000 USD. Användningen av en JOIN-operation är i detta fall enkel. Hämta denna information med följande kommando:

VÄLJ personligt_info.förnamn, personligt_info.sista_namn, disciplinär_handling.kommentarer
FRÅN personal_info INNER GÅ MED disciplinär_handling PÅ personlig_info.medarbetare_id = disciplinär_åtgärd.arbetare_id
VAR personal_info.salary> 40000;

Typer av anslutningar

Gå med i typer i SQL

Anslutningar finns i flera smaker. I SQL-satsen, den första tabellen (vanligtvis kallad Tabell A. eller den Vänster bord) ansluter sig till det andra bordet (vanligtvis kallat Tabell B eller den Höger bord) på ett positionsmedvetet sätt. Således, om du ändrar ordningen på tabellerna i anslutningsuttalandet, kommer resultaten av operationen att skilja sig. De viktigaste anslutningstyperna inkluderar:

  • Inre koppling: Matchar bara poster där villkor matchar samma poster i båda tabellerna.
  • Yttre anslutning: Matchar bara poster från båda tabellerna utesluta resultaten identifierade i tillstånd.
  • Right Join: Matchar alla poster från tabell B plus poster från tabell A som matchar tillstånd.
  • Left Join: Matchar alla poster från tabell A plus poster från tabell B som matchar tillstånd.
  • Cross Join: Matchar alla poster som om tabellerna var identiska. Denna process genererar något som kallas kartesisk produkt. Tvärfogar är ofta ovälkomna, eftersom de matchar varje rad i tabell A, individuellt, med varje rad i tabell B. Således, om tabell A erbjöd fem poster och tabell B erbjöd 9 poster, erbjuder en tvärföreningsfråga 45 resulterande rader.