Python操作SQLite出现错误

Python操作SQLite出现错误,插入表: no such column:

import sqlite3


conn=sqlite3.connect("test.db")
cursor = conn.cursor()
print ("Open")
while True:
    sno=input('student\'s sno')
    name=input('student\'s name')
    sex=input('student\'s sex')
    height=input('student\'s height')
    weight=input('student\'s weight')
    sql="""insert into students
        (sno,name,sex,height,weight)
        values
        (:st_sno,st_name,st_sex,st_height,st_weight)
        """
    cursor.execute(sql,{'st_sno':sno,'st_name':name,'st_sex':sex,'st_height':height,'st_weight':weight})
    conn.commit()
    count=('Another student?')
    if count[0].lower()=='n':
        break

cursor.close()

出错误为:sqlite3.OperationalError: no such column: st_name
该怎么解决啊?。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: sqlite3 模块是 Python 的标准库之一,用于在 Python 程序中使用 SQLite 数据库。SQLite 是一种轻量级的关系数据库管理系统,可以被嵌入到应用程序中。使用 sqlite3 模块,您可以在 Python 程序中创建数据库连接,执行 SQL 语句,并获取结果。 下面是使用 sqlite3 模块的简单示例: ``` import sqlite3 # 连接到数据库 conn = sqlite3.connect('example.db') # 创建一个游标 cursor = conn.cursor() # 执行一条 SQL 语句 cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)') # 插入一条记录 cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 20)) # 提交事务 conn.commit() # 查询数据 cursor.execute('SELECT * FROM users') # 获取查询结果 result = cursor.fetchall() # 打印查询结果 print(result) # 关闭连接 conn.close() ``` 在这个示例中,我们使用 sqlite3.connect() 函数连接到一个数据库文件,然后使用 cursor.execute() 执行 SQL 语句。我们还使用了占位符(问号)来安全地执行带有参数的 SQL 语句。最后,我们使用 cursor.fetchall() 获取查询结果并打印出来。 ### 回答2: Pythonsqlite3模块是一个用于操作SQLite数据库的内置模块。它提供了一系列函数和类,可以通过编程的方式进行数据库的连接、查询、更新和管理。 首先,我们需要使用sqlite3模块中的connect()函数来建立与数据库的连接。连接成功后,我们可以获得一个数据库连接对象,可以使用这个对象执行各种数据库操作sqlite3模块中的execute()函数可以执行SQL语句,例如创建表、插入数据、更新数据、删除数据等。我们可以使用该函数来执行需要的SQL语句,并通过commit()函数进行事务的提交。 查询数据可以使用execute()函数执行SELECT语句,并通过fetchone()函数获取一条查询结果,或者使用fetchall()函数获取所有查询结果。 sqlite3模块还提供了许多其他的函数和类,用于事务控制、错误处理和数据库管理。例如,我们可以使用rollback()函数进行事务的回滚,使用rowcount属性获取执行SQL语句后的受影响行数,还可以使用Cursor对象来进行游标操作和预编译语句执行等。 总之,Pythonsqlite3模块提供了一种方便、灵活和高效的方式来操作SQLite数据库。无论是小型项目还是大型项目,都可以使用sqlite3模块来进行数据库操作和管理。它具有简单易用的特点,适合初学者学习和使用。 ### 回答3: Pythonsqlite3 模块是用来操作 SQLite 数据库的一个内置模块。SQLite 是一种轻型的嵌入式数据库,不需要一个独立的服务器进程,而是直接读取和写入普通的磁盘文件。sqlite3 模块提供了一种简单、直观的方式来创建、连接、查询、操作和管理 SQLite 数据库。 使用 sqlite3 模块,我们可以通过以下步骤来操作 SQLite 数据库: 1. 导入 sqlite3 模块:首先需要导入 sqlite3 模块,这样我们才能在 Python 程序中使用 SQLite 数据库的相关功能函数和类。 2. 连接数据库:通过 sqlite3 模块提供的 connect() 函数,我们可以连接到一个指定的 SQLite 数据库文件,如果文件不存在则会自动创建。 3. 创建表:使用 SQL 语句,可以在连接的数据库中创建表格,定义表格的字段名和类型等。 4. 执行 SQL 语句:在连接的数据库上,可以使用 execute() 函数执行任意的 SQL 语句,比如插入数据、查询数据等。 5. 提交事务:对于需要修改数据库的操作,需要在操作完成之后使用 commit() 函数提交事务,使得修改生效。 6. 关闭数据库连接:在不再使用数据库时,通过 close() 函数关闭数据库连接,释放资源。 sqlite3 模块简化了与 SQLite 数据库的交互过程,提供了一系列的函数和类来实现数据库的访问和管理。这些函数和类包括 connect()、execute()、fetchone()、fetchall() 等,它们可以帮助我们完成数据库查询、增加、删除、修改等操作。 总之,Pythonsqlite3 模块为我们提供了一个方便、快速且易于理解的方式来处理 SQLite 数据库,使得我们可以方便地进行数据库操作,并且无需安装任何额外的数据库软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值