[Powered by Google Translate] [SQL] [Кристофер BARTHOLOMEW] [Универзитетот Харвард] [Ова е CS50] [CS50 ТВ] Значи, програмерите користат бази на податоци како алатка за чување и организирање нашите упорни податоци во табели. Ова значи дека вашите податоци се чуваат на не-Сам медиани како хард диск, па дури и кога компјутерот е исклучен, податоците се уште непроменети. И, како програмери, нашите програми се користат бази на податоци за сценарија како што се чување корисникот информации од веб форми, гледајќи нагоре инвентар, или ажурирање на информациите за она што сајтови прикажуваат. Но, како ние всушност комуницирате со нашата база на податоци, или што ние ги користиме за читање, чување, избришете, и ажурирање на нашите податоци во рамките на овие бази на податоци маси? Добро, одговорот е дека ние ги користиме специјален тип на база на податоци јазик која се поврзува директно со нашата база на податоци маси. Тоа е име е структуриран јазик за пребарување, [Structured Query Language] или она што се однесуваат како SQL. Сега, [SE-QueL], или SQL, не е програмски јазик, но наместо тоа, тоа е јазикот кој обезбедува стандарден сет од команди да се добијат и манипулираат со податоците од различни бази на податоци системи за управување. За целите на CS50, ќе одиме во текот на четири основни команди: изберете, вметнете, ажурирање, и да го избришете. Покрај тоа, ние ќе ги користат базата на податоци на веб интерфејс наречен phpMyAdmin, кој е инсталиран на апаратот да се напише нашите SQL извештаи. Значи, да ви помогне да се сеќавам на овие команди, Донесов некои cupcakes во плакарот за да им помогне со нашите сценарија. Велат дека имате база на Cupcake е, каде што ги чува сите информации за вашата cupcakes. Сега, бази на податоци може да содржи многу табели и табели себе може да содржи многу колумни. Внатре база нашите cupcake, ние имаме маса наречена cupcake_cupboard. Оваа табела ќе се користи за чување на сите информации за cupcakes кои се, добро, во вашиот шкаф. На колони кои се внатре вашата маса претставуваат атрибути на cupcake. На пример, колумни cupcake_cupboard се Торта проект, CakeType, CakeColor и CakeIsNice. Ова рационален-внесе колона се користи за да се утврди дали тортата е убаво или не е убаво. Ние ќе започне со пишување на SELECT изјава. Одберете извештаи се користи за добивање на податоци од одредена база на податоци табела. Во ова сценарио, ние сакаме да знаат сè за сите cupcakes кои постојат во нашата плакарот. Синтаксата да го направите ова е "Избери" простор ѕвезда, или *, простор од вселената нашата маса, која е cupcake_cupboard. Ајде да одиме напред и да изврши тоа. Како што можете да видите, овие се сите cupcakes во нашата плакарот. Важно е да се напомене дека *, или ѕвездичка, е џокер карактер што означува собирање на сите колони на некои маса. Нормално, ние може да пристапите до одредена колона или колони со замена * со вистински колона име. Ако сакаме повеќе колони, но не сите, можеме да го постигнеме ова со пишување на колона имиња опишуваат секоја колона со запирка. На пример, ајде само добивање на CakeId и CakeType во cupcake_cupboard табела. Синтаксата да го направите ова е: Избери простор CakeID запирка CakeType простор од нашата маса, cupcake_cupboard. Ајде да одиме напред и да ја извршат оваа. И тука, ние сега имаат само две колони ние определени за секој cupcake во нашиот плакар. Ние, исто така може да се усовршиме нашиот пребарување резултати со впишување "Каде" клаузула само по името на табелата. На пример, таму се чини дека е cupcake во нашиот плакар што е, добро, не толку убав. Да дознаам сите cupcakes во нашиот плакар кои се, добро, не толку убав со помош на "Каде" клаузула. Синтаксата да го направите ова е: Избери простор * простор од простор cupcake_cupboard простор каде што просторот нашите условен колона, во овој случај CakeIsNice =, и логичка вредност на неточно. Важно е да се напомене дека ако се користат стрингови, мора да го приложи во единечен наводник. Ова важи и за сите стрингови во SQL, или, во SQL база на податоци термини, варијанта карактери познат како varchar податочен тип. Во овој случај, ние сме со користење лажни или вистинити, која е Булова вредност, а не стринг. Ајде да одиме напред и да ја извршите оваа команда. Еве и овде, тоа е случај дека имаме 1 чоколадо не толку убаво cupcake во нашиот плакар. Напред, ние ќе напишам вметнете изјава. Вметнете извештаи се користи за да вметнете или да додадете дополнителни редови на податоци во вашата база на податоци табела. Посетување на нашите сценарио, да претпоставиме дека ние сме само направи сосема нов cupcake. Бидејќи ние сме добро организирани cupcake јадат, ние ќе треба да го вметнете овој нов cupcake во нашата cupcake_cupboard табела. Синтаксата да го направите тоа е ова: Вметнете простор во вселената нашата маса, cupcake_cupboard, простор (, и тука ние наведете колони имиња, одвоени со запирка, CakeType запирка CakeColor запирка CakeIsNice) простор. По ова, ние го напишете зборот ВРЕДНОСТИ простор (и тука ние внесете ја вредноста за секоја колона соодветно, исто така, одвоени со запирка. Еден цитат, бидејќи сите тие се varchar вредности ќе ги опкружуваат во единечен наводник, Светло кафена "запирка" путер од кикирики 'запирка Точно. Сега, важно е да им даде на секој ред единствен број да се идентификуваат. Autoincrementing колона обезбедува ова како  "Нема два исти ИД некогаш може да постои во оваа табела." Ајде да одиме напред и да се изврши. Таму ќе одиме, сите организирани. Следниот SQL изјава дека ќе пишувам е ажурирање на информациите. Ажурирање изјава може да се користи за менување на податоците во колоната за сите постоечки ред во вашата база на податоци табела. Претходно во нашата сценарио, користејќи изберете изјава, ние идентификувани cupcake во табелата нашите cupcake_cupboard во чие CakeIsNice вредност беше лажно. Да претпоставиме дека додека нашите путер од кикирики cupcake беше во рерната, ние ги направивме нашите не-толку-убав cupcake многу убаво. Се толку исклучително организирани, ние го сакаме нашиот cupcake за да ја одрази оваа вредност во нашата cupcake_cupboard табела. Затоа, ајде да ажурирање на нашите чоколадо cupcake во базата на податоци да го отсликува ова. Синтаксата е: Ажурирање простор нашата маса, cupcake_cupboard, простор СЕТ простор колоната што сакате да ја промените, CakeIsNice =. Потоа тука ние место нашата нова вредност Точно простор. Сега, бидејќи ние не сакаме да се ажурира сите редови со оваа вредност, ние сакаме да се обезбеди "Каде" клаузула која ќе ни ги лоцирам до точната ред што сакате да го измените. Во овој случај, ние знаеме дека постои само еден cupcake кој има CakeIsNice вредноста на неточно. Покрај тоа, ние исто така ќе осигура дека ние сме ажурирање на точни ред со помош на "И" клаузула. Ние ги користиме на "А" клаузула да се насочите нашите пребарување понатаму. Во овој случај, затоа што знаеме дека cupcake е чоколадо, ние ќе го искористите овој CakeType колона. Каде што просторот нашите условен колона простор CakeIsNice простор = Неточно, и просторот CakeType = 'чоколадо. " Значи, тоа ставање сите заедно, ова ажурирање на информациите вели најдете сите cupcakes во нашата cupcake шкаф, и ако постои cupcake, чија колумна CakeIsNice содржи вредноста Лажни и CakeType содржи вредноста чоколадо, ние сакаме да се ажурира на специфични редови CakeIsNice вредност true. Значи, ајде да одиме напред и да се изврши во соопштението. И сега, ние сме организирани. Сето ова зборува за cupcakes ме направи малку гладен. Мислам дека треба да си помогнат еден. Но, ако јас всушност јадете овој cupcake, јас треба барем исто така, отстранување на своето постоење  од нашите cupcake_cupboard табела. Да го направите ова, ние ќе ги искористиме на "Избриши" изјава. "Избриши" изјава може да се користи за отстранување на сите или некои редови од табелата. Ако сакате да отстраните некои специфични ред од табелата, тогаш мора да се обезбеди "Каде" клаузула, со што се одредува колона што треба да биде уникатен на ред кои сакате да ги отстраните. Ова е синтакса: DELETE простор од вселената нашата маса, cupcake_cupboard, просторот. Сега, во овој момент, кога сте толку далеку во вашиот избришете изјава сакате да бидете многу внимателни. На пример, ако сакате да ја извршите оваа пребарување како што е без обезбедување на некои "Каде" клаузула Јас ќе го изгубат сите податоци во оваа cupcake_cupboard маса, туку затоа што јас веќе знам дека мојата торта ИД се уникатни, јас ќе користам Црвениот сомот торта проект за мојата "Каде" клаузула. Каде што просторот нашата колона, CakeID = 1. Бидејќи ова е целобројна вредност, нема потреба да го опкружуваат во единечен наводник. Значи, ајде да се изврши во соопштението. Па, сега дека ние сме избриша постоењето на овој cupcake од нашите cupcake_cupboard маса, имаме само едно лево: Направете го тоа исчезне. Јас сум Кристофер Вартоломеј. Ова е CS50.