python基础学习-连接MySql数据库
安装pymysql,如果需要接入 MySQL 8,还需要安装一个名为cryptography的三方库来支持 MySQL 8 的密码认证方式。
pip install pymysql cryptographyb
使用pymysql操作 MySQL 的步骤如下所示:
- 创建连接。MySQL 服务器启动后,提供了基于 TCP (传输控制协议)的网络服务。我们可以通过
pymysql模块的connect函数连接 MySQL 服务器。在调用connect函数时,需要指定主机(host)、端口(port)、用户名(user)、口令(password)、数据库(database)、字符集(charset)等参数,该函数会返回一个Connection对象。 - 获取游标。连接 MySQL 服务器成功后,接下来要做的就是向数据库服务器发送 SQL 语句,MySQL 会执行接收到的 SQL 并将执行结果通过网络返回。要实现这项操作,需要先通过连接对象的
cursor方法获取游标(Cursor)对象。 - 发出 SQL。通过游标对象的
execute方法,我们可以向数据库发出 SQL 语句。 - 如果执行
insert、delete或update操作,需要根据实际情况提交或回滚事务。因为创建连接时,默认开启了事务环境,在操作完成后,需要使用连接对象的commit或rollback方法,实现事务的提交或回滚,rollback方法通常会放在异常捕获代码块except中。如果执行select操作,需要通过游标对象抓取查询的结果,对应的方法有三个,分别是:fetchone、fetchmany和fetchall。其中fetchone方法会抓取到一条记录,并以元组或字典的方式返回;fetchmany和fetchall方法会抓取到多条记录,以嵌套元组或列表装字典的方式返回。 - 关闭连接。在完成持久化操作后,请不要忘记关闭连接,释放外部资源。我们通常会在
finally代码块中使用连接对象的close方法来关闭连接import pymysql # 1. 创建连接(Connection) conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='student', charset='utf8mb4') try: # 2. 获取游标对象(Cursor) with conn.cursor() as cursor: # 3. 通过游标对象向数据库服务器发出SQL语句 cursor.execute('select * from students') # 4. 通过游标对象抓取数据 row = cursor.fetchone() while row: print(row) row = cursor.fetchone() except pymysql.MySQLError as err: print("数据库连接失败!!!") print(type(err), err) finally: # 5. 关闭连接释放资源 conn.close()

浙公网安备 33010602011771号