【问题标题】:Split table into 2 new tables by index with sqlite3 and python使用 sqlite3 和 python 按索引将表拆分为 2 个新表
【发布时间】:2019-03-18 10:32:33
【问题描述】:

我有一个 database.db 文件,其中有一个 table1 像你的那样。请注意,索引只是代码而不是数字:

id    | item | price
-------------
 45f5 | book | 20  
 25h8 | copy | 30   
 as34 | pen  | 10 
 t674 | key  | 15 
 5h6f | ring | 25 
 67yu | mug  | 40 

我想在我的 dababase.db 名称 table2 和 table3 中创建两个额外的表,其中一个包含前 4 行,另一个包含最后 2 行:

表2

id    | item | price
-------------
 45f5 | book | 20  
 25h8 | copy | 30   
 as34 | pen  | 10 
 t674 | key  | 15 

表3

id    | item | price
-------------
 5h6f | ring | 25 
 67yu | mug  | 40 

我一直在尝试使用 CREATE TABLE,但 table1 中的列太多,无法一一写入。你会如何解决这个问题?谢谢!

"CREATE TABLE table2 AS SELECT * FROM table1 WHERE condition"

【问题讨论】:

标签: python sql sqlite


【解决方案1】:

要创建表,您必须指定列名和类型, SELECT * FROM 已经存在将不起作用。见https://www.w3schools.com/sql/sql_create_table.asp

您可以尝试根据已经存在的表创建这样的表,例如:

INSERT INTO table2  SELECT * FROM table1 WHERE condition; 

尝试使用上面没有 WHERE 的语句来检查它是否有效,因为我现在无法访问 SQLite 数据库来检查它。

【讨论】:

    猜你喜欢
    • 2013-10-09
    • 1970-01-01
    • 2012-09-14
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多