python连接mysql_Python连接MySQL的多种姿势

点击上方“” 

选择“星标”公众号

每天早上8:30,一起实现自我增值

尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有必要学好一门数据库,不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,本篇文章介绍 Python 操作 MySQL 的几种方式,你可以在实际开发过程中根据实际情况合理选择。01

mysqlclient

目前有两种主流的安装方式,其中一种方式可以在网站找到对应的whl包下载安装。https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

5d92667dc2da15a2067a3669f5f61c70.png

在cmd命令行中进入安装文件所在路径运行命令:

# Windows安装pip install mysqlclient 1.4.4 cp37 cp37m win_amd64.whl

另外一种方式是直接调用cmd命令:

# Windows安装pip install mysqlclient

python 操作mysql数据库基础

import MySQLdbdb = MySQLdb.connect( host="localhost", # 主机名 user="root", # 用户名 passwd="password", # 密码 db="db") # 数据库名称# 查询前,必须先获取游标cursor = db.cursor()# 执行的都是原生SQL语句cursor.execute("SELECT * FROM TABLE_NAME")for row in cursor.fetchall():    print(row[0])

02 PyMySQL PyMySQL 是纯 Python 实现的驱动,速度上比不上MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQL-python。
pip install PyMySQL# 为了兼容mysqldb,只需要加入pymysql.install_as_MySQLdb()
import pymysqlconn = pymysql.connect(     host="localhost",    # 主机名     user="root",         # 用户名     passwd="password",  # 密码     db="db")        # 数据库名称# 查询前,必须先获取游标cursor = conn.cursor()# 执行的都是原生SQL语句cursor.execute("SELECT * FROM TABLE_NAME")data = cursor.fetchone()cursor.close()conn.close()
03 peewee 写原生 SQL 的过程非常繁琐,代码重复,没有面向对象思维,继而诞生了很多封装 wrapper 包和 ORM 框架,ORM 是 Python 对象与数据库关系表的一种映射关系,有了 ORM 你不再需要写 SQL 语句。 提高了写代码的速度,同时兼容多种数据库系统,如sqlite, mysql、postgresql,付出的代价可能就是性能上的一些损失。 如果你对 Django 自带的 ORM 熟悉的话,那么 peewee的学习成本几乎为零。 它是 Python 中是最流行的 ORM 框架。
pip install peewee
import peeweedb = peewee. MySQLDatabase (     host="localhost",    # 主机名     user="root",         # 用户名     passwd="password",  # 密码     database="db")        # 数据库名称# 定义一个类继承peewee.Model创建表,一个类就是一个表class School(peewee.Model):    # 定义两个字段,学校名称和地址    name = peewee.CharField()    address = peewee.CharField()# 将表和数据库连接    class Meta:        database = dbif __name__ == '__main__':       # 创建表,多个表用列表    School.create_table()
04

SQLAlchemy

如果想找一种既支持原生 SQL,又支持 ORM 的工具,那么 SQLAlchemy 是最好的选择,它非常接近 Java 中的 Hibernate 框架。

首先需要安装mysql模块:进入cmd命令行,执行

pip install mysql

其次才可安装sqlalchemy:进入cmd命令行,执行

pip install SQLAlchemy
from sqlalchemy import create_engine# 得到连接对象 # 参数:mysql+pymysql://用户名:密码@地址/数据库名conn = create_engine("mysql+pymysql://root:password@localhost/db")# 查询resselect = conn.execute("SELECT * FROM TABLE_NAME")# 输出列表数据 print(resselect.fetchall())# 插入,输出影响行数resinsert=conn.execute("insert into TABLE_NAME(namex,sex) values('%s','%s')"%("苏子涵","F")).rowcount print(resinsert)
现在差不多搞明白了这几种数据库驱动的优劣,接下来你就可以选择其中的一个进行系统的学习再把它应用到项目中去了,不懂的可以在研习社咨询。

全文完,感谢您的耐心阅读

请顺手点个“在看”吧~

▼ 往期精彩回顾 ▼

ffb915c3a4c17118069104377f51a0ca.png

0f3ef451abdefb25bda0bd17e4bdc9e4.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值