Skip to main content

Introduktion till SQL Grundläggande

10+ Incredible Facts About Denmark Air Force (Flyvevåbnet) (Maj 2025)

10+ Incredible Facts About Denmark Air Force (Flyvevåbnet) (Maj 2025)
Anonim

Strukturerat fråge språk är ett av de grundläggande byggstenarna i modern databasarkitektur. SQL definierar metoderna som används för att skapa och manipulera relationsdatabaser på alla större plattformar. Vid första anblicken kan språket tyckas skrämmande och komplext, men det är inte så svårt.

Om SQL

Det rätta uttalet av SQL är en omstridd fråga i databasgemenskapen. I sin SQL-standard förklarade American National Standards Institute att det officiella uttalandet är "es que el." Men många databaspersonal har tagit till slang uttalet "uppföljare". Valet är ditt.

SQL kommer i många smaker. Oracle databaser använder sin proprietära PL / SQL. Microsoft SQL Server använder Transact-SQL. Alla variationer är baserade på branschstandard ANSI SQL. I denna introduktion används ANSI-kompatibla SQL-kommandon som fungerar på alla moderna relationella databassystem.

DDL och DML

SQL-kommandon kan delas upp i två huvudundergrupper. Data Definition Language (DDL) innehåller kommandon som används för att skapa och förstöra databaser och databasobjekt. Efter att databasstrukturen är definierad med DDL kan databasadministratörer och användare använda DML (Data Manipulation Language) för att infoga, hämta och ändra data som finns i den.

Data Definition Språkkommandon

Data Definition Language används för att skapa och förstöra databaser och databasobjekt. Dessa kommandon används i första hand av databasadministratörer under installations- och avfasningsfasen för ett databasprojekt. Här ser du strukturen och användningen av fyra grundläggande DDL-kommandon:

SKAPA.Installera ett databashanteringssystem på en dator kan du skapa och hantera många oberoende databaser. Du kan till exempel behålla en databas med kundkontakter till din försäljningsavdelning och en personaldatabas för din HR-avdelning. CREATE-kommandot används för att upprätta var och en av dessa databaser på din plattform. Till exempel kommandot:

Skapa DATABASE anställda

skapar en tom databas med namnet "anställda" på ditt DBMS. Efter att ha skapat databasen är nästa steg att skapa tabeller som innehåller data. En annan variant av CREATE-kommandot kan användas för detta ändamål. Kommandot:

CREATE TABLE personal_info (first_name char (20) inte null, sista namnet char (20) inte null, employee_id int inte null)

etablerar en tabell med titeln "personal_info" i den aktuella databasen. I exemplet innehåller tabellen tre attribut: förnamn, efternamn och anställd tillsammans med ytterligare information.

ANVÄNDA SIG AV.Med kommandot USE kan du ange vilken databas du vill arbeta med inom ditt DBMS. Om du till exempel arbetar för närvarande i försäljningsdatabasen och vill ge ut några kommandon som påverkar medarbetardatabasen, förordar du dem med följande SQL-kommando:

ANVÄND anställda

Det är viktigt att alltid vara medveten om databasen du arbetar med innan du utfärdar SQL-kommandon som manipulerar data.

ÄNDRA.När du har skapat ett bord i en databas kanske du vill ändra dess definition. Med ALTER-kommandot kan du ändra strukturen på ett bord utan att radera och återskapa det. Ta en titt på följande kommando:

ALTER TABLE personal_info ADD lön pengar null

I det här exemplet läggs ett nytt attribut till personal_info-tabellen - en anställds lön. "Pengar" -argumentet anger att en anställds lön lagras med ett dollar- och cent-format. Slutligen berättar "noll" sökorddatabasen att det är OK för det här fältet att innehålla inget värde för någon given anställd.

SLÄPPA.Det slutliga kommandot i Data Definition Language, DROP, låter oss ta bort hela databasobjekt från vårt DBMS. Om vi ​​till exempel vill permanent ta bort det personliga info-tabellen som vi skapade använder vi följande kommando:

DROP TABLE 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 försiktigt. DROP-kommandot tar bort hela datastrukturer från din databas. Om du vill ta bort enskilda poster använder du kommandot DELETE i Data Manipulation Language.

Data Manipulation Language Commands

Data Manipulation Language (DML) används för att hämta, infoga och ändra databasinformation. Dessa kommandon används av alla databasanvändare under den rutinmässiga driften av databasen.

