繁体   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