Python操作MySQL(十一)

举报
观止study 发表于 2023/05/31 16:36:37 2023/05/31
【摘要】 一.安装第三方库在Python中,通过使用第三方库:pymysql,完成对MySQL数据库的操作。安装指令:pip install pymysql 二.在Python中使用 (1) 基本使用导包-》建立连接-》进行xx操作-》关闭连接:# 1.导入操作包from pymysql import Connection# 2.获取到MySQL数据库的连接对象conn = Connection( ...

一.安装第三方库

在Python中,通过使用第三方库:pymysql,完成对MySQL数据库的操作。

  • 安装指令:
pip install pymysql

二.在Python中使用

(1) 基本使用

  • 导包-》建立连接-》进行xx操作-》关闭连接:
# 1.导入操作包
from pymysql import Connection

# 2.获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root'  # MySQL密码
)

# 打印MySQL版本信息
print(conn.get_server_info())

# 3.关闭到数据库的连接
conn.close()

(2) 执行建表SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root'  # MySQL密码
)

"""
执行非查询性质SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行建表sql语句
cursor.execute("CREATE TABLE tb_user(id INT,name VARCHAR(8),age int)")

# 关闭到数据库的连接
conn.close()

(3) 执行查询SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》获取查询数据,执行xx操作-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root'  # MySQL密码
)

"""
执行查询性质SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("SELECT * FROM tb_user")
# 获取查询结果,返回元组对象
results: tuple = cursor.fetchall()
for result in results:
    print(result)

# 关闭到数据库的连接
conn.close()

(4) 执行插入SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》提交行为-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root',  # MySQL密码
    autocommit=True  # 设置自动提交(commit)
)

"""
执行插入SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("Insert into tb_user values(1,'hhy','250')")
# 确认插入行为
# 如果在获取连接对象时设置自动提交可以不用再写。
conn.commit()

# 关闭到数据库的连接
conn.close()

(5) 执行修改SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》提交行为-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root',  # MySQL密码
    autocommit=True  # 设置自动提交(commit)
)

"""
执行修改SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("UPDATE tb_user set username='hhy' where username = 'fsp'")
# 确认修改行为
# 如果在获取连接对象时设置自动提交可以不用再写。
conn.commit()

# 关闭到数据库的连接
conn.close()

(6) 执行删除SQL

  • 导包-》建立连接-》获取游标对象-》选择数据库-》执行相应sql-》提交行为-》关闭连接:
from pymysql import Connection

# 获取到MySQL数据库的连接对象
conn = Connection(
    host='localhost',  # 主机名或IP地址
    port=3306,  # 端口号,默认3306
    user='root',  # MySQL账号
    password='root',  # MySQL密码
    autocommit=True  # 设置自动提交(commit)
)


"""
执行删除SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db1")
# 使用游标对象,执行sql语句
cursor.execute("DELETE from tb_user WHERE username = 'hhy'")
# 确认删除行为
# 如果在获取连接对象时设置自动提交可以不用再写。
conn.commit()

# 关闭到数据库的连接
conn.close()

(7) 小结

  • pymysql在执行数据插入其它产生数据更改的SQL语句时,默认是需要提交更改的,即,需要通过代码“确认”这种更改行为。

  • 如果不想手动commit确认,可以在构建连接对象的时候,设置自动commit的属性。

  • 查询后,使用游标对象.fetchall()可得到全部的查询结果封装入嵌套元组内

  • 可使用游标对象.execute()执行SQL语句

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。