Основи на SQL

Дознајте за DDL, DML и JOIN

Структурно пребарување јазик е еден од основните градежни блокови на модерната база на податоци архитектура. SQL ги дефинира методите кои се користат за креирање и манипулирање со релациони бази на податоци на сите главни платформи. На прв поглед, јазикот може да изгледа застрашувачки и комплексен, но тоа не е толку тешко.

Овој вовед во основите зад SQL зема краток поглед на некои од главните команди кои се користат за креирање и менување на бази на податоци.

За SQL

Точниот изговор на SQL е спорно прашање во рамките на заедницата на бази на податоци. Во својот SQL стандард, Американскиот национален институт за стандардизирање изјави дека официјалниот изговор е "es queue el." Сепак, многу професионалци за базата на податоци се однесуваат на сленг изговорот "продолжение". Изборот е твој.

SQL доаѓа во многу вкусови. Oracle бази на податоци ја користат својата комерцијална PL / SQL. Microsoft SQL Server го користи Transact-SQL. Сите варијации се базираат на индустрискиот стандард ANSI SQL. Овој вовед користи SQL команди кои се компатибилни со ANSI, кои работат на секој модерен систем за релациони бази на податоци.

DDL и DML

SQL команди може да се поделат на два главни под-јазици. Јазикот за дефинирање на податоци (DDL) ги содржи командите што се користат за креирање и уништување на бази на податоци и објекти на база на податоци. Откако структурата на базата на податоци е дефинирана со DDL, администраторите на базата на податоци и корисниците можат да го користат јазикот за манипулирање со податоци (DML) за вметнување, превземање и менување на податоците содржани во него.

Команди за дефинирање на податоци

Јазикот за дефинирање на податоци се користи за создавање и уништување на бази на податоци и објекти на база на податоци. Овие команди првенствено се користат од администраторите на базата на податоци за време на фазата на поставување и отстранување на проект на база на податоци. Еве еден поглед на структурата и користењето на четири основни DDL команди:

КРЕАЦИЈА. Инсталирањето на систем за управување со бази на податоци на компјутер ви овозможува да креирате и управувате со многу независни бази на податоци. На пример, можеби ќе сакате да одржувате база на податоци за клиентски контакти за вашиот оддел за продажба и база на податоци за персоналот за вашиот кадровски оддел. Командата CREATE се користи за да се воспостави секоја од овие бази на податоци на вашата платформа. На пример, командата:

Креирај вработени во базата на податоци

создава празна база на податоци наречена "вработени" на вашиот DBMS. По создавањето на базата на податоци, следниот чекор е да се создадат табели кои содржат податоци. Друга варијанта на командата CREATE може да се користи за оваа намена. Командата:

КРЕАЦИЈА ТАБЕЛА personal_info (first_name char (20) не е null, last_name char (20) не е нил, employee_id int не е нула)

воспоставува табела со наслов "personal_info" во тековната база на податоци. Во примерот, табелата содржи три атрибути: first_name, last_name и employee_id заедно со некои дополнителни информации.

УПОТРЕБА. Командата USE ви овозможува да ја наведете базата на податоци со која сакате да работите во рамките на вашиот DBMS. На пример, ако моментално работите во продажната база на податоци и сакате да издавате некои команди кои ќе влијаат на базата на податоци на вработените, предговор со нив со следнава команда на SQL:

Користете ги вработените

Важно е секогаш да бидете свесни за базата на податоци во којашто работите, пред да издадете SQL команди кои манипулираат со податоци.

ALTER. Откако ќе креирате табела во базата на податоци, можеби ќе сакате да ја измените нејзината дефиниција. Командата ALTER ви овозможува да направите промени во структурата на табелата без да ја избришете и реконструирате. Погледнете ја следнава команда:

Измени ТАБЕЛА personal_info Додај плата пари нула

Овој пример додава нов атрибут на табелата personal_info-плата на вработениот. Аргументот "пари" одредува дека платата на вработениот е зачувана со користење на долари и центи формат. Конечно, клучниот збор "null" ја раскажува базата на податоци дека е во ред ова поле да не содржи никаква вредност за даден вработен.

КАПКА. Конечната команда на јазикот за дефинирање на податоци, DROP, ни овозможува да ги отстраниме целите објекти на базата на податоци од нашите DBMS. На пример, ако сакаме трајно да ја отстраниме табелата personal_info што ја создадовме, би ја користеле следнава команда:

ТАБЕЛА ЗА ВРАЌАЊЕ personal_info

Слично на тоа, командата подолу ќе се искористи за отстранување на целата база на податоци за вработените:

Вработените во DROP DATABASE

Користете ја оваа команда внимателно. Наредбата DROP ги отстранува целните структури на податоци од вашата база на податоци. Ако сакате да отстраните поединечни записи, користете ја командата DELETE на јазикот за манипулација со податоци.

Команди за манипулација со податоци

Јазикот за манипулација со податоци (DML) се користи за добивање, вметнување и менување на информации за базата на податоци. Овие команди ги користат сите корисници на базата на податоци за време на рутинската операција на базата на податоци.

