SQL Fundamentals

Fantaro momba DDL, DML ary JOINs

Ny fiteny fanamafisana ao amin'ny Structured dia iray amin'ireo fotodrafitrasa fototra amin'ny tranokala maoderina. SQL no mamaritra ny fomba ampiasaina hananganana sy hanamafisana ireo rakitra relational amin'ny sehatra lehibe rehetra. Raha vao jerena dia toa toa mahamenatra sy sarotra ilay fiteny, saingy tsy sarotra izany.

Ity fampidirana amin'ny fototra ao ambadiky ny SQL ity dia mandinika fohifohy ny sasany amin'ireo didy lehibe indrindra ampiasaina hanamboarana sy hanovana ny tahiry.

About SQL

Ny famelabelarana marina momba ny SQL dia adihevitra mifamaly ao anatin'ny fiarahamonina database. Ao amin'ny fenitry ny SQL, ny American National Standards Institute dia nanambara fa ny teny ofisialy dia ny "es queue el." Na dia izany aza, maro ireo mpampiasa tranonkala no naka ny fanononan'ny teny hoe "fohy." Ny safidinao dia anao.

SQL dia tonga amin'ny tsiro maro. Ny tahiry Oracle dia mampiasa ny PL / SQL tompony. Ny Microsoft SQL Server dia mampiasa Transact-SQL. Ny fahasamihafana rehetra dia mifototra amin'ny ANSI SQL indostria. Ity fampidiran-dresaka ity dia mampiasa ANSI-compliant commands SQL izay miasa amin'ny rafitry ny rafitry ny rafitry ny relational ankehitriny.

DDL sy DML

Ny SQL dia azo zaraina amin'ny dingana lehibe roa. Ny dikan-teny definitions (DDL) dia misy ny baiko ampiasaina hananganana sy hamotika ireo tahiry sy ireo zavatra momba ny angona. Rehefa voafaritra amin'ny DDL ilay rafitra mpanova-kevitra dia afaka mampiasa ny Data Manipulation Language (DML) ny mpandrindra ny database ary ny mpampiasa mba hampidirana, hikaroka ary hanova ny angona rakitra ao anatiny.

Fandikana ny fiteny mandidy

Ny fiteny ampiasaina amin'ny teny definitions dia ampiasaina hananganana sy hamotika ireo tahiry sy ny zavatra momba ny angona. Ireo didy ireo dia ampiasain'ireo administratin'ny orinasa mandritry ny fametrahana sy famindrana ny tetikasa fandraketana. Indro ny fijerena ny rafitra sy ny fampiasana baikon'ny DDL efatra:

MANANGANA. Ny fametrahana rafitra fitantanana banky amin'ny ordinatera dia ahafahanao mamorona sy mitantana ireo tahiry mahaleotena maro. Ohatra, azonao atao ny mitazona tahiry ny mpanjifan'ny mpanjifa amin'ny departemantan'ny varotrao sy ny tambajotra manokana ho an'ny departemantan'ny HR anao. Ny baiko CREATE dia ampiasaina hananganana ny tsirairay amin'ireo tahiry ireo eo amin'ny sehatra misy anao. Ohatra, ny baiko:

AMPIASAINA AMIN'NY DATABASA

dia manangana tahirin-kevitra anaty iray antsoina hoe "mpiasa" ao amin'ny DBMS. Rehefa avy namorona ny tahiry, ny dingana manaraka dia ny mamorona tabilao misy rakitra. Azonao atao ny mampiasa vahaolana hafa momba ny baiko CREATE. Ny baiko:

MITADY TABLE personal_info (voalohany_name char (20) tsy null, last_name char (20) tsy null, employee_id int tsy null)

mametraka latabatra mitondra ny lohateny hoe "personal_info" ao amin'ny tahiry ankehitriny. Ao amin'ny ohatra, ny latabatra dia misy toetra telo: voalohany_name, last_name ary employee_id miaraka amin'ny fampahalalana fanampiny.

AMPIASAO. Ny baiko USE dia ahafahanao manondro ny daty tianao hampiarahana amin'ny DBMS. Ohatra, raha miasa amina banky fivarotana ianao ary te hamoaka baiko sasantsasany izay hisy fiantraikany amin'ny tambazotra momba ny mpiasa, dia manorata azy amin'ny baiko SQL manaraka:

USE mpiasa

