В Python я подключен к SQL -серверу с помощью двигателя, и я манипулировал данными SQL в Workbench. Теперь я хочу перенести манипуляции с данными в Python. Имена таблиц, которые я буду использовать, могут измениться, поэтому я хочу, чтобы имя таблицы в запросе было переменной. Однако, независимо от того, как я пытаюсь избежать этого, я не могу поместить имя таблицы в запрос. Вот мой код: < /p>
df.to_sql(name='chartfield_data', con=engine, if_exists='replace', index=False)
sql = text("""
ALTER TABLE :table ADD Account_Group_2 VARCHAR(20);
UPDATE :table SET Account_Group_2 =
(CASE WHEN LEFT(Account, 1) = 4 THEN 'Revenue'
WHEN LEFT (Account, 1) = 5 THEN 'Salary'
WHEN LEFT(Account, 1) = 6 THEN 'OTPS'
ELSE 'Transfer' END);
""")
sql_dict = {'table': 'chartfield_data'}
with engine.begin() as connection:
connection.execute(sql, sql_dict)
< /code>
Имя таблицы - chartfield_data. Когда я использую отдельные кавычки вокруг него в SQL_DICT, я получаю ошибку, в которой говорится, что имя таблицы в SQL -запросе нуждается в обратных приемах или само по себе, потому что он читает как строковое «chartfield_data», что неверно. Я пытаюсь удалить одиночные кавычки, как SO: < /p>
sql_dict = {'table': chartfield_data}
< /code>
Но это дает мне ошибку «chartfield_data не определяется», потому что он читает его как переменную.
Я попытался добавить обратные ножки к имени, как SO: < /p>
sql_dict = {'table': `chartfield_data`}
< /code>
Но это не работает с Python 3.x.
Я, наконец, пытался использовать repr (), например, так: < /p>
sql_dict = {'table': repr(chartfield_data)}
< /code>
Но это также бросил ошибку. Есть ли в любом случае я могу использовать имя таблицы в качестве переменной в запросе и передать его в запрос вне этого? Любая помощь будет очень оценена!
Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-python
Не могу поместить название таблицы в запрос SQLalchemy в Python [Duplicate] ⇐ MySql
Форум по Mysql
1758053555
Anonymous
В Python я подключен к SQL -серверу с помощью двигателя, и я манипулировал данными SQL в Workbench. Теперь я хочу перенести манипуляции с данными в Python. Имена таблиц, которые я буду использовать, могут измениться, поэтому я хочу, чтобы имя таблицы в запросе было переменной. Однако, независимо от того, как я пытаюсь избежать этого, я не могу поместить имя таблицы в запрос. Вот мой код: < /p>
df.to_sql(name='chartfield_data', con=engine, if_exists='replace', index=False)
sql = text("""
ALTER TABLE :table ADD Account_Group_2 VARCHAR(20);
UPDATE :table SET Account_Group_2 =
(CASE WHEN LEFT(Account, 1) = 4 THEN 'Revenue'
WHEN LEFT (Account, 1) = 5 THEN 'Salary'
WHEN LEFT(Account, 1) = 6 THEN 'OTPS'
ELSE 'Transfer' END);
""")
sql_dict = {'table': 'chartfield_data'}
with engine.begin() as connection:
connection.execute(sql, sql_dict)
< /code>
Имя таблицы - chartfield_data. Когда я использую отдельные кавычки вокруг него в SQL_DICT, я получаю ошибку, в которой говорится, что имя таблицы в SQL -запросе нуждается в обратных приемах или само по себе, потому что он читает как строковое «chartfield_data», что неверно. Я пытаюсь удалить одиночные кавычки, как SO: < /p>
sql_dict = {'table': chartfield_data}
< /code>
Но это дает мне ошибку «chartfield_data не определяется», потому что он читает его как переменную.
Я попытался добавить обратные ножки к имени, как SO: < /p>
sql_dict = {'table': `chartfield_data`}
< /code>
Но это не работает с Python 3.x.
Я, наконец, пытался использовать repr (), например, так: < /p>
sql_dict = {'table': repr(chartfield_data)}
< /code>
Но это также бросил ошибку. Есть ли в любом случае я могу использовать имя таблицы в качестве переменной в запросе и передать его в запрос вне этого? Любая помощь будет очень оценена!
Подробнее здесь: [url]https://stackoverflow.com/questions/79766645/cant-put-table-name-into-sqlalchemy-query-in-python[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия