[Powered by Google Translate] [SQL] [Christopher BARTHOLOMEW] [Harvard Universiteti] [BU CS50 IS] [CS50 TV] Belə ki, proqramçılar saxlamaq və təşkil etmək üçün bir vasitə kimi verilənlər bazası istifadə masa çərçivəsində davamlı data. Bu, sizin data belə bir sabit olaraq qeyri-uçucu medians saxlanılır deməkdir və kompüter off olsa belə, məlumat hələ bütöv deyil. Və, proqramçılar kimi, bizim proqramları belə saxlanılması kimi ssenariləri üçün verilənlər bazası istifadə inventar qədər axtarır web formaları istifadəçi məlumat, və ya sites keçirmək haqqında məlumat yenilənməsi. Amma necə biz, həqiqətən, bizim bazası ilə qarşılıqlı yoxdur və ya nə biz, oxumaq mağaza silmək üçün istifadə edirsiniz və bu verilənlər bazası masalar ərzində bizim data yeniləmə? Yaxşı, cavabını biz bazasında dil xüsusi növü istifadə ki, olan verilənlər bazası masaları ilə birbaşa əlaqə. Bu adı, Query Language qurulub [Yapılandırılmış Query Language] və ya nə SQL kimi baxın. İndi, [Se-Quel], və ya SQL, bir proqramlaşdırma dili deyil əvəzinə, bu əmrləri bir standart təmin edən bir dil var verilənlər bazası idarəetmə sistemlərinin müxtəlif məlumat almaq və manipulyasiya. CS50 məqsədilə, biz dörd əsas əmrləri artıq getmək lazımdır: seçin daxil yeniləşdirmək və silin. Bundan əlavə, biz phpMyAdmin adlı bir verilənlər bazası web interface istifadə edəcəyik olan SQL hesabatları yazmaq üçün cihaz quraşdırılıb. Belə ki, bu əmrləri yadda kömək Mən ssenari yardım bir şkaf bəzi cupcakes gətirdi etdik. Bir cupcake verilənlər bazası var De Siz cupcakes haqqında bütün məlumat saxlamaq yerləşir. İndi, məlumat bazaları çox masa ola bilər və masalar özləri çox sütun ola bilər. Bizim cupcake verilənlər bazası Inside, biz cupcake_cupboard adlı bir masa var. Bu cədvəl cupcakes haqqında bütün məlumat saxlamaq üçün istifadə olunacaq ki, şkaf ildə də var. Sizin masa daxilində olan sütunlar bir cupcake və atributları əks etdirir. Məsələn, cupcake_cupboard nin sütun var Cake ID, CakeType, CakeColor və CakeIsNice. Bu boolean tipli sütun tort gözəl gözəl olmadığını müəyyən etmək üçün istifadə olunur. Biz seçin bəyanat yazılı başlamaq olacaq. Select hesabatları xüsusi verilənlər bazası masa məlumat almaq üçün istifadə olunur. Bu ssenari, biz hər şeyi bilmək istəyirəm bizim şkaf mövcud olan bütün cupcakes haqqında. Bunu üçün sintaksis "Seç" kosmik ulduz, və ya * kosmik bizim masa alan deyil, cupcake_cupboard olan. Nin davam və icra edək. Göründüyü kimi, bu bizim şkaf bütün cupcakes var. Bu *, və ya ulduz qeyd etmək vacibdir ki, bir vəhşi kart xarakter bəzi masa bütün sütunların toplanması bildirir. Adətən, biz müəyyən bir sütun və ya sütun daxil ola bilərsiniz faktiki sütun adı ilə * əvəz. Biz çox sütun istəyirəm, lakin bütün varsa, biz buna nail ola bilər bir vergül ilə hər sütun ayıran hüdudlarla sütun adlarını yazmaqla. Məsələn, yalnız cupcake_cupboard cədvəldə CakeId və CakeType almaq imkan verir. Bunu üçün sintaksis edir: SELECT kosmik CakeID vergül Bizim masa cupcake_cupboard dən CakeType sahəsi. Nin irəli getmək və bu icra edək. Və burada, indi yalnız biz göstərilən iki sütun var bizim şkaf hər cupcake üçün. Biz də ifadə edərək, bizim sorğu nəticələri rafine edə bilərsiniz yalnız masa adı sonra "Harada" sözləri. Məsələn, şkaf bir cupcake olmaq görünür ki, yaxşı, belə axtarır gözəl deyil. Nin axtarır, yaxşı, belə gözəl deyil ki, şkaf bütün cupcakes anlamaq edək ki, "harada" sözləri istifadə edərək. Bunu üçün sintaksis edir: məkan cupcake_cupboard seçin space * kosmik kosmik HARADA bu halda sahə bizim şərti sütun, CakeIsNice = Asma və boolean dəyəri. Bu strings istifadə etsəniz, bir quotes bu əlavə lazımdır ki, qeyd etmək vacibdir. Bu SQL bütün strings üçün aiddir, və ya, SQL verilənlər bazası baxımından variant simvol Varchar datatype kimi tanınır. Bu halda, biz boolean dəyər və simli olan, doğru və ya yalan istifadə olunur. Nin irəli getmək və bu funksiyanı icra edək. Yalnız və budur, biz 1 şokolad olan halda bizim şkaf ilə cupcake gözəl deyil. Sonra, biz bir insert bəyanat yazmaq olacaq. Daxil hesabatlarına daxil və ya əlavə etmək üçün istifadə olunur Sizin verilənlər bazası masa veri əlavə satır. Bizim ssenari Revisiting, biz yalnız yeni cupcake etdik fərz edək. Biz çox cupcake yeyənlər təşkil olduğundan, biz bu yeni cupcake daxil etmək olacaq bizim cupcake_cupboard masa. , Kosmik bizim masa daxil yer daxil edin: Bunu üçün sintaksis bu cupcake_cupboard, kosmik ( Burada biz bir vergül ilə ayrılmış sütunlar adları daxil CakeType vergül CakeColor CakeIsNice vergül) sahəsi. Bundan sonra biz sözü DƏYƏRLƏRİN yer (yazmaq və burada biz bir vergül ilə ayrılmış də, müvafiq olaraq, hər bir sütun üçün dəyər daxil edin. Onlar bütün Varchar dəyərlər çünki Subay quote, biz tək quotes onları əhatə edəcəyik Fıstık ezmesi "vergül" LIGHT BROWN "vergül True. İndi hər bir sıra özü müəyyən bir unikal nömrəsini vermək vacibdir. Bir sütun Autoincrementing kimi təqdim edir  "Heç iki eyni kimlikleri heç bu cədvəl mövcud ola bilər." Nin davam və icra edək. Var ki, biz bütün mütəşəkkil gedin. Biz yazmaq ki, növbəti SQL bəyanat yeniləmə bəyanatdır. Güncelleştirme bəyanat bir sütun ərzində data dəyişdirmək üçün istifadə edilə bilər Sizin verilənlər bazası masa mövcud sıra üçün. Əvvəllər bizim ssenari, bir seçin bəyanat istifadə edərək, biz bir cupcake müəyyən bizim cupcake_cupboard masa ərzində onun CakeIsNice dəyər Asma idi. Bizim peanut yağ cupcake sobada isə güman ki, bizim çox da gözəl cupcake çox gözəl etmişdir. Belə olduqca təşkil edilən, biz cupcake bu dəyər əks istəyirəm bizim cupcake_cupboard masa. Buna görə də, bu əks etdirmək üçün verilənlər bazası bizim şokolad cupcake yeniləmə imkan verir. Bu syntax edir: OLUNUB kosmik bizim masa cupcake_cupboard, kosmik SET kosmik biz dəyişdirmək istədiyiniz sütun, CakeIsNice =. Sonra burada biz yeni dəyər True yer qoyun. İndi biz bu dəyər bütün satır yeniləmək istəmirəm, çünki biz yerini bir "Harada" bəndində təmin etmək istəyirik biz dəyişdirmək istədiyiniz dəqiq sıraya. Bu halda, biz yalnız bir cupcake olduğunu bilmək ki, yanlış bir CakeIsNice dəyər var. Bundan əlavə, biz də doğru sıra yenilənməsi təmin edəcək da "və" sözləri istifadə edərək. Biz sorğu da saflaşdırmaq üçün "Və" bənddə istifadə edin. Bu halda, çünki biz, cupcake şokolad bilirik ki, biz bu CakeType sütun istifadə edəcək. HARADA kosmik bizim şərti sütun yer CakeIsNice kosmik = False, və kosmik CakeType = 'CHOCOLATE. Belə ki, bütün birlikdə qoyaraq, bu yeniləmə deyilir bizim cupcake şkaf bütün cupcakes tapmaq və onun sütun CakeIsNice Asma dəyəri başqa bir cupcake olduqda və CakeType, dəyəri CHOCOLATE şey biz True üçün xüsusi satır CakeIsNice dəyər yeniləmək istəyirəm. Belə ki, in irəli getmək və hesabatda icra edək. İndi biz təşkil edirik. Cupcakes Bütün bu söhbət mənə bir az ac etdi. Mən bir özüm kömək etməlidir. Mən, həqiqətən, bu cupcake yemək Lakin, mən ən azı də öz mövcudluğunu aradan qaldırılması lazımdır  bizim cupcake_cupboard masa. Bunu etmək üçün, biz "Sil" ifadəsi istifadə edəcək. Bu "Sil" bəyanat masa bütün və ya bəzi satır aradan qaldırılması üçün istifadə edilə bilər. Siz masa bəzi xüsusi sıra aradan qaldırılması istəyirsinizsə, sonra belə bir sütun ifadə, bir "harada" bəndində təmin etməlidir ki, siz aradan qaldırılması üçün istədiyiniz sıra unikal olmalıdır. Bu sintaksis var: bizim masa cupcake_cupboard, yer yer alan SİLİNDİ. İndi, bu nöqtədə zaman bu qədər sizin sil bəyanat var siz çox diqqətli olmaq istəyirəm. Mən bu sorğu almaq istəyirsinizsə Məsələn, bəzi "Harada" bəndində təmin olmadan Mən bu cupcake_cupboard cədvəldə bütün məlumatları itirə bilər Mən artıq mənim tort kimlikleri benzersiz bilirik ki, çünki, mən istifadə edəcəyik mənim "harada" sözləri üçün Red Velvet tort ID. HARADA kosmik bizim sütun, CakeID = 1. Bu tam dəyər Çünki tək quotes bu əhatə etməyə ehtiyac yoxdur. Belə ki, ən bəyanat icra edək. Yaxşı, indi biz bu cupcake varlığını məhv etdik ki, bizim cupcake_cupboard masa, biz yalnız sol bir şey var: Yox olun. Mən Christopher BARTHOLOMEW edirəm. Bu CS50 edir.