解决sqlalchemy执行语句提示Not an executable object

问题:

from sqlalchemy import create_engine

# 数据库的变量
HOST = '127.0.0.1'
PORT = 3306
DATA_BASE = 'itbz'
USER='root'
PWD='123456'
# DB_URL = f'数据库的名+驱动名://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'
DB_URL = f'mysql+pymysql://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'
engine = create_engine(DB_URL)

# 执行一个SQL
sql ='select 1;'
conn = engine.connect()
rs = conn.execute(sql)
print(rs.fetchone())

执行结果:

 解决问题:

在conn.execute()方法处抛出了错误,'select 1'不是一个可执行的对象

文本sql的执行,需要使用sqlalchemy中的text()方法处理字符串,再执行语句

1、导入 from sqlalchemy import text

2、关键部分修改如下:

result = conn.execute(text("select 1"))
from sqlalchemy import create_engine
from sqlalchemy import text

# 数据库的变量
HOST = '127.0.0.1'
PORT = 3306
DATA_BASE = 'itbz'
USER='root'
PWD='123456'
# DB_URL = f'数据库的名+驱动名://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'
DB_URL = f'mysql+pymysql://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'
engine = create_engine(DB_URL)

# 执行一个SQL
sql ='select 1;'
conn = engine.connect()
rs = conn.execute(text(sql))
print(rs.fetchone())

执行结果:

最近更新

  1. TCP协议是安全的吗?

    2024-03-25 20:00:07       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-25 20:00:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-25 20:00:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-25 20:00:07       20 阅读

热门阅读

  1. 面试算法-99-单词拆分

    2024-03-25 20:00:07       19 阅读
  2. 第九章 Spring5 高级应用及核心原理(二)

    2024-03-25 20:00:07       16 阅读
  3. Python之装饰器-带参装饰器

    2024-03-25 20:00:07       21 阅读
  4. 查看nginx日志文件

    2024-03-25 20:00:07       22 阅读
  5. 3-9 枚举类代码 演示

    2024-03-25 20:00:07       18 阅读
  6. GESP C++二级认证真题 2024年3月

    2024-03-25 20:00:07       23 阅读
  7. IOS面试题编程机制 21-25

    2024-03-25 20:00:07       16 阅读
  8. 【 Vue 】辅助创建VNode的h函数

    2024-03-25 20:00:07       20 阅读