python 读/写查询 mysql 数据库
我的免费云服务器,阿贝云数据库操作方法
一、pymysql简介pymysql是一个纯Python编写的MySQL客户端库,用于连接和操作MySQL数据库。它实现了Python DB API v2.0规范,提供了与MySQL服务器进行通信所需的所有基本功能。通过pymysql,开发者可以执行SQL查询、插入数据、更新数据、删除数据以及进行事务管理等操作。
二、基本用法安装pymysql:使用pip可以轻松安装pymysql:pip install pymysql建立连接:使用pymysql.connect()方法建立与MySQL数据库的连接。需要提供主机名、端口号、用户名、密码以及数据库名等参数。import pymysqlconn = pymysql.connect(host=‘localhost’, port=3306, user=‘root’, password=‘password’, database=‘testdb’)创建游标:与sqlite3类似,pymysql也使用游标来执行SQL语句和获取结果。通过连接对象的cursor()方法可以创建一个游标。cursor = conn.cursor()执行SQL语句:使用游标的execute()方法可以执行SQL语句。对于查询语句,可以使用fetchone()、fetchmany()或fetchall()方法来获取结果。cursor.execute(“SELECT * FROM users WHERE age > %s”, (25,))rows = cursor.fetchall()for row in rows: print(row)注意:在pymysql中,使用%s作为占位符,而不是?。这与一些其他数据库库略有不同。5. 提交事务:对于修改数据的操作(如INSERT、UPDATE、DELETE),需要使用连接对象的commit()方法提交事务。conn.commit()关闭连接:完成所有数据库操作后,应该关闭游标和连接。可以使用close()方法或Python的with语句来自动关闭它们。cursor.close()conn.close()或者使用with语句:with pymysql.connect(host=‘localhost’, port=3306, user=‘root’, password=‘password’, database=‘testdb’) as conn: with conn.cursor() as cursor: # 执行数据库操作… # 在这里不需要显式关闭游标和连接,with语句会自动处理
下一篇: Go语言网络编程实战指南(第三部分)
推荐阅读
-
用 Python 爬虫抓取东方财富网股票数据并实现 MySQL 数据库存储(重印)
-
数据库约束 | 表设计 | 聚合查询 | 联合查询 - MySQL 精细化库
-
python 3.6 使用数据库连接池工具包封装代码工具包-1.mysql 数据库连接配置类 dbconfig.py
-
什么是数据库事物?为什么需要数据库事物,事物有哪些特征?事物的隔离级别是什么?-1.什么是数据库事务? 1.事务是作为一个逻辑单元执行的一系列操作。一个逻辑工作单元必须具备四个属性,即ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为事务: 原子性 2.事务必须是一个原子工作单元;它的数据修改要么全部执行,要么全部不执行。 一致性 3.事务完成时,所有数据必须保持一致。在相关数据库中,所有规则都必须适用于事务的修改,以保持所有数据的完整性。事务结束时,所有内部数据结构(如 B 树索引或双向链接表)必须正确无误。 隔离 4.并发事务的修改必须与其他并发事务的修改隔离。一个事务会在另一个并发事务修改之前或之后查看某一状态下的数据,而不会查看中间状态下的数据。这就是所谓的可序列化,因为它允许重新加载起始数据和重放一系列事务,从而使数据最终处于与原始事务执行时相同的状态。 持久性 5.事务完成后,它对系统的影响是永久性的。即使在系统发生故障的情况下,修改也会保留。 2. 为什么需要数据库事物,事物有哪些特征? 事物对数据库的作用是对数据进行一系列操作,要么全部成功,要么全部失败,防止出现中间状态,确保数据库中的数据始终处于正确、和谐的状态。 特征:原子性、一致性、隔离性、持久性,以及其他特征 原子性(Atomicity):所有操作在事务开始后,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出现错误时,会回滚到事务开始前的状态,所有操作就像没有发生一样。也就是说,事务是一个不可分割的整体,就像化学中的原子一样,是物质的基本单位。 一致性(Consistency):在事务开始之前和结束之后,数据库的完整性约束都没有被破坏。例如,如果 A 转钱给 B,A 不可能扣除这笔钱,但 B 却没有收到这笔钱。 隔离:在同一时间内,只允许一个事务请求相同的数据,不同事务之间没有干扰。例如,甲正在从一张银行卡上取款,在甲取款过程结束之前,乙不能向这张卡转账。 持久性(耐用性):事务完成后,事务对数据库的所有更新都将保存到数据库中,无法回滚 3.事务的隔离级别有哪些? 数据库事务有四种隔离级别,从低到高分别是未提交读取(Read uncommitted)、已提交读取(Read committed)、可重复读取(Repeatable read)、可序列化(Serializable)。此外,事务的并发操作中可能会出现脏读、不可重复读、幽灵读等情况。事务并发问题 脏读:事务 A 读取事务 B 更新的数据,然后事务 B 回滚操作,那么事务 A 读取的数据就是脏数据。 不可重复读取:事务 A 多次读取同一数据,事务 B 在事务 A 多次读取期间更新并提交数据,导致事务 A 多次读取同一数据时结果不一致。 幻影读取:系统管理员 A 将数据库中所有学生的具体分数改为 ABCDE 等级,但系统管理员 B 在此时插入了具体分数的记录,当系统管理员 A 更改结束后发现仍有一条记录未被更改,仿佛发生了幻觉,这称为幻影读取。 小结:不可重复读和幻读容易混淆,不可重复读侧重于修改,幻读侧重于增删。解决不可重复读问题只需锁定满足条件的行,解决幻读问题则需要锁定表 MySQL 事务隔离级别
-
带你完全了解 python 操作 mysql 数据库(游标游标解释)
-
数据库面试要点:关于MySQL数据库的1000万次数据查询和存储
-
Qt mysql 数据库表的添加、删除、修改和查询操作
-
读/改/写 xml 文件操作的 Python 实现示例
-
java 使用 jdbc 查询 mysql 数据库时怎么也查不出来,但直接在 mysql 中可以查到
-
mysql 查询以指定数字开头的数据 数据库查询以某个单词开头的数据