将数据库里面的数据导出标准的sql语句,以下代码可以实现。大数据工程师开发完报表后需要和后端对接,而后端工程师会需要部分数据做测试,下面的代码就是将数据库的表转化为标准的sql语句。希望可以帮到大家。
1 导包
import pymysql ## 连接数据的第三方包
2 实现功能主函数
def main():
## 链接数据库
conn = pymysql.connect(host='*.*.*.*',user='root',password='密码',database='库名',charset='utf8')
cursor = conn.cursor()
query = "select * from {} limit 100".format(table_name) # 数据表查询语句
cursor.execute(query)
rows = cursor.fetchall()
insert_ = []
insert_2 = []
for i in rows:
insert_2.append(i)
insert_2 = str(insert_2).replace('[','').replace(']','')
insert_.append("insert into {} values {};".format(table_name,insert_2))
insert_ = str(insert_).replace('"','').replace('[','').replace(']','')
print(insert_)
## 将数据写入文件里
with open(path,'w',encoding='utf-8') as f:
f.write(insert_)
cursor.close()
conn.close()
3 主函数
if __name__ == '__main__':
## 数据库表
table_name = 'table_name'
## 数据保存路径
path = r'E:\数据\{}.txt'.format(table_name)
main()
结果:
INSERT INTO table_name values (1, 108.4, 30.82, ‘重庆市’, ‘重庆市’, ‘万州区’), (2, 107.4, 29.72, ‘重庆市’, ‘重庆市’, ‘涪陵区’), (3, 106.57, 29.55, ‘重庆市’, ‘重庆市’, ‘渝中区’), (4, 106.48, 29.48, ‘重庆市’, ‘重庆市’, ‘大渡口区’), (5, 106.57, 29.6, ‘重庆市’, ‘重庆市’, ‘江北区’), (6, 106.45, 29.53, ‘重庆市’, ‘重庆市’, ‘沙坪坝区’), (7, 106.5, 29.5, ‘重庆市’, ‘重庆市’, ‘九龙坡区’), (8, 106.57, 29.52, ‘重庆市’, ‘重庆市’, ‘南岸区’);