python - 使用 SQLITE3 制作的基本数据库
问题描述
我使用 sqlite3 在 python 中创建了一个基本数据库,它接收 3 个值并存储它们。现在问题出在哪里,当我创建一个应该输出值的函数时,终端上没有显示任何语法错误,也没有打印我的值。我猜这是一个小错误,但我无法发现它。
代码如下:
import sqlite3
def create_table():
conn = sqlite3.connect("lite.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS store (item TEXT, quantity
INTEGER, price FLOAT)")
conn.commit()
conn.close()
def insert(item, quantity, price):
conn = sqlite3.connect("lite.db")
cur = conn.cursor()
cur.execute("INSERT INTO store VALUES ('?, ?, ?')", (item, quantity,
price))
conn.commit()
conn.close()
insert("Mug", 8, 6)
def view():
conn = sqlite3.connect("lite.db")
cur = conn.cursor()
cur.execute("SELECT * FROM store")
rows = cur.fetchall()
conn.close()
return rows
print(view())
再次没有显示错误消息,但没有显示我的值。
解决方案
我试过了。似乎不需要单引号insert
。请参阅下面的修改:
import sqlite3
def create_table():
conn = sqlite3.connect("lite.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS store (item TEXT, quantity INTEGER, price FLOAT)")
conn.commit()
conn.close()
def insert(item, quantity, price):
conn = sqlite3.connect("lite.db")
cur = conn.cursor()
cur.execute("INSERT INTO store VALUES (?,?,?)", (item, quantity, price))
conn.commit()
conn.close()
def view():
conn = sqlite3.connect("lite.db")
cur = conn.cursor()
cur.execute("SELECT * FROM store")
rows = cur.fetchall()
conn.close()
return rows
create_table()
insert("Mug", 1, 5)
print(view())
推荐阅读
- python - 熊猫过滤器,其中当前行字符串包含来自不同列中上一行的字符串
- java - 避免在junit4中调用CommandLineRunner
- arrays - 什么时候数组 C-contiguous 和 F-contiguous 同时?
- jenkins - Scripted Pipeline 语法中并行内部的顺序阶段
- python - Python中多点下的面积积分
- r - 使用 mutate 将变量名称列表传递给自定义函数
- java - 为什么我的 Apache Ignite 持久存储仍处于锁定状态?
- python - 我无法在 pycharm 中导入 pygame
- elasticsearch - Logstash BeatsParser$InvalidFrameProtocolException
- java - 启动仪表 API 失败:Runner 意外退出