[Powered by Google Translate] [SQL] [Кристофер Варфоломей] [HARVARD UNIVERSITY] [Это CS50] [CS50 TV] Таким образом, программисты используют базы данных как инструмент для хранения и упорядочивания наши постоянные данные в таблицах. Это означает, что ваши данные хранятся на энергонезависимую медиан, таких как жесткий диск, и даже когда компьютер выключен, данные остаются нетронутыми. И, как программисты, наши программы используют базы данных для сценариев, таких как хранение информацию о пользователях из веб-форм, глядя инвентаря, или обновления информации о том, какие сайты просмотров. Но как же мы на самом деле взаимодействуют с нашей базы данных, или то, что мы используем для чтения, хранения, удаления, и обновлять наши данные в этих таблицах базы данных? Ну, ответ в том, что мы используем специальный тип базы данных языку , который взаимодействует непосредственно с нашими таблицами базы данных. Это имя является Structured Query Language, [Язык структурированных запросов] или то, что я называю SQL. Теперь [Se-Quel], или SQL, не является языком программирования, но вместо этого, это язык, который предоставляет стандартный набор команд получать и обрабатывать данные из различных систем управления базами данных. Для CS50, мы пойдем на четыре основные команды: выбирать, вставлять, обновлять и удалять. Кроме того, мы будем использовать интерфейс базы данных веб называемый PHPMyAdmin, которые установлены на устройстве, чтобы написать нашу SQL заявления. Таким образом, чтобы помочь вам запомнить эти команды, Я привел некоторые кексы в шкаф, чтобы помочь с нашими сценариями. Скажем, у вас база данных кекс, в где вы храните всю информацию о ваших кексов. Теперь, базы данных может содержать множество таблиц и сами таблицы могут содержать много столбцов. Внутри базы данных наших кекс, у нас есть таблица под названием cupcake_cupboard. Эта таблица будет использоваться для хранения всей информации о кексов что, ну, в вашем шкафу. Столбцы, которые находятся внутри вашей таблице, представляют собой атрибуты кекс. Например, колонны cupcake_cupboard являются Cake ID, CakeType, CakeColor, и CakeIsNice. Это логическое типизированный столбец используется, чтобы определить, торт хорошо или не хорошо. Мы собираемся начать с написания оператора выбора. Выберите отчетность используется для извлечения данных из определенной таблицы базы данных. В этом случае, мы хотим знать все обо всех кексы, которые существуют в нашем шкафу. Синтаксис, чтобы сделать это "Выбрать" Space Star, или *, пространство от пространства нашего стола, который cupcake_cupboard. Давайте пойдем дальше и выполнить это. Как мы видим, все эти кексы в нашем шкафу. Важно отметить, что *, или звездочку, это символ подстановки , что означает сбор всех столбцов некоторой таблицы. Как правило, мы можем получить доступ к определенному или нескольких столбцах заменить * с фактическим именем столбца. Если мы хотим несколько столбцов, но не все мы можем достичь этого путем написания имен столбцов разграничения каждом столбце запятой. Например, давайте извлекать только CakeId и CakeType в cupcake_cupboard таблице. Синтаксис, чтобы сделать это: SELECT пространства CakeID запятой CakeType пространстве от нашего стола, cupcake_cupboard. Давайте пойдем дальше и выполнить это. И вот, теперь есть только два столбца мы определили Для каждого кекса в нашем шкафу. Мы также можем совершенствовать наши результаты запроса, указав "Где" пункта сразу после имени таблицы. Например, как представляется, кекс в нашем шкафу что это, ну, не так уж и хороший взгляд. Давайте выяснить все кексы в нашем шкафу, которые, ну, не так уж и приятные глазу с помощью "Где" оговорки. Синтаксис, чтобы сделать это: SELECT * пространство пространство от пространства cupcake_cupboard пространства, где пространство нашем условном колонка, в этом случае CakeIsNice =, и логическое значение False. Важно отметить, что если вы используете строки, вы должны заключить его в одинарные кавычки. Это верно для всех строк в SQL, или, в терминах SQL базы данных, символы вариант известный как Varchar тип данных. В этом случае мы используем Правда или Ложь, которая является логическое значение, а не строка. Давайте идти вперед и выполнить эту команду. И вот, это тот случай, что у нас 1 шоколадом Не так хорошо кекс в нашем шкафу. Далее, мы собираемся написать заявление вставки. Вставить отчетность используется, чтобы вставить или добавить дополнительные строки данных в таблице базы данных. Возвращение к нашему сценарию, давайте предположим, что мы только что сделали новый кекс. Так как мы очень организованно кекс едоков, мы будем иметь, чтобы вставить новую кекс В нашем cupcake_cupboard таблице. Синтаксис для этого состоит в следующем: Вставьте в космос нашего стола, cupcake_cupboard, пробел (, и здесь мы указываем имена столбцов, разделенных запятыми, CakeType разделенные запятыми CakeColor CakeIsNice) пространства. После этого, мы пишем пространстве слово VALUES (и здесь Мы введите значение для каждого столбца, соответственно, также разделенных запятыми. Одинарные кавычки, потому что они все Varchar значения мы окружим их в одинарные кавычки, LIGHT "запятая" арахисовое масло Брауна запятой True. Теперь важно, чтобы дать каждой строке уникальный номер, чтобы идентифицировать себя. Автоинкрементом колонка представляет это как  "Нет двух одинаковых идентификаторов может существовать в этой таблице." Давайте пойдем дальше и выполнять. Там мы идем, все организовано. Следующий оператор SQL, что мы будем писать это обновление заявлении. Обновление заявление может быть использовано для изменения данных в столбце для любой существующей строки в таблице базы данных. Ранее в нашем сценарии, с помощью оператора выбора, мы определили кекс в таблице наши cupcake_cupboard, чьи CakeIsNice значение было ложным. Давайте предположим, что в то время как наши арахисовое масло кекс был в духовке, мы сделали наш не так хорош кекс очень хорошо. Будучи таким исключительно организованный, мы хотим, чтобы наш кекс с учетом этого значения В нашем cupcake_cupboard таблице. Поэтому, давайте обновим наш шоколад кекс в базу данных, чтобы отразить это. Синтаксис: UPDATE пространстве нашего стола, cupcake_cupboard, космические пространства SET столбец, который мы хотим изменить, CakeIsNice =. Тогда здесь мы размещаем наши новые значения Правда пространстве. Теперь, поскольку мы не хотим, чтобы обновить все строки с этим значением, Мы хотим, чтобы обеспечить "Где" предложение, которое будет определить нами к точной строки, которые мы хотим изменить. В этом случае, мы знаем, что есть только один кекс , который имеет CakeIsNice значение False. Кроме того, мы также гарантируем, что мы обновляем нужные строки с помощью «А» пункта. Мы используем "и" положение, чтобы усовершенствовать наш запрос дальше. В этом случае, потому что мы знаем, что кекс шоколад, Мы будем использовать этот CakeType колонки. Где пространство нашем условном пространстве колонки CakeIsNice пространство = False, и пространство CakeType = 'CHOCOLATE ». Таким образом, положить все это вместе, это обновление говорится в заявлении найти все кексы в нашей кекс шкаф, и если есть кекс, столбец CakeIsNice содержит значение ЛОЖЬ и CakeType содержит значение ШОКОЛАД, Мы хотим, чтобы обновить конкретные CakeIsNice строк значение True. Итак, давайте идти вперед и выполнить инструкцию. И теперь, мы организовали. Все эти разговоры о кексы сделал меня немного голодным. Я думаю, что должно помочь себе к одному. Но если бы я на самом деле есть этот кекс, я должен по крайней мере также удалить свое существование  cupcake_cupboard нашего стола. Для этого мы будем использовать кнопку "Удалить" заявление. "Delete" заявление может быть использовано, чтобы удалить все или некоторые строки из таблицы. Если вы хотите удалить некоторые определенные строки из таблицы, Затем вы должны предоставить "Где" пункт, таким образом указав колонки которые должны быть уникальными в строку, которую вы хотите удалить. Это синтаксис: DELETE пространства от космического наш стол, cupcake_cupboard, пространство. Сейчас, в этот момент, когда вы находитесь так далеко в своем заявлении удаления Вы хотите быть очень осторожным. Например, если я хочу выполнить этот запрос как есть, без предоставления некоторых "Где" пункта Я бы потерять все данные в этой таблице cupcake_cupboard, а потому, что я уже знаю, что мой торт идентификаторы уникальны, я буду использовать Красная ID торт Velvet для моего "Где" оговорки. Где пространство нашей колонне, CakeID = 1. Потому что это целое значение нет необходимости, чтобы окружить ее в одинарные кавычки. Итак, давайте выполнить инструкцию. Ну, теперь, когда мы уничтожили существования этого кекса cupcake_cupboard нашего стола, у нас есть только одно левое: Сделать это исчезает. Я Кристофера Варфоломея. Это CS50.