SQL Fundamentals

Léiert iwwer DDL, DML an JOIN

Déi strukturéiert Query Language ass eng vun den Haaptbausteeler vun der moderner Datenbankarchitektur. SQL definéiert déi Methoden déi benotzt ginn fir relationale Datenbanken op all grousse Plattformen ze erstellen an ze manipuléieren. Op den éischte Bléck kann d'Sprooch schéint Androchter a komplex sinn, awer et ass net alles esou schwéier.

Dës Aféierung an d'Grondsätz hannert SQL kritt e klengen Ausserdeem op e puer vun den Haaptbefehlen, déi benotzt ginn fir Datenbanken ze änneren an ze änneren.

Iwwert SQL

D'korrekt Pronzegatioun vu SQL ass eng verspriechend Thema an der Datebankgemeinschaft. Am SQL-Standard huet de amerikanesche National Standards Institute deklaréiert, datt d'offiziell Aussprooch "es queue el." Allerdéngs sinn vill Datebank Professionnele geholl an d'Ausdrockszong "gefuer." D'Wiel ass Äert.

SQL kënnt an villen Aromaen. Oracle-Datenbanken benotze seng proprietär PL / SQL. Microsoft SQL Server benotzt Transact-SQL. All d'Variatiounen baséieren op der Industrie standard ANSI SQL. Dës Introduktioun benotzt ANSI-kompatiblen SQL-Kommandoen déi op modernen relationalen Datenbanksystem funktionnéieren.

DDL an DML

SQL-Kommandoen kënnen opgedeelt ginn op zwou Haupteeler vun de Sproochen. D'Datebeschutzungssproochung (DDL) enthält d'Befërder déi benotzt ginn fir Datenbanken an Datenbankobjekten ze erstellen an ze zerstéieren. Nodeems d'Datebankstruktur mat DDL definéiert ass, kënnen d'Datenbankadministratoren an d'Benotzer d'Daten Manipulatiounsprooch (DML) benotzen fir d'Donnéeën anzeginn, z'änneren an ze änneren.

Dat definéiert Sprooche Kommandoen

D'Dateschutz Definitioun Sprooch gëtt benotzt fir Datebanken a Datebank Objeten ze erstellen an ze zerstéieren. Dës Kommandoen ginn haaptsächlech vun Datenbankadministratoren benotzt während der Opsiicht- a Entgrounphasen vun engem Datenbankprojet. Hei ass e Bléck op d'Struktur an d'Verëffentlechung vu véier Basis DDL Kommandoen:

CREAT. Installéiere vun engem Datenbankmanagementsystem op engem Computer erlaabt Iech vill onofhängege Datenbanken ze erstellen a ze verwalten. Dir kënnt zum Beispill e Datebank vu Clientkontakter fir Är Verkéiersabteilung a eng Personaldatenbank fir Är HR-Départ ënnerhalen. De Kommando CREATE ass benotzt fir all dës Datenbanken op der Plattform ze grënnen. Zum Beispill gëtt de Kommando:

CREAT DATABASE Mataarbechter

kreéiert eng eidel Datebank mam Numm "Employéeën" op Ärem DBMS. No der Schaffung vun der Datebank ass de nächste Schrëtt fir Dëscher ze erstellen déi Donnéen enthalen. Eng aner Variant vum CREATE-Kommando kann aus dësem Zweck benotzt ginn. De Kommando:

CREAT TABLE personal_info (first_name char (20) net null, last_name char (20) net null, employee_id int net null)

fiert eng Tabelle mam Titel "personal_info" an der aktueller Datenbank. Am Beispiel ass d'Tabelle dräi Attributer: First_Name, LastName an Employee_id zesumme mat e puer zousätzlech Informatioune.

BENOTZT. D'Befreiung UEF erlaabt Iech d'Datebank festzeleeën datt Dir mat Ärem DBMS schaffe wëllt. Zum Beispill, wann Dir am Moment an der Verkafeldatenbank arbeitet an e puer Befehle ausginn, déi d'Personal vun der Mataarbechter beaflossen, préféréieren se mat dem folgendem SQL-Kommando:

Uwendung Ugestallten

