Python 连接 MySQL 数据库的教程

说在前面

在实际研发中,大多数应用基本离不开数据库的数据存储支持的,数据库也有很多,如 MySQL、SQL Server、Orcale等数据库,每个数据库都比较强大,企业会根据自身实际选择对应的数据库。MySQL 在开发中算是普遍使用的一种数据库,得到了很多企业和开发者的喜爱。

在 Python 开发中,如何连接数据库呢?今天就讲讲在 Python 开发中如何连接 MySQL 数据库。

安装 PyMySQL

PyMySQL 是 Python 开发语言用于连接 MySQL 数据库的客户端 SDK,目前最新版本是 pypmysql-0.9.3 ,基于 PEP 249 的 Python 数据库API规范。PEP 249 可以理解为 Python 社区的一个版本,PEP  (Python Enhancement Proposals) Python 增强改进建议。

以管理员权限打开 cmd 命令窗口,输入 pip install pymysql 开始安装,如图,表示安装完成。

在 PyCharm 中查看是否安装完成,如图,可以看到刚才安装的 PyMySQL 在解释器里显示出来了,表示 PyMySQL 安装完成。

执行  “ pip install pymysql”命令安装成功后,安装的位置在哪里呢?

在 cmd 中执行 pip 命令需要配置 Python 环境变量,所以在 cmd 执行的 pip 安装的库可以到 Python 安装目录下查看,具体位置 "F:\Python\Python38\Lib\site-packages",可根据你 Python 安装位置在 site-packages 文件夹下查看你安装的所有资源库。

使用 PyMySQL

安装完成后使用 import 语句导入 pymysql 包

import pymysql

创建数据连接,这里参数配置根据你数据库具体情况进行配置

# 连接数据库connection = pymysql.connect(host='localhost', user='root', password='123456', db='py_db', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

创建一张 “tb_user”表。先检查  tb_user 表是否存在,存在即 DROP ,删除数据库表和表中的数据。

# 如果存在 tb_user 表,则删除 cursor.execute("DROP TABLE IF EXISTS `tb_user`") sql = "CREATE TABLE tb_user(" \ "id int auto_increment primary key," \ "user_name varchar(50)," \ "user_pass varchar(50))" cursor.execute(sql) # 提交 connection.commit()

向 tb_user 表中插入一条数据。注意,插入一条数据后要记得 commit()。

# 插入一条数据sql = "INSERT INTO `tb_user` (`user_name`, `user_pass`) VALUES (%s, %s)"cursor.execute(sql, ('python', '0011000'))

# 提交数据connection.commit()

读取刚才插入的数据。

# 读数据sql = "SELECT `id`, `user_name` , `user_pass` FROM `tb_user` WHERE `user_pass`=%s"cursor.execute(sql, ('0011000',))result = cursor.fetchone()print(result)print(faker.name())

运行输出结果

在这过程中,有三点值得注意

1、connection.cursor() as cursor 是什么意思呢?Cursor 数据库游标,这里是在创建一个数据库游标,Cursor 就好比是客户端和数据库之间的一辆卡车,当客户端需要运送数据到数据库或向数据库获取数据时,在客户端和数据库之间相互传送。

2、SQL 语句的标点符号一定要对,不然会抛异常,运行不出结果。

如 “INSERT INTO `tb_user` (`user_name`, `user_pass`) VALUES (%s, %s)”,`tb_user` 标点符号是 ` 而不是  ' ,这里很容易出错,我最开始也在这里出错了。

3、运行完毕后记得 close,数据库连接数资源是比较宝贵的,你用了一直不 close 掉,会一直占用得不到释放。

整个过程流畅,代码清洁,看着赏心悦目。这就是 Python 的精彩,还记得 Java 连接数据库吧,好麻烦的流程,反正作者是越来越喜欢 Python 了。

感谢你的阅读,希望对你有所启发或帮助!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200425A00O2T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券