[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.