簡體   English   中英

在熊貓中使用to_sql()時如何顯式設置數據庫引擎

[英]How to explicitly set database engine when using to_sql() in pandas

如何在pandas to_sql()函數中修補sql語句,以便新創建的表使用MYISAM存儲引擎?

我需要MYISAM,因為有大量的列。 當前,這會導致標准數據庫引擎INNODB出現問題(行大小太大(> 8126)。

我知道可以在創建表時在mysql語句中顯式設置數據庫引擎。 也許可以修補由to_sql()函數生成的sql?

要明確指定要使用MyISAM表,請使用ENGINE表選項進行指示:CREATE TABLE t(i INT)ENGINE = MYISAM;

這是我當前創建表格的方式

df.to_sql(con=engine, name="generated_" + reportConfiguration.shortName + "_" + reportConfiguration.marketplace, if_exists='replace',index=False)

據我所知,不能使用df.to_sqlengine = create_engine('mysql+pymy....://x@y/z')設置MySQL的 存儲引擎

創建MySQL存儲引擎后,即可將其添加到表結構中。
通過engine連接executing alter table命令,您可以修改表存儲引擎。

范例

with engine.begin() as conn:     
      conn.execute("ALTER TABLE table_name ENGINE = MYISAM")

說明文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM