码迷,mamicode.com
首页 > 数据库 > 详细

pymysql操作数据库

时间:2019-06-12 18:03:06      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:ati   回滚   %s   int   个数   directory   字符   pen   编码   

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]才能取到我想要的数据库值。

pymysql操作数据库

标签:ati   回滚   %s   int   个数   directory   字符   pen   编码   

原文地址:https://www.cnblogs.com/liuage/p/11011116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!