簡體   English   中英

如何使用提取的 SQL 表數據制作新的 SQL 表?

[英]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.

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