Python连接数据库

Posted ysk0904

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python连接数据库相关的知识,希望对你有一定的参考价值。

使用pymysql库:

使用pip进行安装:

pip install pymysql

以下是使用pymysql库连接MySQL数据库的示例代码:

import pymysql

# 连接到MySQL数据库
conn = pymysql.connect(
    host=\'localhost\',
    user=\'username\',#用户名和密码改为自己的
    password=\'password\',
    db=\'database_name\'
)

# 创建游标对象
cursor = conn.cursor()

# 查询表格中的数据
query = "SELECT * FROM table_name"
cursor.execute(query)

# 获取查询结果
for row in cursor.fetchall():
    print(row)

# 关闭游标和数据库连接
cursor.close()
conn.close()

运行结果:

python连接MySQL

就是在插入数据的时候,显示已经插入,而且数据库中的自动增长的主键ID也变了,但是就是没有数据,这是什么原因啊?
代码在这里import os, sys, string
import MySQLdb

con=MySQLdb.connect(host='localhost',user='root',passwd='panjjo',db='test')

cursor = con.cursor()
sql = "insert into telephone(name, telephone) values ('%s', %d)" % ("zhaowei", 23)

cursor.execute(sql)

sql = "select * from telephone"
cursor.execute(sql)
alldata = cursor.fetchall()

if alldata:
for rec in alldata:
print rec[0], rec[1]

cursor.close()

con.close()
新添加的数据在这里面能查出来,但是在数据库里看不出来

数据库操作的基本常识:
一个事务会话操作完成后要进行commit或者rollback操作,用来结束会话,释放资源。
你能select到是因为这些数据是在程序的同一个会话中产生的,你用数据库select不到是因为数据库的会话和你程序的会话不是同一个,不能共享数据。
你在程序里commit一下就能在数据库看到了。
参考技术A con.commit ()
你需要提交一下
在con.close()之前加入
con.commit ()

以上是关于Python连接数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在Python下连接Oracle数据库

python连接数据库

Python数据库连接池DBUtils

Python数据库连接池DBUtils

Python数据库连接池DBUtils

急!!用python连接数据库