教你Python中如何连接并使用MySQL数据库

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

你可能感兴趣的:(Python,mysql,数据库,python)