十一、Python与MySQL
掌握Python执行SQL语句操作MySQL数据库软件
1. pymysql
在Python中,使用第三方库:pymysql来完成对MySQL数据库的操作。
- 安装:
pip install pymysql
- 创建到MySQL的数据库链接对象:
conn = Connection(主机,端口,账户,密码)
- 关闭连接:
conn.close()
- 执行sql语句:
- 通过链接对象获得游标对象:
cursor = conn.cursor()
-
cursor.execute()
执行SQL语句 -
cursor.fetchall()
得到全部的查询结果封装入元组内
- 案例:
from pymysql import Connection
# 获取到MysQL数据库的链接对象
conn = Connection(
host='localhost', # 主机名(或IP地址)
port=3306, # 端口号,默认3306
user='root', # 账户名
password='pas', # 密码
# 如果不想手动commit确认,可以在构建链接对象的时候,设置自动commit的属性。
autocommit=True # 设置自动提交
)
# 打印数据库链接对象
print(conn.get_server_info())
# 创建游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db('test')
# 执行sql语句
cursor.execute('create table test_pysql(id int)') # 非查询sql语句
cursor.execute('select * from city') # 查询sql语句
# 获取查询结果 元组类型,内部嵌套元组,嵌套的元组就是一行查询结果
result: tuple = cursor.fetchall()
print(result)
for r in result:
print(r)
cursor.execute("insert into test_pysql values(4080)")
# 提交修改
conn.commit()
# 关闭数据库连接
conn.close()
- 注意:
- 游标对象使用fetchall()方法,得到的是全部的查询结果,是一个元组
- 这个元组内部嵌套了元组,嵌套的元组就是一行查询结果
- pymysql在执行数据插入或其它产生数据更改的SQL语句时,默认是需要提交更改的:
conn.commit()