7.1 MySQL 数据库连接
7.1.1 教学目标
数据可以存储在文件中,但是复杂的数据如果存储在文件中就必须对数据进行复杂的格
式化工作,要不然就分不清各个数据字段了。数据库时专门用来存储数据的系统,使用数据
库能自动格式化数据,能存储复杂的数据。教学目标是掌握 Python 操作数据库的方法,使
得程序能存储诸如学生的数据。
7.1.2 连接 MySQL 数据库
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle
旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是
最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用
了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开
放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
Python 没有自带对 MySQL 数据库的支持,必须另外安装。安装也很简单,进入 Python
的安装目录的 scripts 子目录,找到 pip.exe 文件执行:
pip install pumysql
就可以安装 pymysql 的驱动程序,在 Python 中就可以使用 import pymysql 引入这个模块
驱动 MySQL 数据库。
Python 连接 MySQL 数据库的方法如下:
con=
pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="123456",db="mydb",char
set="utf8")
其中 connect 是 pymysql 的连接函数,连接的数据库位于服务器 host 上,它可以是服务
器的 IP 地址或者服务器名称,这里是 127.0.0.1 的本地 MySQL 数据库。port=3306 是 MySQL
数据库的默认端口号。user,password 是 MySQL 中的一个用户名称与密码,其中 root 用户
是最高级用户。db="mydb"是 MySQL 数据库的数据库名称,在连接之前必须在 MySQL 中
建立名称为 mydb 的数据库。charset="utf8"表示文本数据采用 utf8 编码。
例 7-1-1:Python 连接 MySQL 的 MyDB 数据库
import pymysql
try:
con = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123456",
db="mydb", charset="utf8")
print("连接成功")
con.close()
except Exception as err:
print(err)
执行该程序,如果 MySQL 是正常开启的而且 pymysql 正确安装,那么可以看到“连接
成功”。
7.1.3 操作数据库