#coding=utf-8

importpymysqlimportxlwtimportconfigparser#获取数据库连接

defconn(sql, hostname, username, password, database):#打开数据库连接

db = pymysql.connect(hostname, username, password, database, charset='utf8')#使用 cursor() 方法创建一个游标对象 cursor

cursor =db.cursor()#使用 execute() 方法执行 SQL 查询

cursor.execute(sql)#使用 fetchall() 方法获取所有数据.

results =cursor.fetchall()#关闭数据库连接

db.close()returnresultsdefwrite_excel(f, data, row):#创建excel对象

book =xlwt.Workbook()#添加一个表

sheet = book.add_sheet('表结构清单')#行计数

c =0#取出data中的每一个元组存到表格的每一行

for d indata:#将每一个元组中的每一个单元存到每一列

for index inrange(len(d)):#写表头

if c ==0:

sheet.write(c, index, row[index])continuesheet.write(c, index, d[index])

c+= 1

#保存excel

book.save(f)if __name__ == "__main__":

config=configparser.ConfigParser()

config.read("config.ini")

host= config.get("mysql", "host")

user= config.get("mysql", "user")

pwd= config.get("mysql", "password")

db= config.get("mysql", "database")

file= config.get("file", "file_name")

s= """SELECT

a.Table_name AS "表名",

a.Table_comment AS "表注释",

b.Ordinal_position AS "序号",

b.Column_name AS "列名",

b.Data_type AS "列类型",

b.Column_comment AS "列注释"

FROM

information_schema.TABLES a

JOIN information_schema.COLUMNS b ON a.Table_name = b.Table_name

WHERE

a.TABLE_SCHEMA = '{}'

AND a.Table_type = 'BASE TABLE'""".format(db)

row_name= ("表名", "表注释", "序号", "列名", "列类型", "列注释")#获取表结构数据

table_schema =conn(s, host, user, pwd, db)

write_excel(file, table_schema, row_name)print("success!")

python3入门代码-Python3入门(十三)——连接数据库相关推荐

  1. python3入门代码-Python3 教程 | 菜鸟教程

    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k.相对于 Python 的早期版本,这是一个较大的升级.为了不带入过多的累赘,Python 3 ...

  2. python3入门代码-Python3入门经典案例,不埋坑不踩雷.小白也可上手实操(附代码)...

    希望通过这几道例题,让你能对python3的基础代码能力有一定的掌握. 例1:题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? sum=0for i in range ...

  3. python3入门代码-python3爬虫入门程序

    适用于有且只有一点Python3和网页基础的朋友,大牛&路人请绕道 (本文很多废话,第一次在网上长篇大论,所以激动的停不下来,如果有大佬路过,也希望不要直接绕道,烦请指点一二) 感谢博客园给了 ...

  4. python3入门代码-Python3入门(三)——Python基础语法

    一.基本语法 1.行和缩进 Python中,不使用括号来表示代码的类和函数定义块或流程控制. 代码块是由行缩进,缩进位的数目是可变的,但是在块中的所有语句必须缩进相同的量. 如下所示: a = 100 ...

  5. python3入门代码-Python3 入门教程 简单但比较不错

    本文适合有Java编程经验的程序员快速熟悉Python 本文程序在windows xp+python3.1a1 测试通过. 本文提到的idle指python shell,即安装python后你在菜单看 ...

  6. python3入门代码-Python3零基础自学方法?

    找到合适的入门书籍,大致读一次,循环啊判断啊,常用类啊,搞懂(太难的跳过) 做些简单习题,字符串比较,读取日期之类 Python Cookbook不错(太难太无趣的,再次跳过,保持兴趣是最重要的,不会 ...

  7. html新人入门代码,HTML入门(示例代码)

    HTML基本语法 这是我的第一篇博客,都说大佬也是从菜鸟一步一步起来的嘛,所以我这第一篇博客的技术也不一定很高.但是,这应该是一篇绝大多数零基础入门的同学都能够看得懂的博客.跟着本篇博客的内容慢慢来, ...

  8. python必备入门代码-小白入门Python开发,必备技能有哪些?

    原标题:小白入门Python开发,必备技能有哪些? 用Python完成项目,编写的代码量更少,代码简短可读性强,团队协作开发时读别人的代码速度会非常快,使工作变得更加高效.优雅做开发不再是梦,所以Py ...

  9. python入门代码-Python入门学习系列——Python代码测试

    Python代码测试 对于编写的代码,可以使用unittest模块中的相关方法进行测试. 测试函数 首先定义一个简单的函数,该函数用来合并名称并返回. name_function.py: def ge ...

最新文章

  1. Docker 网络不通的解决方法
  2. 多云,安全集成推动了SD-WAN的广泛采用—Vecloud
  3. spring框架的概述以及spring中基于XML的IOC配置——概念
  4. #每日播报# 8月6日 Github 热门项目汇总
  5. python+selenuim自动化测试(六)弹窗的处理
  6. Linux centos7 安装python3.6.5 和 pip3
  7. [android]亲自破解Flappy Bird(去广告+永生)
  8. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_5_BufferedWriter_字符缓冲输出流...
  9. 游戲外挂,其實是一種網絡藝術
  10. 简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
  11. envi5.3处理高分二号影像数据详细过程记录
  12. 次佛锅_上海理工大学2022天梯选拔
  13. python开发部署时新增数据库中表的方法
  14. android 编程词典,基于Android的英文词典的实现方法
  15. 淘宝订单、API获取订单
  16. 百度地图添加地区覆盖物和坐标点遇到的问题
  17. Java——一些适合新手练手的Java项目
  18. windows模拟微信小程序_GitHub - ramwin/mini-program-reference: 微信小程序测试
  19. 字典大全(修改,添加,删除)所有遍历
  20. 求职失败的方法2-面试的时候过于紧张

热门文章

  1. django基础篇05-Form验证组件
  2. 今天用pro安装nginx+php+mysql出现故障的解决方法
  3. Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)
  4. 2)Java中的==和equals
  5. Java Servlet系列之Servlet入门
  6. VC++实现全局钩子勾住消息对话框
  7. 很实用的一个ext表格,具有很好的分页功能。
  8. UVA12439 February 29【日期计算】
  9. 数字系统设计的基础知识
  10. HDU2081 手机短号【水题】