[Powered by Google Translate] [SQL] [KRISTOFRU BARTHOLOMEW] [HARVARD UNIVERSITÀ] [B'DAN QIEGĦED CS50] [CS50 TV] Allura, programmaturi tuża databases bħala għodda biex jaħżnu u jorganizzaw data persistenti tagħna fi ħdan it-tabelli. Dan ifisser li d-data tiegħek hija maħżuna fuq mhux volatili medjani bħal hard drive, u anke meta l-kompjuter huwa off, id-data hija għadhom intatti. U, kif programmaturi, programmi tagħna tutilizza databases għal xenarji bħal ħażna informazzjoni lill-utent minn forom tal-web, tfittex up inventarju, jew l-aġġornament ta 'informazzjoni dwar dak is-siti display. Imma kif għandna attwalment jinteraġixxu ma 'database tagħna, jew dak li nużaw biex jinqraw, jaħżnu, iħassru, u jaġġornaw data tagħna fi ħdan dawn it-tabelli database? Ukoll, it-tweġiba hija li nużaw tip speċjali ta 'lingwa database li jinteraġixxi b'mod dirett ma 'tabelli database tagħna. Huwa isem huwa Strutturat Mistoqsija Lingwa, [Strutturat Mistoqsija Lingwa] jew dak I jirreferu għalih bħala SQL. Issa, [Se-quel], jew SQL, ma tkunx lingwa ta 'programmar, iżda minflok, huwa lingwa li jipprovdi sett standard ta 'kmandi sabiex tkun irkuprata u timmanipula data minn varjetà ta 'sistemi ta' ġestjoni ta 'database. Għall-iskop ta CS50, aħna ser imorru fuq erba 'kmandi bażiċi: tagħżel, daħħal, jaġġornaw, iħassru u. Barra minn hekk, aħna ser jutilizzaw web interface database imsejħa phpMyAdmin, li installati fuq l-appliance li jiktbu dikjarazzjonijiet SQL tagħna. Allura, biex jgħinek tiftakar dawn il-kmandijiet, Stajt ippreżentat xi cupcakes fil-cupboard biex jassistu bl xenarji tagħna. Tgħid li inti għandek database cupcake, l- fejn int taħżen l-informazzjoni kollha dwar il-cupcakes tiegħek. Issa, databases jista 'jkun fihom tabelli ħafna u t-tabelli infushom jista 'jkun fihom kolonni ħafna. Ġewwa database cupcake tagħna, aħna għandna tabella msejħa cupcake_cupboard. Din it-tabella se jintużaw biex jaħżnu l-informazzjoni kollha dwar cupcakes li huma, ukoll, fil-cupboard tiegħek. Il-kolonni li huma ġewwa mejda tiegħek jirrappreżentaw l-attributi ta 'cupcake. Per eżempju, kolonni tal-cupcake_cupboard huma Kejk ID, CakeType, CakeColor, u CakeIsNice. Din il-kolonna Boolean ttajpjata hija użata sabiex tiddetermina jekk il-kejk huwa sbieħ jew mhux sbieħ. Aħna ser tibda bil-kitba ta 'stqarrija tagħżel. Dikjarazzjonijiet Agħżel huma użati biex jirkupraw data ta 'tabella database partikolari. F'dan ix-xenarju, li rridu nkunu nafu kollox dwar l cupcakes li jeżistu fil-cupboard tagħna. Is-sintassi biex isir dan huwa "Select" spazju stilla, jew *, l-ispazju mill-ispazju mejda tagħna, li huwa cupcake_cupboard. Ejja imorru quddiem u tesegwixxi dik. Kif nistgħu naraw, dawn huma kollha l-cupcakes fil-cupboard tagħna. Huwa importanti li wieħed jinnota li *, jew b'asterisk, huwa karattru wild card li tindika l-ġbir ta 'l-kolonni ta' xi tabella. Normalment, nistgħu aċċess kolonna speċifika jew kolonni billi tissostitwixxi * bl-isem kolonna attwali. Jekk irridu kolonni multipli, iżda mhux kollha, nistgħu niksbu dan billi tikteb l-ismijiet kolonna jiddelimitaw kull kolonna b'virgola. Per eżempju, ejja biss irkuprata l-CakeId u CakeType fit-tabella cupcake_cupboard. Is-sintassi biex isir dan huwa: TAGĦŻEL ispazju virgola CakeID Ispazju CakeType mit-tabella, tagħna cupcake_cupboard. Ejja jimxi 'l quddiem u tesegwixxi dan. U hawn, aħna issa biss il-kolonni 2 we speċifikati għal kull cupcake fil-cupboard tagħna. Nistgħu wkoll tirfina r-riżultati mistoqsija tagħna billi tispeċifika l-"Fejn" klawsola eżatt wara l-isem tabella. Per eżempju, jidher li hemm cupcake fil-cupboard tagħna jiġifieri, ukoll, mhux hekk sbieħ tfittex. Ejja figura l-cupcakes fil-cupboard tagħna li huma, ukoll, mhux hekk sbieħ tfittex tuża l-"Fejn" klawsola. Is-sintassi biex isir dan huwa: TAGĦŻEL ispazju * ispazju MILL cupcake_cupboard ispazju ispazju FEJN ispazju kolonna kondizzjonali tagħna, f'dan il-każ CakeIsNice =, u l-valur Boolean ta Foloz. Huwa importanti li wieħed jinnota li jekk inti qed tuża kordi, għandek tehmeż fil-kwotazzjonijiet uniku. Dan huwa minnu għal kull irbit SQL, jew, f'termini database SQL karattri varjant, magħrufa bħala varchar datatype. F'dan il-każ, aħna qed jużaw Veru jew Falz, li hija valur Boolean u mhux string. Ejja jimxi 'l quddiem u tesegwixxi dan il-kmand. Lo u behold, huwa l-każ li għandna 1 ċikkulata mhux hekk sbieħ cupcake fil-cupboard tagħna. Sussegwentement, aħna qed tmur biex tikteb dikjarazzjoni daħħal. Dikjarazzjonijiet Daħħal huma użati biex jiddaħħal jew iżidu ringieli addizzjonali ta 'data fis-tabella database tiegħek. Jiġi reivedut ir xenarju tagħna, ejja nassumu li aħna stajt biss magħmula cupcake ġdida fjamanta. Peress li aħna ħafna organizzati eaters cupcake, aħna qed tmur biex ikollhom daħħal dan cupcake ġdida fit-tabella cupcake_cupboard tagħna. Is-sintassi biex isir dan huwa dan: Daħħal ispazju fl-ispazju mejda tagħna, , cupcake_cupboard ispazju (, u hawn aħna jispeċifika l-ismijiet kolonni, delimitata minn virgola, CakeType virgola CakeColor virgola CakeIsNice) l-ispazju. Wara dan, aħna tikteb l-ispazju VALURI kelma (u hawn aħna jidħol il-valur ta 'kull kolonna rispettivament, wkoll delimitati minn virgola. Kwotazzjoni Uniku, minħabba li huma l-valuri kollha varchar aħna ser jdawru minnhom fil-kwotazzjonijiet wieħed, Virgola "virgola" BUTIR karawett DAWL BROWN "Veru. Issa, huwa importanti li tingħata kull ringiela numru uniku li jidentifika innifsu. Autoincrementing kolonna jipprovdi dan bħala  "L-ebda 2-IDs istess jista 'qatt jeżisti f'din it-tabella." Ejja imorru quddiem u tesegwixxi. Hemm immorru, kollha organizzati. Id-dikjarazzjoni SQL jmiss li aħna se jikteb huwa rendikont aġġornament. Id-dikjarazzjoni aġġornament jistgħu jintużaw biex jimmodifikaw id-data fi ħdan kolonna għal kull ringiela eżistenti fit-tabella database tiegħek. Aktar kmieni fix-xenarju tagħna, bl-użu dikjarazzjoni tagħżel, aħna identifikat cupcake fi ħdan it-tabella cupcake_cupboard tagħna li l-valur CakeIsNice kien Foloz. Ejja nassumu li filwaqt cupcake tagħna butir tal-karawett kien fil-forn, għamilna cupcake mhux daqstant sbieħ tagħna sbieħ ħafna. Li tant eċċezzjonalment organizzata, irridu cupcake tagħna biex tirrifletti dan il-valur fit-tabella cupcake_cupboard tagħna. Għalhekk, ejja taġġorna ċikkulata cupcake tagħna fid-database biex tirrifletti dan. Is-sintassi hija: l-ispazju AĠĠORNAMENT mejda tagħna, cupcake_cupboard, l-ispazju SET ispazju il-kolonna li nixtiequ għall-bidla, CakeIsNice =. Imbagħad hawn aħna post il-ġdid valur tagħna ispazju Veru. Issa, għaliex aħna ma rridux li taġġorna kollha ringieli ma 'dan il-valur, irridu li jipprovdu "Fejn" klawsola li se jindikaw us għall-ringiela eżatt li rridu li timmodifika. F'dan il-każ, nafu li hemm biss wieħed cupcake li għandu valur CakeIsNice ta Foloz. Barra minn hekk, aħna se jiżguraw ukoll li aħna taġġorna l-ringiela korretta billi tuża l-"U" klawżola. Aħna nużaw il-"U" klawżola biex jirfinaw mistoqsija tagħna aktar. F'dan il-każ, għaliex aħna nafu li l-cupcake huwa ċikkulata, se nużaw il-kolonna CakeType. FEJN ispazju kondizzjonali kolonna tagħna ispazju ispazju CakeIsNice = False, u l-ispazju CakeType = "Ċikkulata." Għalhekk, tqegħid kollha flimkien, din id-dikjarazzjoni aġġornament jgħid jsibu l-cupcakes fil-cupboard cupcake tagħna, u jekk ikun hemm cupcake li kolonna CakeIsNice fiha l-valur Foloz u CakeType fiha l-valur Ċikkulata, irridu li taġġorna l-valur speċifiku CakeIsNice ringieli għall Veru. Allura, ejja imorru quddiem u tesegwixxi l-istqarrija. U issa, aħna qed organizzati. Dan kollu taħdita ta 'cupcakes għamel miegħi daqsxejn bil-ġuħ. I think I għandhom jgħinu myself għal wieħed. Imma jekk I attwalment jieklu dan cupcake, I għandhom għall-inqas tneħħi wkoll l-eżistenza tagħha  mit-tabella cupcake_cupboard tagħna. Biex tagħmel dan, se nużaw il-"Ħassar" dikjarazzjoni. Il-"Ħassar" dikjarazzjoni tista 'tintuża sabiex tneħħi kull jew xi ringieli mit-tabella. Jekk inti tixtieq li tneħħi xi ringiela speċifika mill-tabella, allura inti trid tipprovdi "Fejn" klawżola, u b'hekk jispeċifika kolonna li għandha tkun unika għall-filliera li tixtieq tneħħi. Dan huwa l-sintassi: Ħassar MINN ispazju ispazju tal-mejda, tagħna cupcake_cupboard, l-ispazju. Issa, f'dan il-punt, kull meta inti s'hawn fid-dikjarazzjoni ħassar tiegħek inti tixtieq li tkun attent ħafna. Per eżempju, jekk irrid biex imexxu din il-mistoqsija kif mingħajr ma tipprovdi xi "Fejn" klawsola I jitilfu d-data kollha f'din it-tabella cupcake_cupboard, imma minħabba I diġà jafu li IDs kejk tiegħi huma uniċi, jien ser jużaw l-Aħmar Velvet kejk ID għal "Fejn" klawsola tiegħi. FEJN ispazju kolonna tagħna, CakeID = 1. Minħabba dan huwa valur sħiħ m'hemmx bżonn li madwaru fil-kwotazzjonijiet uniku. Allura, ejja teżegwixxi l-istqarrija. Well, issa li aħna ve jintilfu l-eżistenza ta 'dan cupcake mit-tabella cupcake_cupboard tagħna, aħna biss ħaġa waħda xellug: Jagħmluha jisparixxu. Jien Christopher Bartholomew. Dan huwa CS50.