首页 > 解决方案 > sqlite3 搜索数据库

问题描述

我的数据库原本是一个sql文件,转换成sqlite文件data.sqlite。数据库,是一本带有章节编号的书。该表是

`#INSERT INTO `booktext` (`index`, `chapter`, `verse`, `text`) VALUES`
def read_from_db():
    table='booktext'
    chapter =100
    sql = '''SELECT * FROM {0} WHERE chapter= {1}'''.format(table,chapter)
    c.execute(sql)
    data = c.fetchall()
    print (data) #returns emty list
return data 

返回一个空列表。但是,当我不选择章节时,为了获取章节中的所有经文,而是写:

c.execute("SELECT * FROM 'booktext'")

正如预期的那样,所有带有文本的章节和经文编号都会出现。我不知道我的代码有什么问题。也许在我将 sql 文件转换为 data.sqlite 的过程中,数据表发生了变化。有没有办法查看当前数据表是什么?

在我原来的 sql 文件中,使用数据库的指南是;

DROP TABLE IF EXISTS `booktext`;
CREATE TABLE `booktext` ('index` int(4) NOT NULL auto_increment,
`chapter` int(3) NOT NULL default '0',
`verse` int(3) NOT NULL default '0',
`text` text NOT NULL,
PRIMARY KEY  (`index`)
) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

标签: pythonsqlsqlite

解决方案


推荐阅读