[Powered by Google Translate] [SQL] [CHRISTOPHER Bartłomieja] [Harvard University] [Jest to CS50] [CS50 TV] Tak, programiści baz danych jako narzędzie do przechowywania i porządkowania nasze trwałe dane w tabelach. Oznacza to, że dane są przechowywane na nielotnych median, takich jak dysk twardy, i nawet gdy komputer jest wyłączony, dane są wciąż nienaruszone. I, jak programistów, nasze programy wykorzystują bazy danych w sytuacjach, takich jak przechowywanie Informacje użytkownika z formularzy internetowych, patrząc inwentaryzacji, lub aktualizacji informacji o stronach wyświetlane. Ale jak właściwie współdziałać z naszej bazy danych, lub co możemy użyć do odczytu, zapisać, usunąć, i zaktualizować nasze dane w tych tabelach bazy danych? Cóż, odpowiedź jest taka, że ​​możemy użyć specjalnego typu języka bazy danych który oddziałuje bezpośrednio z naszych tabel bazodanowych. Jego nazwa jest Structured Query Language, [Structured Query Language] lub co nazywam SQL. Teraz [Se-Quel] lub SQL, nie jest on językiem programowania, ale zamiast tego, jest to język, który zapewnia standardowy zestaw poleceń do pobierania i przetwarzania danych pochodzących z różnych systemów zarządzania bazami danych. Dla celów CS50, pójdziemy na cztery podstawowe komendy: SELECT, INSERT, aktualizować i usuwać. Ponadto, będziemy wykorzystywać interfejs WWW bazy danych o nazwie phpMyAdmin, którym zainstalowany na urządzeniu, aby napisać nasze SQL. Tak więc, aby pomóc w zapamiętaniu tych poleceń, Przyniosłem trochę babeczki w szafie do pomocy w naszych scenariuszach. Powiedzmy, że masz cupcake bazę danych, gdzie przechowywać wszystkie informacje o cupcakes. Teraz, bazy danych może zawierać wiele tabel i stoły same mogą zawierać wiele kolumn. Wewnątrz naszego Cupcake bazie danych mamy tabelę o nazwie cupcake_cupboard. Tabela ta będzie używana do przechowywania wszystkich informacji o babeczki które są, dobrze, w swojej szafce. Kolumny, które są w środku tabeli reprezentują atrybuty cupcake. Na przykład, są cupcake_cupboard kolumnach Ciasto ID, CakeType, CakeColor i CakeIsNice. Ta wartość, wpisywanych kolumna jest używana do określenia, czy ciasto jest dobre, czy nie miłe. Mamy zamiar zacząć pisanie SELECT. SELECT są używane do pobierania danych konkretnego tabeli bazy danych. W tym scenariuszu, chcemy wiedzieć wszystko o wszystkie babeczki, które istnieją w naszej szafie. Składnia to zrobić "Wybierz", Space Star, lub *, miejsce z przestrzeni naszego stolika, który jest cupcake_cupboard. Idziemy dalej i wykonać to. Jak widać, to wszystko w naszej szafie babeczki. Ważne jest, aby pamiętać, że *, lub gwiazdkę, to dziki charakter karta że oznacza zebranie wszystkich kolumn jakiejś tabeli. Normalnie, możemy uzyskać dostęp do konkretnego kolumnę lub kolumny zastępując * z rzeczywistą nazwę kolumny. Jeśli chcemy wielu kolumn, ale nie wszystkie, można to osiągnąć pisząc nazwy kolumn rozgraniczających każdą kolumnę przecinkiem. Na przykład, niech tylko pobierać CakeId i CakeType w tabeli cupcake_cupboard. Składnia to zrobić: SELECT miejsce przecinek CakeID CakeType przestrzeń z naszej tabeli, cupcake_cupboard. Idziemy dalej i wykonać to. A tutaj, teraz tylko dwie kolumny to określone dla każdego ciastko w naszej szafie. Możemy również udoskonalić nasze wyniki kwerendy, określając "Gdzie" klauzula zaraz po nazwie tabeli. Na przykład, wydaje się, że w naszym szafie Cupcake to jest dobrze, nie tak ładne. Miejmy dowiedzieć wszystkie babeczki w naszej szafie, które są, dobrze, nie tak ładne używając "Where" klauzula. Składnia to zrobić: SELECT * przestrzeń od przestrzeni kosmicznej cupcake_cupboard miejsca, gdzie przestrzeń naszą warunkową kolumnę, w tym przypadku CakeIsNice =, i logiczną wartość False. Ważne jest, aby pamiętać, że jeśli używasz strun, należy ująć go w pojedynczych cudzysłowach. Odnosi się to do wszystkich ciągów w SQL, lub w zakresie baz danych SQL, wariant znaków znany jako varchar typ danych. W tym przypadku używamy True lub False, co jest wartością logiczną, a nie string. Idziemy dalej i wykonać to polecenie. I oto, to jest tak, że mamy 1 czekoladę nie tak miłe ciastko w naszej szafie. Następnie jedziemy do napisania INSERT. INSERT używane są do wstawiania lub dodać dodatkowe wiersze danych do tabeli bazy danych. Wracając nasz scenariusz, załóżmy, że mamy po prostu się zupełnie nową babeczkę. Ponieważ jesteśmy bardzo zorganizowana zjadacze Cupcake, będziemy musieli wprowadzić tę nową babeczkę w naszej tabeli cupcake_cupboard. Składnia to zrobić w ten sposób: Wstaw przestrzeń w przestrzeń naszego stolika, cupcake_cupboard, przestrzeni (, i tu określić kolumny nazwisk, oddzielone przecinkami, Przecinek CakeType CakeColor przecinek CakeIsNice) przestrzeń. Następnie piszemy przestrzeń VALUES słowa (i tu możemy wpisać wartość dla każdej kolumny, odpowiednio, również oddzielone przecinkami. Pojedynczy cudzysłów, ponieważ są one wszystkie wartości varchar my otoczyć je w pojedynczych cudzysłowach, Masło orzechowe "przecinek" jasnobrązowy "przecinek True. Teraz ważne jest, aby dać każdemu wierszowi unikalny numer do identyfikacji. Autoincrementing kolumny zapewnia to jako  "Nie ma dwóch takich samych identyfikatorów może kiedykolwiek istnieć w tabeli." Idziemy dalej i wykonać. Nie idziemy, wszystko zorganizowane. Następny SQL, że będziemy pisać jest instrukcja aktualizacji. UPDATE można modyfikować dane w kolumnie dla każdego istniejącego wiersza w tabeli bazy danych. Wcześniej w naszym scenariuszu za pomocą instrukcji SELECT, zidentyfikowaliśmy Cupcake W ramach naszej cupcake_cupboard stole, której wartość CakeIsNice było fałszywe. Załóżmy, że podczas gdy nasz Cupcake masło orzechowe było w piecu, zrobiliśmy nasz nie-tak-nice Cupcake bardzo ładne. Będąc tak wyjątkowo zorganizowana, chcemy, aby nasz Cupcake odzwierciedlać tę wartość w naszej tabeli cupcake_cupboard. Dlatego niech aktualizujemy ciastko czekoladowe w bazie danych, aby to odzwierciedlić. Składnia jest następująca: space UPDATE nasz stół, cupcake_cupboard, space spacja SET kolumny, które chcemy zmienić, CakeIsNice =. To tutaj możemy umieścić naszą nową wartością prawdziwą przestrzeń. Teraz, ponieważ nie chcemy, aby zaktualizować wszystkie wiersze z tej wartości, chcemy zapewnić "gdzie" klauzulę, że będzie z nami ustalenia punktów dokładnie do wiersza, który chcemy zmodyfikować. W tym przypadku wiadomo, że jest tylko jedna Cupcake które ma CakeIsNice wartość False. Co więcej, będziemy również zapewnić, że jesteśmy aktualizacji poprawny wiersz za pomocą "i" klauzuli. Używamy "i" klauzuli udoskonalić nasze zapytanie dalej. W tym przypadku, ponieważ wiemy, że ciastko jest czekolada, będziemy używać tego CakeType kolumnę. Gdzie przestrzeń nasza kolumna CakeIsNice warunkowe space space = False, i przestrzeń CakeType = 'CHOCOLATE. Tak więc, wprowadzenie go wszyscy razem, to oświadczenie aktualizacja mówi znaleźć wszystkie babeczki ciastko w naszej szafie, i jeśli jest ciastko, którego kolumna CakeIsNice zawiera wartość FALSE i CakeType zawiera czekolada wartości, chcemy zaktualizować konkretnych CakeIsNice wierszy wartość True. Więc idziemy do przodu i wykonanie instrukcji. A teraz, jesteśmy zorganizowani. Całe to gadanie o babeczki uczynił mnie nieco głodny. Myślę, że powinienem pomóc sobie do jednego. Ale gdybym rzeczywiście jeść to ciastko, powinienem przynajmniej także usunąć swoje istnienie  z naszego stołu cupcake_cupboard. Aby to zrobić, będziemy korzystać z "Delete" oświadczenie. "Delete" oświadczenie może być stosowany do usuwania niektórych lub wszystkich wierszy z tabeli. Jeśli chcesz usunąć jakiś specyficzny wiersz z tabeli, Następnie należy podać "gdzie" klauzulę, określając w ten sposób kolumnę który powinien być unikalny dla wiersza, który chcesz usunąć. To jest składnia: DELETE przestrzeń od przestrzeni nasz stół, cupcake_cupboard, przestrzeń. Teraz, w tym momencie, gdy jesteś tak daleko w swoim oświadczeniu delete chcesz być bardzo ostrożni. Na przykład, jeśli chcę uruchomić tę kwerendę, jak to jest bez podania jakiś "gdzie" klauzulę Stracę wszystkie dane w tej tabeli cupcake_cupboard, ale dlatego, że ja już wiem, że moje ciasto Identyfikatory są unikalne, użyję Red Velvet cake ID dla mojego "gdzie" klauzuli. Gdzie przestrzeń nasza kolumna CakeID = 1. Ponieważ jest to liczba całkowita, nie ma potrzeby, aby otoczyć ją apostrofami. No to wykonanie instrukcji. Dobrze, że teraz mamy otarł istnienie tego ciastko z naszego stołu cupcake_cupboard, mamy tylko jedna rzecz: Sprawiają, że znikają. Jestem Christopher Bartłomiej. To CS50.