Zava-dehibe ny hahatsiaro mandrakariva ny daty namboarinao talohan'ny namoahana baiko SQL izay manipika ny angona.

ALTER. Raha vao namorona latina ao anaty tahiry iray ianao dia azonao atao ny manova ny famaritana azy. Ny baiko ALTER dia ahafahanao manova ny rafitra misy latabatra tsy alaina ary mamerina izany. Diniho ity baiko manaraka ity:

ALTER TABLE personal_info ADD salary vola null

Ity ohatra ity dia manampy toetoetra vaovao ao amin'ny latabatra personal_info-ny karaman'ny mpiasa iray. Ny argument "vola" dia mamaritra fa ny karaman'ny mpiasa iray dia tahiry amin'ny fampiasana dolara sy tahiry cents. Farany, ny tenimiafina "zero" dia milaza ny daty fa tsy mahomby io sehatra io mba tsy hisy vidiny ho an'ny mpiasa voakasik'izany.

Drop. Ny baiko farany amin'ny Data Definition Language, DROP, dia ahafahantsika manaisotra ireo rakitra rehetra ao amin'ny DBMS. Ohatra, raha te hanaisotra tanteraka ny latabatra personal_info izay noforoninay izahay, dia mampiasa izao baiko manaraka izao:

DROP TABLE personal_info

Toy izany koa, ny baiko etsy ambany dia ampiasaina mba hanesorana ny daty manontolo momba ny mpiasa:

DROP DATABASE mpiasa

Ampiasao amim-pitandremana ity didy ity. Ny baiko DROP dia manaisotra ny rafitra data rehetra ao amin'ny tahiry. Raha te hanala ny firaketana manokana ianao dia ampiasao ny fehezan-teny DELETE amin'ny Teny Manipulation.

Manome baiko ny fiteny amin'ny fiteny

Ny DML (Data Manipulation Language) dia ampiasaina mba haka, hanisy sy hanova ny fampahalalana momba ny fandraketana. Ireo baiko ireo dia ampiasain'ireo mpampiasa database rehetra mandritra ny fandefasana ny fandraketana daty.

Ampidiro eto. Ny baiko INSERT amin'ny SQL dia ampiasaina hanampiana rakitsoratra ho an'ny latabatra efa misy. Miverina amin'ny soso-kevitra manokana an'ny persiana_info avy amin'ny fizarana teo aloha, eritrereto hoe ny department departments dia mila manampy mpiasa vaovao ao amin'ny banky. Afaka mampiasa baiko mitovy amin'io ianao:

MISAARA ao amin'ny sanda personal_info ('bart', 'simpson', 12345, $ 45000)

Mariho fa misy sanda efatra voatondro ho an'ny rakitsoratra. Ireo dia mifanitsy amin'ny latabatra sasantsasany ao amin'ny baiko nofaritany azy ireo: first_name, last_name, employee_id ary karama.

SELECT. Ny baiko SELECT no didy fampiasa matetika amin'ny SQL. Izany dia mamela ireo mpampiasa database haka ny fampahalalana manokana tadiaviny avy amin'ny banky angona. Jereo ny ohatra vitsivitsy ary avereno indray ny latabatra personal_info avy amin'ny tambajotra momba ny mpiasa.

Ny baiko aseho etsy ambany dia mamaky ny fampahalalana rehetra ao anaty latabatra personal_info. Mariho fa ny asterisk dia ampiasaina ho karatra famantarana ao amin'ny SQL. Midika ara-bakiteny hoe "Safidio ny zavatra rehetra ao amin'ny latabatra personal_info."

SELECT * FROM personal_info

Azonao atao ihany koa ny te-hanerena ny hamaritra ireo toetra izay nalaina avy amin'ny tahiry. Ohatra, ny Departemantan'ny Human Resources dia mety mitaky ny lisitry ny anaran'ny mpiasa rehetra ao amin'ny orinasa. Ny baiko SQL manaraka dia mamoaka izany fampahalalana izany ihany:

SELECT last_name FROM personal_info

Ny WHITE clause dia azo ampiasaina mba hamerana ny rakitra voaray amin'ireo izay mifanaraka amin'ny fepetra voalaza. Ny tale jeneralin'ny CEO dia mety ho liana amin'ny fanaraha-maso ny firaketana manokana ataon'ny mpiasan'ny mpiasa be karama. Ny baiko manaraka dia mamerina ireo rakitra rehetra voarakitra ao amin'ny personal_info ho an'ny rakitra izay manana salan'isa mihoatra ny $ 50,000:

