• 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)
  • 相关阅读:
    009-LSTM网络-长短记忆网络
    008---递归神经网络-RNN
    007-卷积神经网络03-前向传播-反向传播
    006-卷积神经网络02-池化层,全连接层
    005-卷积神经网络01-卷积层
    004-神经网络
    003-神经网络基础-最优化,前向传播,反向传播
    002-神经网络基础-得分函数,SVM损失函数,正则化惩罚项,softmax函数,交叉熵损失函数
    001-神经网络基础-K近邻算法
    DBSCAN聚类算法
  • 原文地址:https://www.cnblogs.com/iruance/p/14353663.html
Copyright © 2020-2023  润新知