python 之利用Mysqldb进行解决 自动化解决多行查询,多行插入问题

coding=utf-8

import MySQLdb

class DB(object):

def __init__(self, ip, user, password, db_name):
    """连接数据库"""
    self.connection = MySQLdb.connect(ip, user, password, db_name)
    """获取游标"""
    self.cursor = self.connection.cursor()

def insert(self,sql):
    try:
        # sql = "insert into tb_name(user_account,login_pwd, user_name)values(%s,%s,%s)"
        """parameters类似数据库的二维数组多条数据插入用executemany,单行用excute"""
        params = [(1001,"dev",'123456','wwxdd','0','1',1,'2018-11-25-11-12-43'),(1002,"test","123456","cwxdd",'0','1',0,'2018-11-25-11-12-44')]
        self.cursor.executemany(sql, params)
        self.connection.commit()
    except SyntaxError as e:
        self.connection.rollback()
        print "语法错误"

def fetch_data(self, sql):
    try:
        # select * from tb_name  where id =101
        self.cursor.execute(sql) # 执行语句
        self.connection.commit() # 提交数据
    except SyntaxError:
        print "语法错误"
    else:
        # 获取单行数据
        data = self.cursor.fetchone()
        print data
        # 获取多行数据
        datas = self.cursor.fetchall()
        print datas

def close_db(self):
    self.connection.close()

if name == ‘main’:
db = DB(ip='192.168.229.128 ',user=‘root’,password=‘123456’,db_name=‘betadb’)
#db.fetch_data(sql=“select * from sys_user”)
#db.insert(sql = “insert into sys_user(id,user_account,login_pwd, user_name,user_status,record_status,update_count,create_date)values(%s,%s,%s,%s,%s,%s,%s,%s)”)
db.close_db()

这个Mysqldb使用格式化传value字段时有bug不建议使用,还是用pymysql吧建议,见我的FAQ:https://blog.csdn.net/chen498858336/article/category/8428685

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值