0
点赞
收藏
分享

微信扫一扫

Python文件操作,数据库操作具体案例

丹柯yx 2022-03-12 阅读 51

1. 新建目录

def mkdir(self,path,dir_name):
        '''
        新建目录,如果存在则不做操作,不存在则新建
        :param path:
        :param dir_name:
        :return:
        '''
        assert os.path.exists(path) is True, '路径错误'
        if os.path.exists(path + '\\' + dir_name):
            pass
        else:
            os.mkdir(path + '\\' + dir_name)

2. 数据库查询

def mysql_query(self,database,sql):
        '''
        数据库查询
        :param Db: 连接名, db_info.py查看、添加
        :param sql: sql查询语句
        :return:
        '''
        db,cur = self.db_connect(database)
        try:
            cur.execute(sql.encode('utf8'))
            res = cur.fetchall()
        except Exception as err:
            print('Mysql查询错误:',err)
        finally:
            self.db_cur_close(db,cur)
        return res
        
def mysql_execute(self,database,sql):
        '''
        数据执行sql语句,新增、修改、删除使用
        :param Db: 连接名, db_info.py查看、添加
        :param sql: sql执行语句
        '''
        db,cur = self.db_connect(database)
        try:
            cur.execute(sql.encode('utf8'))
            db.commit() # 在数据库学习过程中,了解到对数据库的修改操作需要执行commit()方法,否则修改不生效
        except Exception as err:
            print('Mysql执行错误:',err)
            db.rollback()
        finally:
            self.db_cur_close(db,cur)

    def db_cur_close(self,db,cur):
        cur.close()
        db.close()

fetchone() :

返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None

fetchall() :

返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()

获取前n行数据
row_n = cursor.fetchmany(2) 获取前2行数据,元组包含元组

需要注明:在MySQL中是NULL,而在Python中则是None

举报

相关推荐

0 条评论