zoukankan      html  css  js  c++  java
  • python对MySQL进行曾删改查

          通过 python 对MySQL数据库进行,查询、修改、插入、删除数据。

    我们可以把这些方法封装成一个工具类,这样需要用到对数据库增删改查,就直接调用工具类里面方法进行操作。

       这里用到pymysql 库;python利用这个库对MySQL做操作。前提是安装该库:pip install pymysql

    #封装成为一个工具类
    import pymysql
    
    class Dd_mysql():#定义一个连接数据库的类
        def __init__(self,host,user,password,db,port):#在构造函数里面传入连接数据库需要的参数
            ''' 连接数据库所需要的参数 '''
            self.host = host
            self.user = user
            self.password = password
            self.db = db
            self.port = port
    
    
        def connect_db(self):
            #创建一个数据库连接
            try:
                db=pymysql.connect(host=self.host,user=self.user,password=self.password,db=self.db,port=self.port)
                return db
            except Exception as e :
                print('连接失败',e)
    
        def select_one(self,sql):
            #封装查询第一行的方法
            try:
                db=self.connect_db()  #拿到一个连接数据库的对象
                cursor=db.cursor()    #创建一个游标对象(作用:执行sql语句,获取返回值)
                cursor.execute(sql)#通过游标执行sql语句;通过游标对象调用execute方法执行SQL语句、执行后的结果被保存到了cursor对象中
                db.commit()      # 再往数据库提交数据或者执行的请求
                one=cursor.fetchone()  #通过游标返回表中的一行数据;fetchall方法会返回所有数据
                return one
            except Exception as e:
                print(e)
                db.rollback()  #数据库的回滚、把数据库代码的操作返回到上一次操作的状态
    
        def delete_one(self,del_sql,sel_sql):
            #封装一个删除表中特定数据并且返回表中剩余数据的工具方法
            try:
                db=self.connect_db()
                cursor=db.cursor()
                cursor.execute(del_sql)     #删除
                cursor.execute(sel_sql)       #查询删除后表中剩余的数据
                db.commit()
                all=cursor.fetchall()#查询多条语句
                return all
            except Exception as e:
                print(e)
                db.rollback()
    
        #插入一条数据到数据库对应的表
        def insert_noe(self,ins_sql):
            try:
                db=self.connect_db()
                cursor=db.cursor()
                cursor.execute(ins_sql)
                # cursor.execute(sel_sql)
    
                db.commit()
                all=cursor.fetchone()
                # cursor.close()
                return all
            except Exception as e:
                print(e)
                db.rollback()
    
        def select_all(self,sql):
            #封装查询所有数据的方法
            try:
                db=self.connect_db()
                cursor=db.cursor()
                cursor.execute(sql)
                db.commit()
                all=cursor.fetchall()
                return all
            except Exception as e:
                print(e)
                db.rollback()
    
    if __name__ == '__main__':
        #实例化Dd_mysql类并传入参数
        db_mysql=Dd_mysql('192.168.31.103','root','123456','finance',3306)
    
        #通过实例对象调用select_one 查询方法
        # restul=db_mysql.select_one('select * from bei5;')
    
        #调用删除方法,删除后在调用查询语句,查询删除后的结果
        # restul=db_mysql.delete_one("delete from beifen where id=2;","select * from beifen;")
    
        #调用insert_noe 方法往表里插入数据
        db_mysql.insert_noe("insert into score3(s_id,score)values(2,334);")
        restul=db_mysql.insert_noe("select * from score3;")
        print(restul)
  • 相关阅读:
    Hadoop错误之namenode宕机的数据恢复
    Hadoop双namenode配置搭建(HA)
    Hadoop2之NameNode HA详解
    基于zookeeper的高可用Hadoop HA集群安装
    Spring Boot集成JPA的Column注解命名字段无效的问题
    Spring Boot使用Druid连接池基本配置
    Java设计模式六大原则之场景应用分析
    下半部和推后运行的工作
    SecureCRT连接linux,vim颜色显示问题
    Objective-C MacOS以管理员权限执行程序
  • 原文地址:https://www.cnblogs.com/iruance/p/14353663.html
Copyright © 2011-2022 走看看