Внеси. Командата INSERT во SQL се користи за додавање записи во постоечка табела. Враќајќи се во примерот personal_info од претходниот дел, замислете дека нашиот оддел за човечки ресурси треба да додаде нов вработен во својата база на податоци. Можете да користите команда слична на оваа:

Внесете во вредности personal_info ('bart', 'simpson', 12345, $ 45000)

Забележете дека има четири вредности за записот. Тие одговараат на атрибутите на табелата во редоследот што тие го дефинираат: first_name, last_name, employee_id и salary.

Избери. Командата SELECT е најчесто користената команда во SQL. Таа им овозможува на корисниците на базата на податоци да ги превземат специфичните информации што ги бараат од оперативна база на податоци. Погледнете неколку примери, повторно користејќи ја табелата personal_info од базата на податоци на вработените.

Командата прикажана подолу ги презема сите информации што се наоѓаат во табелата personal_info. Забележете дека ѕвездичката се користи како маска во SQL. Ова буквално значи "Избери сè од табелата за лични информации".

Избери * од лична_инфо

Алтернативно, корисниците можеби ќе сакаат да ги ограничат атрибутите кои се превземени од базата на податоци. На пример, одделот за човечки ресурси може да побара листа на презимиња на сите вработени во компанијата. Следната SQL команда ќе ги превземе само тие информации:

SELECT last_name од лична_инфо

Клаузулата КАДЕ може да се користи за ограничување на записите што се превземаат на оние кои ги исполнуваат одредени критериуми. Главниот извршен директор може да биде заинтересиран за преглед на кадровските евиденции на сите високо платени вработени. Следнава команда ги превзема сите податоци содржани во личните податоци за записи кои имаат вредност на плата поголема од 50.000 долари:

Избери * од лични_info КАДЕ плата> 50000 $

Ажурирање. Командата UPDATE може да се користи за менување на информациите содржани во табелата, било во најголемиот дел или поединечно. Претпоставуваме дека компанијата им дава на вработените 3 отсто зголемување на трошоците за нивната плата годишно. Следната SQL команда може да се користи за брзо да се примени ова за сите вработени зачувани во базата на податоци:

Ажурирање personal_info SET плата = плата * 1.03

Кога новиот вработен Барт Симпсон покажува изведба над и над повикот на должност, менаџментот сака да ги препознае своите ѕвездени достигнувања со покачување од 5.000 долари. Клаузулата КАДЕ може да се користи за да се издвои Барт за ова подигање:

Ажурирање personal_info SET плата = плата + $ 5000 КАДЕ employee_id = 12345

ИЗБРИШИ. Конечно, ајде да погледнеме во командата DELETE. Ќе најдете дека синтаксата на оваа команда е слична на онаа на другите DML команди. За жал, нашиот најнов извештај за корпоративните приходи не ги задоволи очекувањата и сиромашните Барт е отпуштен. Командата DELETE со клаузула WHERE може да се користи за да се отстрани неговиот запис од табелата personal_info:

Избриши од personal_info КАДЕ employee_id = 12345

ПРИЈАВИ

Сега кога сте ги научиле основите на SQL, време е да преминете на еден од најмоќните концепти што јазикот може да ги понуди - изјавата JOIN. A JOIN изјава ви овозможува да ги комбинирате податоците во повеќе табели за ефикасно обработка на големи количини на податоци. Овие извештаи се таму каде што вистинската моќ на базата на податоци престојува.

За да ја испитате употребата на основната операција JOIN за да ги комбинирате податоците од две табели, продолжете со примерот со користење на табелата PERSONAL_INFO и додадете дополнителна табела во мешавината. Претпостави дека имате табела наречена DISCIPLINARY_ACTION која е креирана со следнава изјава:

Креирај ТАБЕЛА disciplinary_action (action_id int не е нил, employee_id int не е нула, коментари char (500))

Оваа табела ги содржи резултатите од дисциплинските постапки на вработените во компанијата. Ќе забележите дека не содржи никакви информации за работникот различен од бројот на вработениот. Лесно е да се замислат многу сценарија каде што можеби ќе сакате да ги комбинирате информациите од DISCIPLINARY_ACTION и PERSONAL_INFO табелите.

Да претпоставиме дека имате задача да креирате извештај во кој се наведени дисциплинските мерки што се преземаат против сите вработени со плата поголема од 40.000 долари. Употребата на операција JOIN, во овој случај, е јасна. Оваа информација можеме да ја искористиме со следнава команда:

Избери personal_info.first_name, personal_info.last_name, disciplinary_action.comments ОД лична информација, disciplinary_action КАДЕ personal_info.employee_id = disciplinary_action.employee_id И personal_info.salary> 40000

Кодот ги специфицира двете табели кои сакаме да ги вклучиме во клаузулата ОД, а потоа вклучува изјава во клаузулата WHERE за да ги ограничиме резултатите до евиденцијата која ги содржи идентификациите на вработените и ги исполни нашите критериуми за плата поголема од 40.000 долари.