1 min read

🔗 sqlalchemy使用例子

基本导入

使用SQLAlchemy前,需要导入相关的库:

from sqlalchemy import create_engine
import pymysql
import pandas as pd

连接数据库

SQLAlchemy通过创建引擎(engine)来连接数据库,不同数据库有不同的连接字符串格式。

连接MySQL数据库

MySQL连接字符串格式:'mysql+pymysql://用户名:密码@主机地址:端口号/数据库名'

conn ='mysql+pymysql://userid:pwd@host:port/dbname'
engine = create_engine(conn)

注意:即使密码中包含@符号也没关系,SQLAlchemy会正确解析连接字符串。

连接SQL Server数据库

engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')

来自SQLAlchemy的使用方法

读取数据表

连接数据库后,可以使用pandas的read_sql函数读取数据:

# SQL查询语句
sql = '''
select * from xxx
where user_id in ({0})
'''.format(str("user_id"))  # 使用占位符替换变量

# 执行查询并获取数据
df = pd.read_sql(sql, engine)
print(df)

最佳实践总结

  • 使用参数化查询避免SQL注入风险。
  • 将数据库操作封装成函数,提高代码复用性。
  • 处理数据库连接时注意异常捕获。
  • 不需要数据库连接时及时关闭,释放资源。
  • 对于敏感信息(如密码),避免硬编码在代码中。