十一、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()