Mail.ruПочта0Мой Мир0ОдноклассникиВКонтактеИгры0ЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не очень понятен синтаксис запросов SQL

дишка мирка Ученик (249), закрыт 1 год назад
Я изучаю и питон также , в нем я продвинулся уже куда дальше а SQL только начинаю так что прошу не бить палками за возможно банальный вопрос :
Так вот в питоне к примеру мы можем присваивать данные к переменным и использовать их потом , или делать примерно тоже самое с функциями которые создаем . А вот в SQL мы ну насколько я понял просто выводим критерии по которым должны выводиться данные из базы ? То есть асинхронности как таковой тут нет ? Мы не можем что то создать что бы использовать это потом ?

Прошу прощения если вопрос поставлен не корректно , мне сложно сформулировать свои мысли , я просто понимаю что мне сложно понять синтаксис SQL запросов
Лучший ответ
Андрей Высший разум (483662) 2 года назад
В Python мы описываем последовательность действий, которые должна совершить программы - это называется "императивное программирование".

В SQL мы задаём вопрос, а СУБД сама ищет на него ответ - это называется "декларативное программирование".

В Python-коде мы формируем текст запроса и отправляем его серверу СУБД. СУБД выполняет запрос и возвращает ответ в виде матрицы (двумерного массива) данных. Не знаю, как в Python, но, обычно, запрос может быть как синхронным, так и асинхронным - по желанию разработчика.

Но учитывая, что асинхронным должен быть весь обработчик HTTP-запроса, делать асинхронный SQL-запрос внутри асинхронного обработчика особого смысла нет. Это если мы говорим о web-разработке.

А дальше ты просто присваиваешь полученную матрицу (либо целиком, либо построчно) переменным Python и работаешь с ней, как с обычными данными.
Остальные ответы
Обэмэ Мудрец (17121) 2 года назад
Ну, если напрямую работаешь с SQL, то именно так. А если работаешь с базой в питоне, то можешь переменной присвоить SQL-запрос и пихать куда тебе его надо. Но, на практике, так не делается... Скорее всего :D
Да и зачем что-то создавать и использовать потом?)
дишка миркаУченик (249) 2 года назад
Не я просто в пример хотел привести поскольку не понимал . Тут просто при выборе чего либо или какой то информации не нужно ее никуда присваивать для дальнейшего использования , что для меня после питона стало как то в новинку
Обэмэ Мудрец (17121) дишка мирка, ну, вообще, в проектах, создаются функции в контроллерах, которые вызываются на той или иной странице, при тех или иных обстоятельствах. Если смотреть так, то это и есть присваивание запроса. Только не переменной, а в функцию с возвратом результата.
kaiu Высший разум (120238) 2 года назад
А HTML тоже языком кличут и можем мы в нем «создать что бы использовать это потом ?»
Является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. В общем случае SQL (без ряда современных расширений) считается языком программирования неполным по Тьюрингу, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.

Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

создание в базе данных новой таблицы;
добавление в таблицу новых записей;
изменение записей;
удаление записей;
выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
изменение структур таблиц.
дишка миркаУченик (249) 2 года назад
Спасибо . Просто я не понимал саму концепцию того что все что мы сейчас пишем это как переход по файлам в проводнике . После питона как то немного в новинку такое увидеть
kaiu Высший разум (120238) дишка мирка, питон лучше и не изучать как 1 язык, от того, что в мире все по типам разложено, а не универсально все как в этом языке. Вон пишут задание https://otvet.mail.ru/question/232270668 и что, мол ответ стал компактный только? Да он стал быстрее, так как по индексу переход быстрее чем перебирать миллион if-ов. Но даже так там излишне кода, много повторяется. Язык же SQL научит вас хранить каждый факт в одном месте, тогда и эффективность баз данных будет, так как ключи-индексы там везде. Когда в программах дойдут до такого, то не будет вот этих кучи написаний. Да, есть некоторые языки, но увы большинство пишутся вот такими повторами, «простынями» кода
Mikech Мастер (1609) 2 года назад
SQL это язык запросов (как язык программирования) в СУБД (сервера баз данных). Это отдельные сервисы/программы (mysql, postgres, oracle и тд)

Они хранят и манипулируют табличными данными, через запросы ( также как ты с браузера шлешь запросы http серверам в интеренете)

Все язык программирования (питон, php, java итд и тп) шлют запросы (sql) к эти серверам (асинхронно) и читают ответы (и данные).
Похожие вопросы