1.1初识Pymysql
Pymysql:是封装了mysql驱动的Python驱动,一个能使Python连接MySQL的库。
?
环境要求:Python version >= 3.4
?
两种连接数据库的方法:PYMYSQL 和 mysql.connector
1.2 Pymysql的安装
Win键+X键在按I键,调出Windwows PowerShell 窗口,输入 pip install PyMysq
回车 ,然后出现下图则安装成功。
1.3 查看版本
pip install PyMysql 然后回车 如下图所示:
步骤:
1.连接数据库
2.生成游标对象
3.执行sql语句
4.关闭游标
5.关闭连接
(
import pymysql
#连接数据库
conn=pymysql.connect(host = ‘127.0.0.1‘ # 连接名称,默认127.0.0.1
host=‘localhost‘
user = ‘root‘ # 用户名
passwd=‘password‘ # 密码
port= 3306 # 端口,默认为3306
db=‘test‘ # 数据库名称
charset=‘utf8‘ # 字符编码
)
cur = conn.cursor() # 生成游标对象
sql="select * from `student` " # SQL语句
cur.execute(sql) # 执行SQL语句
data = cur.fetchall() # 通过fetchall方法获得数据
for i in data[:2]: # 打印输出前2条数据
print (i)
cur.close() # 关闭游标
conn.close() # 关闭连接
2.1 对数据库的增删改查
import pymysql
?
# username : adil
# password : helloyyj
?
?
class DataBaseHandle(object):
‘‘‘ 定义一个 MySQL 操作类‘‘‘
?
def __init__(self, host, username, password, database, port):
‘‘‘初始化数据库信息并创建数据库连接‘‘‘
# 下面的赋值其实可以省略,connect 时 直接使用形参即可
self.host = host
self.username = username
self.password = password
self.database = database
self.port = port
self.db = pymysql.connect(
host=self.host,
user=self.username,
password=self.password,
db=self.database,
port=self.port,
charset="utf8"
?
)
self.cursor = self.db.cursor(pymysql.cursors.DictCursor)
?
?
?
def insertDB(self, sql):
‘‘‘ 插入数据库操作 ‘‘‘
?
?
try:
# 执行sql
self.cursor.execute(sql)
?
# tt = self.cursor.execute(sql) # 返回 插入数据 条数 可以根据 返回值 判定处理结果
# print(tt)
self.db.commit()
?
# query = ‘insert into 表名(列名1, 列名2, 列名3, 列名4, 列名5, 列名6) values(%s, %s, %s, %s, %s, %s)‘
# self.cursor.execute(sql)
?
except:
# 发生错误时回滚
self.db.rollback()
finally:
self.cursor.close()
?
def deleteDB(self, sql):
‘‘‘ 操作数据库数据删除 ‘‘‘
?
try:
# 执行sql
self.cursor.execute(sql)
# tt = self.cursor.execute(sql) # 返回 删除数据 条数 可以根据 返回值 判定处理结果
# print(tt)
self.db.commit()
except:
# 发生错误时回滚
self.db.rollback()
finally:
self.cursor.close()
?
def updateDb(self, sql):
‘‘‘ 更新数据库操作 ‘‘‘
?
try:
# 执行sql
self.cursor.execute(sql)
# tt = self.cursor.execute(sql) # 返回 更新数据 条数 可以根据 返回值 判定处理结果
# print(tt)
except:
# 发生错误时回滚
self.db.rollback()
finally:
self.cursor.close()
?
def selectDb(self, sql):
‘‘‘ 数据库查询 ‘‘‘
?
try: