python - 如何使用 Python 将值直接插入到 SQL 基表中?

标签 python sql database connection

我正在尝试通过 python 建立连接获取用户输入,从而在 SQL 表中添加值。

我已经尝试与 SQL 数据库建立连接并在表中添加值,但是这些值只是在 python 中临时添加,并且这些值不会插入到 SQL 表中

我尝试了以下方法:

database ='c:\\sqlite\db\chinook.db'

conn =sqlite3.connect(database)
cur =conn.cursor()

sql ="Insert into books(id,title,author,genre,owner) values (?,?,?,?,?) "

value1 =(2,'Outliers','Malcom Gladwell','Non-Fiction','Ishant Sahu')
cur.execute(sql,value1)

sql2 ="Select * from books; "
db = pd.read_sql(sql2,conn)

我可以看到数据库中插入的值:

id  title   author  genre   owner
1   Shoe Dog    Phil Knight Memoir  Jitesh Singla
2   Outliers    Malcom Gladwell Non-Fiction Ishant Sahu

但是当我在 SQL Server 上运行表时,没有任何变化:

1   Shoe Dog    Phil Knight Memoir  Jitesh Singla

有没有办法做到这一点,如果没有,为什么不可能?

最佳答案

在 python 数据库连接中,默认自动提交是 false。因此您需要提交查询以将数据保存到数据库中。

关于python - 如何使用 Python 将值直接插入到 SQL 基表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56210418/

相关文章:

python - 字典在迭代过程中改变了大小,在深度复制之后,python

javascript - 如何使用 Mechanize with Selenium 在 python 中单击按钮

python - 在 Python 中使用 enumerate() 将索引旋转回 `for` 循环中的第一个元素的更好方法

mysql - 在 MySQL 中使用分区选择重复项?

sql - postgresql group by 和 inner join

python - 如何将当前的 pygame 表面转换为更大的表面?

sql - 如何在 T-SQL 中删除空格前的某些字符?

javascript - Laravel 尝试从数据库获取导航栏列表

sql - 在 MongoDB (NoSQL) 中存储关系数据

mysql - Liquibase 部分提交变更集