python库(7):pymysql库实现mysql操作

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

1 pymysql安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql

结果如下:

2 代码实例

2.1 创建到MySQL的数据库链接

from pymysql import Connection

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

# 打印Mysql数据库软件信息
print(conn.get_server_info())

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

结果如下:

2.2 执行语句

(1)执行非查询语句

from pymysql import Connection

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

#获取游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("db1")

# 使用游标对象,执行sql语句
cursor.execute("CREATE TABLE test_pymysql(id INT, info VARCHAR(255))")

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

结果如下:

(2)执行查询语句

from pymysql import Connection

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

#获取游标对象
cursor = conn.cursor()
conn.select_db("finebi_shop")

# 使用游标对象,执行sql语句
cursor.execute("select * from finebi_areas")

result: tuple = cursor.fetchall()
for r in result:
    print(r)

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

结果如下:

游标对象使用fetchall()方法,得到的是全部的查询结果,是一个元组

这个元组内部嵌套了元组,嵌套的元组就是一行查询结果

(3)执行插入语句

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

通过链接对象.commit() 即可确认此行为。

from pymysql import Connection

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

#获取游标对象
cursor = conn.cursor()
conn.select_db("db1")

# 使用游标对象,执行sql语句
cursor.execute("insert into test_pymysql values(1, '插入数据')")
# # 通过commit确认
conn.commit();

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

插入结果如下:

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

from pymysql import Connection

#获取到Mysql数据库的链接对象
conn = Connection(
    host = '192.168.222.156',  # 主机名(或IP地址)
    port = 3306,  # 端口,默认3306
    user = 'root',  # 账户名
    password = '123456',# 密码
    autocommit = True
)

#获取游标对象
cursor = conn.cursor()
conn.select_db("db1")

# 使用游标对象,执行sql语句
cursor.execute("insert into test_pymysql values(2, '插入数据')")
# # 通过commit确认
# conn.commit();

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

结果如下:

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不死鸟.亚历山大.狼崽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值