使用sqlite3和Python按索引将表拆分为2个新表

iyfjxgzm  于 2022-12-19  发布在  SQLite
关注(0)|答案(1)|浏览(394)

我有一个database.db文件,其中有一个table 1,如下所示。注意,索引只是代码,而不是数字:

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

我想在我的dababase.db中创建另外两个表,分别命名为table 2和table 3,其中一个包含前4行,另一个包含后2行:
表二

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

表三

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

我一直在尝试使用CREATE TABLE,但是table 1中的列太多了,无法一个一个地写。你会用什么方法来解决这个问题?谢谢!

CREATE TABLE table2 AS SELECT * FROM table1 WHERE condition
zmeyuzjn

zmeyuzjn1#

要创建表,必须指定列名和类型,已经存在的SELECT * FROM将不起作用。请参阅https://www.w3schools.com/sql/sql_create_table.asp
您可以尝试创建这样的表基于现有的表,如:

INSERT INTO table2  SELECT * FROM table1 WHERE condition;

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

相关问题