FÖRA IN.INSERT-kommandot i SQL används för att lägga till poster i en befintlig tabell. Återgå till personal_info-exemplet från föregående avsnitt, tänk på att vår HR-avdelning behöver lägga till en ny medarbetare i sin databas. Du kan använda ett kommando som liknar den här:

INSERT IN i personal_infovä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älld och löne.

VÄLJ.SELECT-kommandot är det vanligaste kommandot i SQL. Det gör det möjligt för databasanvändare att hämta den specifika informationen de önskar från en operativ databas. Ta en titt på några exempel, igen med hjälp av personal_info-tabellen från medarbetardatabasen.

Kommandot som visas nedan hämtar all information som finns i personal_info-tabellen. Observera att asterisken används som ett jokertecken i SQL. Detta betyder bokstavligen "Välj allt från personal_info-tabellen."

VÄLJ *FRÅN personal_info

Alternativt kan användarna begränsa attributen som hämtas från databasen. Till exempel kan personalavdelningen kräva en förteckning över alla anställdas efternamn i företaget. Följande SQL-kommando skulle hämta endast den informationen:

SELECT sista namnetFRÅN personal_info

WHERE-klausulen kan användas för att begränsa de poster som hämtas till de som uppfyller angivna kriterier. VD kan vara intresserad av att granska personaldokumenten för alla höglönade anställda. Följande kommando hämtar all data som finns i personal_info för poster som har ett lönvärde större än $ 50,000:

VÄLJ *FRÅN personal_infoVar lön> $ 50000

UPPDATERING.UPDATE-kommandot kan användas för att ändra informationen i en tabell, antingen i bulk eller individuellt. Antag att företaget ger alla anställda en ökning av sin löneandel på 3 procent årligen. Följande SQL-kommando kan användas för att snabbt tillämpa detta på alla anställda som lagras i databasen:

UPPDATERA personal_infoSET lön = lön * 1,03

När den nya medarbetaren Bart Simpson demonstrerar prestanda utöver uppmaningen, vill ledningen erkänna sina fantastiska prestationer med en höjning på 5 000 dollar. WHERE-klausulen kan användas för att utesluta Bart för denna höjning:

UPPDATERA personal_infoSET lön = lön + $ 5000Var anställd_id = 12345

RADERA.Låt oss ta en titt på DELETE-kommandot. Du kommer att upptäcka att syntaxen för det här kommandot liknar den för de andra DML-kommandona. Tyvärr har vår senaste företagsresultatrapport inte riktigt uppfyllt förväntningarna och stackars Bart har blivit avskedad. DELETE-kommandot med en WHERE-klausul kan användas för att ta bort hans post från personal_info-tabellen:

DELETE FROM personal_infoVar anställd_id = 12345

Fogar

Nu när du har lärt dig grunden för SQL, är det dags att gå vidare till ett av de mest kraftfulla begrepp som språket har att erbjuda - JOIN-uttalandet. I ett JOIN-uttalande kan du kombinera data i flera tabeller för att effektivt hantera stora mängder data. Dessa uttalanden är där den sanna kraften i en databas finns.

För att undersöka användningen av en grundläggande JOIN-operation för att kombinera data från två tabeller, fortsätt med exemplet med hjälp av tabellen PERSONAL_INFO och lägg till ytterligare ett bord i mixen. Antag att du har ett bord som heter DISCIPLINARY_ACTION som skapades med följande uttalande:

CREATE TABLE disciplinary_action (action_id int inte null, employee_id int inte null, kommentarer char (500))

Tabellen innehåller resultaten av disciplinära åtgärder på företagets anställda. Du kommer märka att det inte innehåller någon information om den anställde än anställd nummer. Det är lätt att föreställa sig många scenarier där du kanske vill kombinera information från tabellerna DISCIPLINARY_ACTION och PERSONAL_INFO.

Antag att du har fått till uppgift att skapa en rapport som listar de disciplinära åtgärderna mot alla anställda med en lön som överstiger 40 000 dollar. Användningen av en JOIN-operation är i detta fall okomplicerad. Vi kan hämta den här informationen med följande kommando:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.commentsFRÅN personal_info, disciplinära_aktionVar personal_info.employee_id = disciplinary_action.employee_idOCH personal_info.salary> 40000

Koden anger de två tabeller som vi vill ansluta till FROM-klausulen och innehåller sedan ett uttalande i WHERE-klausulen för att begränsa resultaten till poster som hade matchande anställnings-ID och uppfyllde våra kriterier för en lön som var större än 40 000 dollar.