Python操作数据库
python操作数据库
使用python操作mysql数据库需要用到第三方库pymysql
一、安装pymysql
打开cms命令行,切换python安装目录的Scripts,输入命令pip install mysql,安装成功后,可以成功导入
二、数据库操作
1、建立数据库连接
conn=pymysql.connect(host=数据库地址,port=端口号,user=用户名,password=密码,db=数据库,charset=编码)
例如:
conn=pymysql.connect(host='127.0.0.1',
port=3306,
user='root',
password='123456',
db='testpython',
charset='utf8')
2、获取游标
cur=conn.cursor()
3、使用游标执行读(写)操作
cur.execute(sql)
例如:
cur.execute("select * from user_info")
4、获取查询结果
cur.fetchone():获取一条数据,同时获取的数据会从结果集中删除
cur.fetchmany(num):获取多条数据
cur.fetchall():获取所有数据
注意获取完数据后,数据会从数据集中删除,再次获取会获取不到,所以获取数据后最好保存给某个变量
5、提交更改
conn.commit()
注意修改数据库的操作不会立即生效,需要使用连接conn.commit()提交才能生效
6、关闭游标
cur.close()
7、关闭连接
conn.close()
8、回滚操作
conn.rollback()
三、数据库封装
import pymysql
class DB:
def __init__(self,host,port,user,password,db):
self.conn=pymysql.connect(host=host,
port=port,
user=user,
password=password,
db=db)
self.cur=self.conn.cursor()
def __del__(self):
self.cur.close()
self.conn.close()
def query(self,sql):
self.cur.execute(sql)
return self.cur.fetchall()
def execu(self,sql):
try:
self.cur.execute(sql)
self.conn.commit()
except Exception as e:
self.conn.rollback()
print(str(e))
db=DB('127.0.0.1',3306,'root','123456','testpython')
result=db.query('select * from user_info')
print(result)