Не очень понятен синтаксис запросов SQL
Я изучаю и питон также , в нем я продвинулся уже куда дальше а SQL только начинаю так что прошу не бить палками за возможно банальный вопрос :
Так вот в питоне к примеру мы можем присваивать данные к переменным и использовать их потом , или делать примерно тоже самое с функциями которые создаем . А вот в SQL мы ну насколько я понял просто выводим критерии по которым должны выводиться данные из базы ? То есть асинхронности как таковой тут нет ? Мы не можем что то создать что бы использовать это потом ?
Прошу прощения если вопрос поставлен не корректно , мне сложно сформулировать свои мысли , я просто понимаю что мне сложно понять синтаксис SQL запросов
В Python мы описываем последовательность действий, которые должна совершить программы - это называется "императивное программирование".
В SQL мы задаём вопрос, а СУБД сама ищет на него ответ - это называется "декларативное программирование".
В Python-коде мы формируем текст запроса и отправляем его серверу СУБД. СУБД выполняет запрос и возвращает ответ в виде матрицы (двумерного массива) данных. Не знаю, как в Python, но, обычно, запрос может быть как синхронным, так и асинхронным - по желанию разработчика.
Но учитывая, что асинхронным должен быть весь обработчик HTTP-запроса, делать асинхронный SQL-запрос внутри асинхронного обработчика особого смысла нет. Это если мы говорим о web-разработке.
А дальше ты просто присваиваешь полученную матрицу (либо целиком, либо построчно) переменным Python и работаешь с ней, как с обычными данными.
А HTML тоже языком кличут и можем мы в нем «создать что бы использовать это потом ?»
Является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. В общем случае SQL (без ряда современных расширений) считается языком программирования неполным по Тьюрингу, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.
Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:
создание в базе данных новой таблицы;
добавление в таблицу новых записей;
изменение записей;
удаление записей;
выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
изменение структур таблиц.
Ну, если напрямую работаешь с SQL, то именно так. А если работаешь с базой в питоне, то можешь переменной присвоить SQL-запрос и пихать куда тебе его надо. Но, на практике, так не делается... Скорее всего :D
Да и зачем что-то создавать и использовать потом?)
SQL это язык запросов (как язык программирования) в СУБД (сервера баз данных). Это отдельные сервисы/программы (mysql, postgres, oracle и тд)
Они хранят и манипулируют табличными данными, через запросы ( также как ты с браузера шлешь запросы http серверам в интеренете)
Все язык программирования (питон, php, java итд и тп) шлют запросы (sql) к эти серверам (асинхронно) и читают ответы (и данные).