文章目录
前言
本次博客主要讲解通过pymysql
来操作数据库,以及Mysql数据库DDL和DML基础
前提
:安装pymysql
pip install pymysql
一、python操作Mysql数据库
1、创建数据库连接
主要是通过pymysql库中的Connection()来建立数据库的连接。
1.1、Connection()介绍
Connection()
方法是 pymysql
模块中用于创建与 MySQL 数据库的连接的工厂方法,它可以接受以下参数:
host
:MySQL 服务器的主机名,默认为"localhost"
。port
:MySQL 服务器的端口号,默认为3306
。user
:连接 MySQL 的用户名,默认为"root"
。password
:连接 MySQL 的密码,默认为None
。database
:需要连接的数据库,默认为None
。charset
:连接使用的字符集,默认为"utf8mb4"
。autocommit
:是否自动提交事务,默认为False
。local_infile
:是否启用本地数据文件加载,默认为False
。ssl
:是否启用 SSL 连接。可以是一个字典,其中可以包含以下键值对:ca
:指定 SSL CA 文件的路径。cert
:指定 SSL 证书的路径。key
:指定 SSL 私钥的路径。cipher
:指定 SSL 加密算法。ssl_version
:指定 SSL 协议版本。默认为 None,可以使用ssl.PROTOCOL_TLS
或ssl.PROTOCOL_SSLv23
。check_hostname
:是否检查 SSL 证书的主机名,默认为True
。
cursorclass
:返回的游标类型,默认为None
,表示返回普通游标对象。如果指定为pymysql.cursors.DictCursor
,则返回字典游标,可以通过列名访问数据。
不需要记,常用的也就那么几个,需要用到的时候查就可以了。
1.2、建立连接案例
from pymysql import Connection
# 获取到MySql数据库的链接对象
conn = Connection(
host = 'localhost', # 主机名(或IP地址)
port = 3306, # 端口,默认3306
user = 'root', # 账户名
password = '密码', # 密码
autocommit=True # 设置自动提交
)
# 打印MySQl数据库软件信息
print(conn.get_server_info())
# 关闭到数据库的链接
conn.close()
注意:
conn.close()
方法用于关闭数据库连接,释放关联的所有资源。当你使用完连接后,通常会调用该方法来关闭连接,以避免浪费计算机资源和数据库连接数。如果你不手动关闭连接,那么该连接可能会一直处于打开状态,直到达到连接池中的最大连接数,这可能会阻止其他用户访问数据库。
此外,当你执行了修改、插入或删除数据等操作后,如果没有调用 conn.commit()
方法来提交事务,那么在你关闭连接时,所有未提交的修改都将自动回滚,以确保数据的完整性和一致性。因此,即使你没有显式地调用 conn.commit()
方法,也应该在完成所有操作后调用 conn.close()
方法来关闭连接。
总之,调用 conn.close()
方法是一个良好的编程习惯,可以在代码中防止资源泄漏和潜在的数据一致性问题。
2、常用的操作
在 pymysql
中,Connection()
方法用于创建与 MySQL 数据库的连接,通过该连接可以调用一些常用的方法来执行 SQL 查询和操作。常用的方法包括:
cursor()
方法:创建游标对象,用于执行 SQL 查询和操作。commit()
方法:提交数据库的事务。rollback()
方法:回滚数据库的事务。select_db()
方法:选择当前连接的默认数据库。ping()
方法:测试与 MySQL 服务器的连接是否仍然活动。close()
方法:关闭数据库连接。
下面是使用这些方法的一些示例代码:
import pymysql
# 建立数据库连接
conn = pymysql.connect(host='localhost', user='root', password='password', database='example')
# 创建游标对象
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM customers")
# 获取查询结果
result = cursor.fetchall()<