连接数据库后执行原始SQL

1 投票
2 回答
616 浏览
提问于 2025-04-16 02:18

我该怎么在连接到数据库后执行原始SQL语句呢?我需要在连接到数据库后运行一个脚本,只需要运行一次。谢谢。

更新:问题不是关于如何运行原始SQL。

2 个回答

1

如果你使用的是django版本大于等于1.2:

from django.db import connection, transaction

query = "SELECT foo FROM bar;"
connection.cursor().execute(query)
transaction.commit_unless_managed()
1

你可以直接去查看文档,这里有相关信息。

我记得在谷歌上搜索"Django ORM"时,这个链接是第二个出现的结果。

编辑 请查看评论。

如果你查看这个Django页面,你会发现MySQLdb(它的底层部分)也有一个叫做init_command的选项,这个选项会在连接建立后立即执行。这是MySQLdb的一个功能,而不是Django本身的特性。

撰写回答