Et ass wichteg ze sinn ëmmer bewosst ze sinn datt déi Datenbank déi Dir schafft, ier Dir SQL Kommandë gëtt, déi Daten beweegen.

ALTER. Sidd Dir eng Tabelle an enger Datebank erstallt, kënnt Dir se änneren änneren. De Kommando ALTER erlaabt Iech d'Verännerunge vun der Struktur vun enger Tabellen ze maachen ouni ze lueden an ze recreéieren. Kuckt Iech de nächste Kommando:

ALTER TISCH personal_info Äert Gehalt fir Geld

Dëst Beispill addiert eng nei Attributioun op d'Table Personal_info - d'Gehalt vun engem Mataarbechter. D'Argumenter "Suen" befaassen datt e Gehalt vun engem Employeur mat engem Dollar an Zäiteformat gespäichert gëtt. Zum Schluss kënnt d'Wuert "Null" der Datebank ofgeleet datt et OK fir dëst Feld ass kee Wäert fir e bestëmmte Mataarbechter.

DROP. Den definitive Kommando vun der Data Definition Language, DROP, erméiglecht eis ganz Datenbankobjekte aus eiser DBMS. Zum Beispill, wann mir d'personal_info-Tabelle déi mir geschafen hunn, dauerhaft entfernen,

DROP TABLE personal_info

Ähnlech wäerte de Kommando ënnen ausgenotzt ginn fir d'gesamte Employée Datenbank ze entfernen:

DROP DATABASE Mataarbechter

Benotzt dëse Kommando suergfälteg. De Kommando DROP verschwënnt komplett Datenstrukturen aus Ärer Datebank. Wann Dir individuell Rekorder wëllt läschen, benotze Dir den DELETE Kommando vun der Data Manipulation Language.

Data Manipulation Sprooch Commands

D'Manipulatiounsprozedur (DML) gëtt benotzt fir d'Informatioun vun der Datenbank abonnéieren, ze insertéieren an ze änneren. Dës Kommandoe ginn vun all Datebank benotzt während der Routineoperatioun vun der Datebank.

INSERT. De Kommando INSERT op SQL gëtt benotzt fir Opnamen op eng existent Dësch ze ginn. Zréck op d'perséinlech_info Beispill vun der fréierer Rubrik zréckzekréien, sech virstellen datt eis HR-Personal e neie Mataarbechter op seng Datebank bréngt. Dir kënnt e Kommando benotze fir dësen:

INSERT INTO personal_info Wäerter ('Bart', 'Simpson', 12345, $ 45000)

Bedenkt datt et vier Werte fir den Rekord ass. Dës entsprecht mat der Tabellattribute an der Uerdnung, déi se definéiert goufen: first_name, last_name, employee_id a salär.

SELECT. De Kommando SELECT ass de am allgemengen gebrauchte Befehl am SQL. Et erméiglecht den Datenbanknënscht d'spezifesch Informatioun ze kréien, déi se vun enger Operatiounsdatenbank wënschen. Kuckt Iech e puer Beispiller an nees mat der personal_info-Tabelle vun der Personaldatenbank.

Den Kommando weist ënnendrënner alle Informatiounen aus der personal_info-Tabelle. Bedenkt datt den Asterisk als Plazplaz am SQL benotzt. Dëst heescht wuertwiertlech "Auswielen alles vun der personal_info-Tabelle."

SELECT * VUN personal_info

Alternativ kënnen d'Benotzer openeen déi Grenze vun der Datebank limitéieren wëllen. Zum Beispill, de Depot vum Human Ressources kann eng Lëscht vun de leschten Nimm vun alle Mataarbechter an der Firma erforderen. De folgenden SQL-Kommando wieren nëmmen déi Informatioun:

SELECT last_name FROM personal_info

D'WHESS Klausel kann benotzt ginn fir d'Opzeechnungen ze limitéieren, déi un deeër Kritësch erausgeruff ginn, déi u spezifesche Kritären erreeche sinn. De CEO kéint interesséiert sinn d'Personal records vun all héich bezuelte Mataarbechter ze iwwerpréiwen. De folgenden Kommando sammelt all d'Donnéeën, déi an personal_info enthale sinn fir Rekorder, déi e Gehalt vu méi wéi 50.000 $ hunn:

