Python 数据库编程(Mysql)

目录

知识点

游标

提交事务

检索数据

回滚

关闭

增删改查

查询

新增

修改

删除

回滚的用法


知识点

游标

在Python中,数据库游标(cursor)是用于执行SQL语句并检索数据的对象。游标允许你在数据库中移动并操作数据。在使用Python进行数据库编程时,通常首先需要创建一个游标对象。这可以通过连接对象的cursor() 方法来实现

提交事务

在执行对数据库进行更改的操作后,需要调用连接对象的 commit() 方法来提交这些更改,它会生成一个connect对象,同时函数的参数也是固定好的,以确保它们被永久保存在数据库中

检索数据

执行SQL查询后,可以使用游标的 fetchall() ,fetchone() fetchmany() 方法检索查询结果

fetchall()用于从数据库游标中获取所有的查询结果行,并将其作为一个列表返回;通常用于对结果集不大的查询或者在确定结果集不会占用太多内存的情况下使用
fetchone()用于从数据库游标中获取下一行的查询结果;每次调用 fetchone(),游标会移动到结果集中的下一行,并返回该行的数据。如果到达结果集的末尾,fetchone() 将返回 None
fetchmany(size)用于从数据库游标中获取指定数量(size)的查询结果行,并将其作为一个列表返回;可以通过指定 size 参数来控制每次获取的行数,默认为游标的数组大小(arraysize)

回滚

在数据库操作中,"回滚"(Rollback)是指取消或撤销之前执行的一系列数据库操作,将数据库恢复到之前的状态。在 Python 中进行数据库查询的回滚通常涉及使用事务(Transaction)来管理数据库操作

关闭

关闭操作进行后,无法再进行操作,除非再次连接

# 关闭游标
cursor.close()

# 关闭连接
conn.close()

这些是在Python中使用游标进行数据库操作时的基本操作。游标允许你执行SQL语句、处理结果集,并确保在完成操作后正确提交事务和关闭连接


增删改查

首先我们要导入mysql相关的包,如果下面有红色下划线的话,需要我们进行安装,我这里是利用的PyCharm,点击Alt+Enter键,选择安装Mysql-connector-python模块

也可以通过pip install mysql-connector-python进行安装

mysql.connector.connect()

这是 MySQL 官方提供的用于建立数据库连接的函数。它接受一系列参数,包括数据库主机名(host)、用户名(user)、密码(password)、以及要连接的数据库(database)名称

之后我们就可以利用上面学习的内容,进行对数据库的增删改查

查询

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='root',
    password='123456',
    database='zzz'
)

# 创建一个游标
cursor = conn.cursor()

cursor.execute('select * from users')
rows = cursor.fetchall()
for row in rows:
    print(row)

cursor.close()
conn.close()

事先在zzz数据库里面添加了一条数据,之后利用sql语句进行查询,可以看到查询成功了

新增

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='root',
    password='123456',
    database='zzz'
)

cursor = conn.cursor()

# 插入语句
cursor.execute('insert into users(name,age,email) values(%s,%s,%s)', ("橙子味热果汁", 20, "12345678910"))

# 提交数据的更改
conn.commit()

cursor.close()
conn.close()

可以看到我们用sql语句新增了一条id为2的数据

修改

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='root',
    password='123456',
    database='zzz'
)

cursor = conn.cursor()

# 更改数据
cursor.execute("update users set age = 18 where id = 1")

conn.commit()

cursor.close()
conn.close()

可以看到,我们id为 1 的 age 中的数据由原来的20修改为了18

删除

import mysql.connector

conn = mysql.connector.connect(
    host='localhost',
    user='root',
    password='123456',
    database='zzz'
)

cursor = conn.cursor()

cursor.execute("delete from users where id = 2")

conn.commit()

cursor.close()
conn.close()

可以看到刚才我们新建id为2的数据被删除掉了

回滚的用法

import mysql.connector

try:
    # 连接到 MySQL 数据库
    conn = mysql.connector.connect(
        host='localhost',
        user='root',
        password='123456',
        database='zzz'
    )
    
    # 创建一个游标对象
    cursor = conn.cursor()
    
    # 开始事务
    conn.start_transaction()
    
    # 执行一系列数据库操作
    cursor.execute("INSERT INTO users (name, age, email) VALUES ('John', 30, '666')")
    cursor.execute("UPDATE users SET age = 31 WHERE name = 'John'")
    
    # 模拟发生错误,例如除零错误
    # 由于错误发生在事务中,因此可以回滚事务并撤销之前的操作
    1 / 0
    
    # 提交事务(如果没有发生错误)
    conn.commit()

except Exception as e:
    print("An error occurred:", e)
    
    # 回滚事务以撤销之前的操作
    conn.rollback()

finally:
    # 关闭游标和连接
    cursor.close()
    conn.close()

  • 25
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您讲解一下如何使用PythonMySQL来实现通讯录程序。 首先,需要安装MySQL数据库PythonMySQL驱动程序。在安装MySQL时,需要设置一个用户名和密码来访问数据库。在Python中,可以使用PyMySQLmysql-connector-python这两个库来连接MySQL数据库。 接下来,可以创建一个名为"contacts"的数据库,其中包含一个名为"person"的表,用于存储联系人的信息。表中可以包含姓名、电话号码、电子邮件地址等字段。 在Python中,可以使用MySQL的连接对象来连接数据库,然后使用游标对象来执行SQL查询和更新操作。以下是一个示例代码: ```python import pymysql # 连接MySQL数据库 conn = pymysql.connect(host='localhost', user='username', password='password', database='contacts') # 创建游标对象 cursor = conn.cursor() # 查询所有联系人 cursor.execute('SELECT * FROM person') contacts = cursor.fetchall() for contact in contacts: print(contact) # 插入新的联系人 name = input('请输入姓名:') phone = input('请输入电话号码:') email = input('请输入电子邮件地址:') cursor.execute('INSERT INTO person(name, phone, email) VALUES(%s, %s, %s)', (name, phone, email)) conn.commit() # 关闭游标和连接 cursor.close() conn.close() ``` 以上代码连接到名为"contacts"的数据库,查询并打印所有联系人的信息,然后插入一个新的联系人。注意,插入操作需要使用占位符来避免SQL注入攻击。 希望这个示例代码能够帮助您开始使用PythonMySQL开发通讯录程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值