从to_sql的来源,我可以看到它被映射到元数据对象meta = MetaData(con, schema=schema)
。但是,我无法找到告诉我如何为MySQL定义Schema的SQLAlchemy文档
如何指定架构字符串?
答案 0 :(得分:1)
PID
只需使用schema parameter。但是请注意,架构不是odbc驱动程序。
答案 1 :(得分:0)
to_sql
中的schema参数令人困惑,因为“ schema”一词的含义不同于“表定义”的一般含义。在某些SQL风格中,尤其是在postgresql中,模式实际上是一组表的名称空间。
例如,您可能有两种模式,一种称为test
,另一种称为prod
。每个表都可能包含一个由熊猫生成并使用user_rankings
命令编写的名为to_sql
的表。在改善用户排名时,您将指定test
模式。准备部署新排名时,您将写入prod
模式。
就像其他人提到的那样,当您调用to_sql
时,表定义是根据数据帧中每一列的类型信息生成的。如果该表已经存在于结构完全相同的数据库中,则可以使用append
选项将新数据添加到表中。
答案 2 :(得分:-3)
从SQLAlchemy文档的Dialects页面开始,选择方言的文档页面并搜索create_engine
以查找有关如何创建方法的示例。
更简洁的概述,您可以在Engine Configuration页面上获取所有支持的方言。
mysql
的逐字摘录:
# default
engine = create_engine('mysql://scott:tiger@localhost/foo')
# mysql-python
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
# MySQL-connector-python
engine = create_engine('mysql+mysqlconnector://scott:tiger@localhost/foo')
# OurSQL
engine = create_engine('mysql+oursql://scott:tiger@localhost/foo')
然后将此engine
传递给大熊猫的to_sql(...)
'数据帧。