pymysql.connect()参数说明:(连接数据库时需要添加的参数)host(str): MySQL服务器地址port(int): MySQL服务器端口号user(str): 用户名passwd(str): 密码db(str): 数据库名称charset(str): 连接编码 connect()对象支持的方法:cursor() 使用该连接创建并返回游标commit() 提交当前事务rollback() 回滚当前事务close() 关闭连接 cursor对象支持的方法:execute(op) 执行一个数据库的查询命令fetchone() 取得结果集的下一行fetchmany(size) 获取结果集的下几行fetchall() 获取结果集中的所有行rowcount() 返回数据条数或影响行数close() 关闭游标对象
# 连接数据库连接def database_connection(Host,User, Passwd): #BACKUP_PATH = ‘/mnt/dbbackup/mysql/‘ #备份路径 #DATETIME = time.strftime(‘%Y%m%d-%H%M%S‘) # 当前时间 #TODAYBACKUPdir = BACKUP_PATH + ‘/‘ + DATETIME """Create the backup file directory """ # 在/home/work/目录下用当天时间的格式创建目录 # 判断如果没有当天时间目录 #if not os.path.exists(TODAYBACKUPdir): os.mkdir(TODAYBACKUPdir) # 创建 #print (‘Successfully created directory‘, TODAYBACKUPdir) conn = pymysql.connect(host = Host, user = User, passwd = Passwd, port = 3306, charset = "utf8") # 使用 cursor() 方法创建一个游标对象 cursor cursor = conn.cursor() sql = ‘show databases;‘ #显示所有的数据库 cursor.execute(sql) # 使用 execute() 方法执行 SQL 查询
# 使用 fetchall()方法获取所有的信息并过滤数据库自带的数据库,同时将需要备份的数据库追加到新列表data_list[]保存 databases = [] for i in cursor.fetchall(): if i[0] == ‘mysql‘: continue elif i[0] == ‘information_schema‘: continue elif i[0] == ‘performance_schema‘: continue elif i[0] == ‘sys‘: continue databases.append(i[0]) print(databases) for database in databases: print(database)
def database_connection(.............)注意点:因为是使用python2版本,所以会出现输出字符转换问题,所以取值用i[0]才能取到我想要的数据库值。
原文地址:https://www.cnblogs.com/liuage/p/11011116.html
时间: 2024-10-20 16:09:21