Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我需要关于使用python mysql数据库对象的建议。

我需要关于使用python mysql数据库对象的建议。
EN

Stack Overflow用户
提问于 2017-03-05 18:50:59
回答 4查看 1.1K关注 0票数 1

正如标题所述,我需要一些Python和MySQL方面的帮助。我目前正在进一步学习Python,我正在努力将Python和MySQL用于数据库设计、开发、管理和应用程序。

我对MySQL比较熟悉,对Python语言也比较熟悉。目前,我正在从事面向对象的编程,我正在尝试在数据库类中建立数据库连接,然后使用该类来创建、更新、删除和读取数据。

我创建了一个新的Python对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pymysql as MySQL

class Database(object):
    Host = "127.0.0.1"
    Database = "****"
    user = "****"
    password = "****"

@staticmethod
def initialize():
    currentdb = MySQL.connect(Database.Host, Database.user, Database.password, Database.Database)
    cursor = currentdb.cursor()

@staticmethod
def insert(Table, DataDict):
    placeholders = ", ".join(["%s"] * len(DataDict))
    columns = ", ".join(DataDict.keys())
    sql = "INSERT INTO %s (%s) VALUES (%s)"%(Table, columns, placeholders)
    cursor.execute(sql, DataDict.values())

我想知道,如何在对象中使用光标?我不知道我目前的方法是否接近应该如何处理它,我真的不确定。

可以这样初始化游标,然后像我在上面的摘录中打算做的那样在对象中进一步使用游标吗?

任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

发布于 2017-03-05 19:09:59

使用游标的正确方法如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import contextlib

def doSomething():
   with contextlib.closing(database.cursor()) as cursor:
     cursor.execute(...)
   # At the end of the `with` statement, cursor is closed

不要让光标打开太长时间。就像您所做的那样,长时间地保持连接打开是很好的。另外,请阅读事务控制。

如果您要执行大量的DB操作,请考虑使用SQLAlchemyPony ORM之类的库。

票数 0
EN

Stack Overflow用户

发布于 2017-03-05 19:14:41

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import contextlib

def doSomething():
   with contextlib.closing(database.cursor()) as cursor:
     cursor.execute(...)

db SQLAlchemy或Pony ORM的库。

票数 0
EN

Stack Overflow用户

发布于 2017-03-05 19:19:20

查看以下代码。我将initialize()中的内容添加到标准的python类init方法中,并使用不同类型的参数初始化数据库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pymysql as MySQL

class Database(object):

  def __init__(self, host, db, user, pw):
      self.currentdb = MySQL.connect(Database.host, user, pw, db)

  def insert(self, Table, DataDict):
      placeholders = ", ".join(["%s"] * len(DataDict))
      columns = ", ".join(DataDict.keys())
      sql = "INSERT INTO %s (%s) VALUES (%s)"%(Table, columns, placeholders)

      with self.currentdb.cursor() as db_cursor:
         db_cursor.execute(sql, DataDict.values())  

一旦你在这里,然后你可以初始化一个数据库对象,如下所示,并插入数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
my_db = Database(host="127.0.0.1", user="****", pw="****", db="****")
my_db.insert('table_name', data_dict)

请注意,我没有修改你的代码,只是根据你最初的帖子展示了一个可以工作的组织。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42612522

