详解:mysql操作
- 安装pymysql
- 概念
1、数据库连接
2、游标 - 操作方法
执行sql语句
cur.execute(sql)
获取sql查询的数据
result = cur.fetchall()
返回查询到的第一条数据
result = cur.fetchone()
返回自定义数据条数
result = cur.fetchmany(2)
整体操作代码如下:
#先在cmd中安装pymysql包
pip install pymysql
import pymysql #导入pymysql包
#连接数据库
conn = pymysql.connect(
host="192.168.1.172", #主机
user="root", #数据库用户名
password="123456", #数据库密码
port=33061, #数据库端口号
db="***", #数据库名称
charset="utf8", #编码集
autocommit=True, #设置自动提交
#设置返回值为字典,(字典嵌套在list中返回,一行数据为一个字典)
cursorclass=pymysql.cursors.DictCursor, #默认返回元组类型
)
cur = conn.cursor() #实例化游标
sql = "SELECT * FROM api_book" #查询sql
cur.execute(sql) #执行sql语句
result = cur.fetchall() #获取sql查询的数据
#result = cur.fetchone() #返回查询到的第一条数据
#result = cur.fetchmany(2) #返回自定义数据条数,目前是是返回2条
print(result)
#conn.commit() #手动提交,修改的时候才需要提交,也可以设置自动提交autocommit=True,(上面设置了自动提交,所以这一条可以注释掉)
cur.close() #关闭游标
conn.close() #关闭数据库连接
数据库封装
from setting import mysql_info #在setting文件里面设置好了数据库相关信息
具体代码如下:
from setting import mysql_info
import pymysql
class HandleMysql:
def __init__(self):
self.conn = pymysql.connect(
host=mysql_info["host"],
user=mysql_info["user"],
password=mysql_info["password"],
port=mysql_info["port"],
db=mysql_info["db"],
charset=mysql_info["charset"],
autocommit=True, #设置自动提交
#设置返回值为字典,(字典嵌套在list中返回,一行数据为一个字典)
cursorclass=pymysql.cursors.DictCursor, #默认返回元组类型
)
self.cur = self.conn.cursor()
def get_data(self,sql):
self.cur.execute(sql)
datas = self.cur.fetchall()
self.__close_mysql()
return datas
def __close_mysql(self):
self.cur.close()
self.conn.close()
if __name__ == '__main__':
sql = "SELECT * FROM students"
cl = HandleMysql()
result = cl.get_data(sql)
print(result)
欢迎来到testingpai.com!
注册 关于