@ 作者:达内 Python 教学部,吕泽
@ 编辑:博主,Discover304
:star2:pymysql模块
pymysql是一个第三方库,如果自己的计算机上没有可以在终端使用命令进行安装,$sudo pip3 install pymysql
。
pymysql使用流程
- 建立数据库连接:
db = pymysql.connect(...)
- 创建游标对象:
cur = db.cursor()
- 游标方法:
cur.execute("insert ....")
- 提交到数据库或者获取数据 :
db.commit() / cur.fetchall()
- 关闭游标对象 :
cur.close()
- 断开数据库连接 :
db.close()
:star:常用函数
- 链接数据库
1
2
3
4
5
6
7
8db = pymysql.connect(参数列表)
host :主机地址,本地 localhost
port :端口号,默认3306
user :用户名
password :密码
database :库
charset :编码方式,推荐使用 utf8 - 创建游标
1
2cur = db.cursor()
返回值:返回游标对象,用于执行具体SQL命令 - 执行SQL命令
1
2
3
4cur.execute(sql,args_list)
参数:
sql: sql语句
args_list: 列表,用于给sql语句传递参量 - 多次执行SQL命令,执行次数由列表中元组数量决定
1
2
3
4cur.executemany(sql命令,args_list)
参数:
sql: sql语句
args_list: 列表中包含元组 每个元组用于给sql语句传递参量,一般用于写操作。- 提交到数据库执行:
db.commit()
(必须支持事务操作才有效) - 回到原来的数据形态:
db.rollback()
(必须支持事务操作才有效)
- 提交到数据库执行:
- 获取查询结果集的第一条数据:
cur.fetchone()
。
- 查找到返回一个元组否则返回None
- 获取前n条查找到的记录:
cur.fetchmany(n)
- 返回结果为元组嵌套元组, ((记录1),(记录2)),查询不到内容返回空元组。
- 获取所有查找到的记录:
cur.fetchall()
- 返回结果形式同上。
- 关闭游标对象:
cur.close()
- 关闭数据库连接:
db.close()
:star:数据库文件存储
- 存储文件路径
- 优点:节省数据库空间,提取方便
- 缺点:文件或者数据库发生迁移会导致文件丢失(路径丢失,也就是说迷路了)
- 存储文件本身
- 优点:安全可靠,数据库在文件就在。就算数据库搬家了,数据也不会丢失。
- 缺点:占用数据库空间大,文件存取效率低