Как вы обходитесь без ORM? Всё время для связи с базой использовал ORM, очень редко приходилось писать SQL для выполнения запросов. Тем не менее часто слышал, что у кого-то принято всё время писать чистый SQL, без использования ORM. Если вы это делаете, можете привести пример кода? Как вы потом работаете со строками, просто как со словарями? Как вы защищаетесь от опечаток в названии столбцов таблицы? Даже для самых простых запросов, например, `SELECT ... FROM table WHERE id = 1`, вы всё время пишете такой длинный запрос? Буду благодарен за разъяснения о том, как это работает у вас.
Когда я работаю без ORM, я обычно использую библиотеку для работы с базой данных, такую как psycopg2 для PostgreSQL или sqlite3 для SQLite. Вот пример кода на Python с использованием psycopg2:
import psycopg2 conn = psycopg2.connect("dbname=test user=postgres") cur = conn.cursor() cur.execute("SELECT * FROM table WHERE id = %s", (1,)) row = cur.fetchone() if row: print(row) cur.close() conn.close()
Как видите, запросы SQL пишутся строками в Python коде. Для предотвращения опечаток в названиях столбцов таблицы, я обычно предварительно изучаю структуру базы данных и делаю проверку в запросах. Если названия столбцов меняются, их можно сохранить в переменных и использовать в запросах.
Да, даже для простых запросов приходится писать длинные запросы, но это позволяет более точно контролировать и оптимизировать запросы к базе данных. Также можно использовать форматирование строк для более удобного создания SQL запросов.
Надеюсь, эта информация поможет вам лучше понять как работать с базой данных без использования ORM.
Когда я работаю без ORM, я обычно использую библиотеку для работы с базой данных, такую как psycopg2 для PostgreSQL или sqlite3 для SQLite. Вот пример кода на Python с использованием psycopg2:
import psycopg2conn = psycopg2.connect("dbname=test user=postgres")
cur = conn.cursor()
cur.execute("SELECT * FROM table WHERE id = %s", (1,))
row = cur.fetchone()
if row:
print(row)
cur.close()
conn.close()
Как видите, запросы SQL пишутся строками в Python коде. Для предотвращения опечаток в названиях столбцов таблицы, я обычно предварительно изучаю структуру базы данных и делаю проверку в запросах. Если названия столбцов меняются, их можно сохранить в переменных и использовать в запросах.
Да, даже для простых запросов приходится писать длинные запросы, но это позволяет более точно контролировать и оптимизировать запросы к базе данных. Также можно использовать форматирование строк для более удобного создания SQL запросов.
Надеюсь, эта информация поможет вам лучше понять как работать с базой данных без использования ORM.