Python--操作MySQL数据库

一、流程:

1、先在本地数据库新建连接,创建一个数据库名叫mysql

2、在mysql数据库中,新建一个表叫student

3、然后根据主机名、用户名、密码、数据库名进行连接

4、操作流程:使用connect()打开数据库连接--使用cursor()获取游标--使用execute()执行sql语句--使用close()关闭数据库连接

注意:增删改操作时,执行完sql语句后,需要提交到数据库执行 使用commit()

二、我创建的数据库:

三、数据库操作

1、查找数据

连接数据库时,用connect("主机名或IP地址", "用户名", "密码", "数据库名", charset='utf8')

import MySQLdb

    # 查找数据
    def database1():
        # 打开数据库连接   connect("主机名或IP地址", "用户名", "密码", "数据库名", charset='utf8')
        db = MySQLdb.connect("localhost", "root", "123456", "mysql", charset='utf8')
        
        # 使用cursor()方法获取操作游标
        cursor = db.cursor()
        
        # 使用execute方法执行SQL语句
        cursor.execute("select * from student")
        
        # 使用 fetchall() 接收全部的返回结果行
        data = cursor.fetchall()  
        print(data)
        
        # 关闭数据库连接
        db.close() 


if __name__ == "__main__":
    database1()

2、更新数据

import MySQLdb

    # 更新数据
    def database2():
        db = MySQLdb.connect("localhost", "root", "123456", "mysql", charset='utf8')
        cursor = db.cursor()
        try:
            cursor.execute("update student set age='21' where id='1001'")
            db.commit()  # 提交到数据库执行
            print("更新数据成功")
        except:
            db.rollback()  # 发生错误时回滚
        db.close()


if __name__ == "__main__":
    database2()

四、执行事务
事务机制可以确保数据一致性。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

  • 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
  • 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
  • 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  • 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Python DB API 2.0 的事务提供了两个方法 commit 或 rollback。
对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。
commit()方法游标的所有更新操作,rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。

猜你喜欢

转载自blog.csdn.net/yuan_ahui/article/details/126073931