Python 极简教程(二十六)- 操作 Mysql 数据库

在实际使用 Python 的过程中,肯定会使用到Python 操作 mysql数据库。

首先要下载 PyMysql 库:

pip install PyMysql

安装好以后就可以在代码中进行引入了。

import pymysql

操作数据库的步骤如下:

  1. 通过 connect 函数连接对应的数据库
  2. 生成游标对象
  3. 以字符串形式组装SQL 语句
  4. 使用游标执行 SQL 语句
  5. 从游标中读取数据

以本机上的 ecshop 数据库为例:

'''
连接数据库,需要如下参数:
host:  数据库服务器地址,本机为localhost
port:  端口,默认为3306,注意必须是整数(不能加引号)
user:  数据库账号,如root
password: 密码,没有密码也必须要传值,传空字符串''即可 
db:  数据库名,这里是ecshop
cursorclass:游标返回的数据类型,默认为二维元组,
可以使用pymysql.cursors.DictCursor 改为字典形式
'''
import pymysql
# 建立连接
db = pymysql.connect(host='127.0.0.1',user='root',password='123456',db='ecshop')
# 有默认值的参数可以不用传参

# 生成游标
cur = db.cursor()

# 构造sql语句
sql = 'SELECT user_name, email FROM ecs_users'  # 查询账号和邮箱

# 使用游标执行sql语句
cur.excute(sql)
# 此时查询出的数据会保存在游标中

# 读取内容
# 一条一条读
print(cur.fetchone())
# ('nemo', 'asdf@1.com')
# 注意这是一个迭代器,下次再执行时
# 会读取下一条数据

# 读取全部
print(cur.fetchall())
# (('nemo', 'asdf@1.com'), ('nemo6', 'nemo5@2.com'))

# 记住关闭游标和数据库连接
cur.close()
db.close()

尝试:

  1. 还记得函数参数中参数收集的逆过程么?尝试实现connect(**db_config)
    注:db_config 是一个字典
  2. 把上面的数据库处理过程封装成一个函数 get_sql_data ,实现传入一个sql语句,然后返回该数据查询的所有结果。
sql =  'SELECT user_name, email FROM ecs_users'
print(get_sql_data(sql))
#  (('nemo', 'asdf@1.com'), ('nemo6', 'nemo5@2.com'))

注:使用异常处理,避免数据库操作过程出现异常导致,db.close() 不能正常执行。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值