复制
相关文章
关于Mysql数据库索引你需要知道的内容
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
木姜子科技
2021/11/12
1.4K0
关于云开发数据库的使用经验和建议
开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。
腾讯云开发TCB
2021/04/22
8100
关于云开发数据库的使用经验和建议
关于mysql数据库使用innoDB引擎产生的死锁
在继我上一次一条select语句导致数据库飙升,到这一次一条select 语句导致数据库直接挂掉(当然这一次并不是我做的,绩效自动降一级)一直想了解到底是怎么回事,这几天开始看mysql内幕,个人感觉很不错的一本书。 在此我大概描述一下innoDB 中的锁: 标准的行级锁 1. X锁 (排他锁)允许事物读一行数据 2. S锁 (共享锁)允许事物更改或更新一行数据 当有一条数据事T1 读取会加上一个S锁,当另一个事物也想获取S锁进行读取是允许的,因为读取是对数据没有改变的。但是如果有一个事物T3要对数据进行UPdate 这个时候他需要一个S锁,由于他要更改这个数据所以说他需要等待X锁释放掉 也就是说等查询事物走完了才可以执行X锁的这个事物 在innoDB 中还有一个表级锁那就是intention lock,意向锁 IX (意向排他锁): 当有一个事物想要获取行级锁的X锁的时候,那你就必须要先获取一个IX锁 表明你接下来想要去获取X锁。 IS (意向共享锁):同上当你需要获取行级别的S锁,那么你就得先去表级别获取IS锁 关于锁之间的兼容关系
袁新栋-jeff.yuan
2020/08/26
1.1K0
关于mysql数据库使用innoDB引擎产生的死锁
使用pycharm连接MySQL数据库的方法「建议收藏」
首先进入到mysql中,点击最右边的database,再点击绿色的+号选择添加MySQL数据库
全栈程序员站长
2022/09/27
1.8K0
使用pycharm连接MySQL数据库的方法「建议收藏」
关于 python 的缩进「建议收藏」
python 对缩进是敏感的,而大多教程对缩进规则,往往就几句话带过,对于没有其他语言基础的初学者,十分不友好,本文就把python常见的缩进问题做了一些整理。
全栈程序员站长
2022/08/02
1.6K0
关于 python 的缩进「建议收藏」
关于abiFilters的使用「建议收藏」
最近项目中遇到了要使用opencv的情况,涉及到了abi兼容的选择。因为如果全部都适配的话,包很大,这样兼容那些用户数极少的cpu就很不划算,所以我只适配了armeabi-v7a这一个。但是今天在x64-v8a的模拟器上看的时候,提示我的library.so文件找不到,我记得这个应该是向下兼容的,但是出现这种情况很奇怪,于是我就在网上找了找答案。
全栈程序员站长
2022/08/31
1.2K0
关于mysql,我做了个总结!
mysql的索引类型主要分为聚集索引和非聚集索引,通过聚集索引可以获取到整行数据,而通过非聚集索引只能获得主键id和当前字段。当我们要查询的字段就是非聚集索引叶子含有的字段(primary key + field),那么就不需要回表查询更多的字段,这就是覆盖索引。
用户8851537
2021/09/17
4450
MySQL数据库对象与应用-MySQL数据库对象单元测验
这是微专业参加单元测试后的试题及答案整理,分享出来,供大家参考,所有标红的为答案。
WindCoder
2018/09/20
1.6K0
MySQL数据库对象与应用-MySQL数据库对象单元测验
关于数据库分片我们需要知道的
应用程序日益优化,功能增多,用户活跃度提高,每天产生的数据也在持续增长。然而,数据库的问题已经拖慢了应用的其他部分。在这篇文章中,我们将探讨数据库分片这一可能的解决方案,理解它是什么,如何运作,以及在什么情况下使用它是最佳选择。
遥遥知识库
2023/10/25
4810
关于数据库分片我们需要知道的
关于so文件你需要知道的知识「建议收藏」
Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。
全栈程序员站长
2022/10/02
2.9K0
python-Python与MySQL数据库-使用Python执行MySQL查询
Python是一种非常流行的编程语言,因为它易于学习、使用,并且具有广泛的应用领域。在数据库编程方面,Python可以很容易地与各种数据库进行交互,其中包括MySQL数据库。
玖叁叁
2023/04/22
1.3K0
关于MySQL数据库约束
数据库约束:      约束是在表上强制执行的数据校验规则,主要用于保证数据库里数据的完整性。      除此之外,当表中的数据存在相互依赖性时,可以保证相关的数据不被删除。
星哥玩云
2022/08/16
9810
关于MySQL数据库的备份方案
分享点自己近4年来接触MySQL数据备份这一块的小经验。数据是一个互联网公司的命脉,数据库的安全以及备案的完整性是至关重要的,所以我们需要在工作中要很熟练的掌握数据的备份与恢复,这也是一个合格的运维DBA必须具有的职业技能。
星哥玩云
2022/08/16
3.2K0
python关于Mysql操作
下载地址:http://dev.mysql.com/downloads/mysql/
py3study
2020/01/13
5220
我为什么不建议你使用Python3.7.3?
之前使用Python的环境一直是Python3.7.3的,一直使用的很正常,没有什么毛病,直到最近做一个图片下载器的时候发现了问题。
云爬虫技术研究笔记
2019/11/05
2.1K0
我为什么不建议你使用Python3.7.3?
使用SpringBoot连接MySQL数据库,快速上手「建议收藏」
学习Springboot包括学习springboot连接数据库,下面将简单介绍如何利用springboot简单建立与MySQL数据的连接并且从中读取数据。
全栈程序员站长
2022/09/12
30.5K0
使用SpringBoot连接MySQL数据库,快速上手「建议收藏」
如何使用python连接MySQL数据库?
该笔记参考了PyMySQL官方文档和《python数据采集》关于数据存储的部分,欢迎大家去阅读原著,相信会理解的更加透彻。
朱卫军 AI Python
2022/04/02
10.1K0
如何使用python操作MySQL数据库
在这篇文章中,我们将详细介绍如何在Python中使用pymysql模块来操作MySQL数据库。pymysql是一个在Python程序中用来连接MySQL服务器并进行相关操作的库,它提供了丰富的API接口,可以满足各种操作MySQL数据库的需求。
子午Python
2023/07/26
3640
如何使用Python备份MySQL数据库?
保护 MySQL 数据库的完整性和可恢复性对于降低与数据丢失和损坏相关的风险至关重要。Python是一种多功能编程语言,提供了无数的库和技术,用于与MySQL数据库的无缝交互并完成高效的备份过程。本文深入探讨了使用 Python 创建 MySQL 数据库备份的三种不同方法,包括子进程模块的使用、mysqldump 命令与 pymysql 库的集成,以及利用 MySQL 连接器/Python 库的强大功能。通过实际示例,我们将深入研究这些技术的复杂性。
很酷的站长
2023/08/11
7090
如何使用Python备份MySQL数据库?
Python 关于面向对象的 6 个问题
2、Python 如何定义 公有/保护/私有 属性/方法?私有是否是真正的私有,这样做的目的是什么?
somenzz
2022/04/07
5590

相似问题

需要关于数据库结构的建议(MySQL/ MySQL)

30

我需要关于PHP/MySQL架构的建议

21

我需要一些关于mysql的建议

14

我需要关于数据库问题的建议

50

我需要关于构建mongoDB数据库的建议

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文