SELECT * FROM personal_info ARA-DALANA> $ 50000

UPDATE. Ny baiko UPDATE dia azo ampiasaina hanovana ny vaovao voaray ao anaty latabatra, na amin'ny ankapobeny na amin'ny tsirairay. Ekeo fa ny orinasa dia manome ny mpiasa rehetra 3 isan-jato ny vidim-piainana amin'ny vidiny amin'ny karamany isan-taona. Ny baiko SQL manaraka dia azo ampiasaina mba hampiharana azy io amin'ny mpiasa rehetra voatahiry ao anaty daty:

UPDATE personal_info SET salary = salary * 1.03

Rehefa maneho ny fampisehoana etsy ambony sy ankoatry ny antso an-tariby ny mpiasa vaovao Bart Simpson dia maniry ny hahafantatra ny zava-bitany mitentina $ 5,000 ny fitantanana. Ny WHITE clause dia azo ampiasaina hamongorana an'i Bart ho an'ity fananganana ity:

UPDATE personal_info SET salary = karama + $ 5000 WHERE employee_id = 12345

Fafao. Farany, andeha hojerentsika ny baikon'ny DELETE. Ho hitanao fa ny sentaks amin'ity baiko ity dia mitovy amin'ny an'ny DML hafa. Indrisy fa ny tatitra farany momba ny tambazotra momba ny harena ankibon'ny tany dia tsy nahafeno ny andrasana ary i Bart dia narotsaka. Ny baikon'ny DELETE amin'ny alalàn'ny WHERE clause dia azo ampiasaina hanesorana ny rakitsorany ao amin'ny latabatra personal_info:

VAROTRA avy amin'ny personal_info izay mpiasa employee_id = 12345

mpikamban'ny

Ankehitriny rehefa nianatra ny fototry ny SQL ianao dia izao no fotoana hanohizanao ny iray amin'ireo hevi-dehiben'ny fitenin'ny fiteny azonao - ny fanambarana JOIN. Ny fanambaràn'ny JOIN dia ahafahanao mampifangaro ny angon-drakitra amin'ny tabilao maromaro mba handaminana ny angona betsaka. Ireo fanambarana ireo dia ny toerana misy ny tahiry marina amin'ny tahiry.

Mba hijerena ny fampiasana ny fomba fiasa JOIN fototra mba hampifandimbiasana angona avy amin'ny latabatra roa, mitohy amin'ny ohatra amin'ny fampiasana ny latabatra PERSONAL_INFO ary manampy latabatra fanampiny amin'ny mix. Eritrereto hoe misy latabatra atao hoe DISCIPLINARY_ACTION izay noforonina tamin'ity fanambarana manaraka ity:

MANAO DISABLINARY_action (action_id int null, employee_id int null, hevitra char (500))

Ity latabatra ity dia ahitana ny vokatry ny fifehezana amin'ny mpiasa an-tsokosoko. Ho hitanao fa tsy misy fampahalalana momba ny mpiasa ankoatra ny isan'ny mpiasa. Mora ny maminavina karazana tranga maromaro ahafahanao mampifandray ny vaovao avy amin'ny DISCIPLINARY_ACTION sy ny PERSONAL_INFO tabilao.

Alaivo sary an-tsaina hoe nisy namorona tatitra izay mametraka ny fepetra hifehezana ny mpiasa rehetra amin'ny karama mihoatra ny 40.000 $. Ny fampiasana ny asa atao JOIN, amin'ity tranga ity, dia mahitsy. Azontsika atao ny mamerina ity fampahalalana ity amin'ny alalan'ity baiko manaraka ity:

SELECT personal_info.first_name, personal_info.last_name, disciplinary_action.comments FROM personal_info, disiplinary_action FOMBA personal_info.employee_id = disciplinary_action.employee_id AND personal_info.salary> 40000

Ny fehezan-dalàna dia mamaritra ny takelaka roa izay tiantsika hiditra ao amin'ny clause FROM ary avy eo dia misy fanambarana ao amin'ny WHITE clause mba hametrahana ny valin'ny fichiers izay mifanandrify amin'ny IDe-n'ireo mpiasa ary nahafeno ny fepetra momba ny karama mihoatra ny $ 40,000.