python SQL 查询插入显示空行
python SQL query insert shows empty rows
我正在尝试在 SQL 中执行插入查询。它表明它成功但在数据库中没有显示记录。这是我的代码
conn = MySQLdb.connect("localhost",self.user,"",self.db)
cursor = conn.cursor()
id_val = 123456;
path_val = "/homes/error.path"
host_val = "123.23.45.64"
time_val = 7
cursor.execute("INSERT INTO success (id,path,hostname,time_elapsed) VALUES (%s,%s,%s,%s)", (id_val, path_val,host_val,time_val))
print "query executed"
rows = cursor.fetchall()
print rows
这会输出以下内容
query executed
()
它没有给我任何错误,但数据库似乎是空的。我在 mysql 控制台中尝试了我的 SQL 查询。执行了以下命令。
INSERT INTO success (id,path,hostname,time_elapsed)
VALUES (1,'sometext','hosttext',4);
这工作正常,因为我可以看到数据库已填充。
mysql> SELECT * FROM success LIMIT 5;
+----+----------+----------+--------------+
| id | path | hostname | time_elapsed |
+----+----------+----------+--------------+
| 1 | sometext | hosttext | 4 |
+----+----------+----------+--------------+
所以我猜 SQL 查询命令是正确的。不确定为什么我的 cursor.execute
没有响应。有人可以指出我正确的方向吗?似乎无法找出错误。谢谢
发送 INSERT 记录后,您应该提交数据库中的更改:
cursor.execute("INSERT INTO success (id,path,hostname,time_elapsed) VALUES (%s,%s,%s,%s)", (id_val, path_val,host_val,time_val))
conn.commit()
当您想读取数据时,您应该像通过解释器一样先发送查询。
所以在获取数据之前,执行SELECT命令:
cursor.execute("SELECT * FROM success")
rows = cursor.fetchall()
print rows
如果你想做pythonic:
cursor.execute("SELECT * FROM success")
for row in cursor:
print(row)
我正在尝试在 SQL 中执行插入查询。它表明它成功但在数据库中没有显示记录。这是我的代码
conn = MySQLdb.connect("localhost",self.user,"",self.db)
cursor = conn.cursor()
id_val = 123456;
path_val = "/homes/error.path"
host_val = "123.23.45.64"
time_val = 7
cursor.execute("INSERT INTO success (id,path,hostname,time_elapsed) VALUES (%s,%s,%s,%s)", (id_val, path_val,host_val,time_val))
print "query executed"
rows = cursor.fetchall()
print rows
这会输出以下内容
query executed
()
它没有给我任何错误,但数据库似乎是空的。我在 mysql 控制台中尝试了我的 SQL 查询。执行了以下命令。
INSERT INTO success (id,path,hostname,time_elapsed)
VALUES (1,'sometext','hosttext',4);
这工作正常,因为我可以看到数据库已填充。
mysql> SELECT * FROM success LIMIT 5;
+----+----------+----------+--------------+
| id | path | hostname | time_elapsed |
+----+----------+----------+--------------+
| 1 | sometext | hosttext | 4 |
+----+----------+----------+--------------+
所以我猜 SQL 查询命令是正确的。不确定为什么我的 cursor.execute
没有响应。有人可以指出我正确的方向吗?似乎无法找出错误。谢谢
发送 INSERT 记录后,您应该提交数据库中的更改:
cursor.execute("INSERT INTO success (id,path,hostname,time_elapsed) VALUES (%s,%s,%s,%s)", (id_val, path_val,host_val,time_val))
conn.commit()
当您想读取数据时,您应该像通过解释器一样先发送查询。
所以在获取数据之前,执行SELECT命令:
cursor.execute("SELECT * FROM success")
rows = cursor.fetchall()
print rows
如果你想做pythonic:
cursor.execute("SELECT * FROM success")
for row in cursor:
print(row)