[英]How to make a new SQL table with extracted SQL table data?
我是 SQlite 的初學者,即將用提取的表數據制作一個新表。 我學會了從這樣的現有表中制作新表的方法;
create table T2 select * from T1
所以,我想我可以用這樣的提取數據制作一個新表;
import pandas as pd
import sqlite3
df = pd.DataFrame(
data={'column1': [10, 20, 30, 40],
'column2': [0, 1, 1, 0],
'column3': ['a', 'b', 'a', 'b']})
dbname = 'TEST.db'
con = sqlite3.connect(dbname)
cur = con.cursor()
df.to_sql("T1",con,if_exists="replace",method="multi",chunksize=1000)
con.execute("create table if not exists T2 As (SELECT column1,column3 FROM T1 WHERE column3='a' Group by column2)")
df_sqlquery = pd.read_sql_query(sql="SELECT * FROM T2",con=con)
print(df_sqlquery)
但是,它不起作用,我收到了錯誤消息; "OperationalError: near "(": syntax error" 為了創建新表,我是否應該使用 pandas.read_sql 輸出提取的表並使用 df.to_sql 將其輸入到 SQlite?我找不到好的答案。我會很感激如果你能幫助我的話。
只需更改此:
create table if not exists T2
As (SELECT column1,column3 FROM T1 WHERE column3='a' Group by column2)
進入這個:
create table if not exists T2
As SELECT column1,column3 FROM T1 WHERE column3='a' Group by column2
這就是你得到錯誤的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.