SELECT * VUN personal_info WËSSEN ​​Gehalts> $ 50000

UPDATE. Den UPDATE-Kommando kann benotzt ginn fir d'Informatioun, déi an enger Tabelle tabelléiert ass, entweder am grénge oder individuell modifizéiert. Assume derfir datt all Employée jidferen 3 Prozent Präiserhéijungskonflikt an hire Gehalt annuléiert. De folgenden SQL-Kommando konnt benotzt ginn fir dat séier un all déi an der Datebank gespäichert Mataarbechter ze benotzen:

UPDATE personal_info SET Gehalt = Gehalt * 1,03

Wann den neie Mataarbechter Bart Simpson d'Performance uewen an iwwer de Ruff vun der Pflicht duerstellt, wënscht d'Verwann gäeren seng stellarer Erléisse mat enger $ 5.000 Erhéijung ze erkennen. D'WHESS-Klausel konnt benotzt fir Bart auszetauschen fir dës Erhéijung:

UPDATE personal_info SET Gehalt = Gehalt + $ 5000 WOU Employé_id = 12345

DEELT. Endlech, lass eis e Bléck op de Kommando DELETE kucken. Dir kënnt feststellen datt d'Syntax vun dësem Kommando sou wéi déi aner DML Kommandoen entsprécht. Leider huet eis lescht Corporate Gewerkschaft Rapport net ganz erwaart Erwaardungen an den armen Bart ass geluecht ginn. De Kommando DELETE mat enger WHERE Klausel kann benotzt ginn fir säi Rekord vun der personal_info-Tabelle ze entfernen:

LINK VUN personal_info WOU Employee_id = 12345

JOINen

Elo, datt Dir d'Basis vu SQL geléiert hutt, ass et Zäit fir ee vun de mächtegsten Konzepter déi d'Sprooch ubitt ze ginn - d'JOIN-Ausso. Eng JOIN -Anweisung erméiglecht Iech Daten a multiple Dëscher kombinéiere fir eng grouss Quantitéit vu Daten effizient ze verwierklechen. Dës Aussoen sinn wou déi richteg Kraaft vun enger Datebank wunnt.

Fir d'Benotzung vun enger Basis JOIN Operatioun unzefänken fir Daten aus zwee Dëscher ze kombinéieren, weider mat dem Beispill weider mat der PERSONAL_INFO-Tabelle weiderzebréngen an eng aner Tisch un d'Mëschung ze addéieren. Ass maacht Dir eng Tabell genannt DISCIPLINARY_ACTION déi mat der folgender Ausso geschitt ass:

CREATE TABLE disiplinary_action (action_id int net null, employee_id int net null, commenten char (500))

Dës Tafel enthält d'Resultater vun disziplinareschen Aktiounen op Employéen vun Entreprise. Dir musst erkennen datt et keng Informatioun iwwer den Employeur wéi d'Employeur Nummer enthält. Et ass einfach ze vill Szenarie virzebereeden wou Dir wëllt Informatioun vun der DISCIPLINARY_ACTION an PERSONAL_INFO Dëscher kombinéiere wëllen.

Stellt Iech vir, datt Dir eng Lëscht geschriwwen huet, déi d'Disziplinaraktioun géint all Mataarbechter mat engem Gehalt vu méi wéi 40.000 Dollar opgefouert gëtt. De Gebrauch vun enger JOIN Operatioun, an dësem Fall, ass richteg. Mir kënnen dës Informatioun unzefänken mat dem folgendem Kommando:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, disziplinar_aktiounen WËL personal_info.employee_id = disziplinar_action.employee_id AND personal_info.salary> 40000

De Code spezifizéiert déi zwee Dëscher, déi mir an der FROM-Klausel matmaachen an dann en Deklaratioun an der WHERE-Klausel fir d'Resultater op ze beschränken, fir Rekorder opzemaachen, déi mat Mataarbechter IDs fonnt haten an eis Kritären vun engem Gehalt méi wéi $ 40.000 erreecht hunn.