你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
首页
热门
推荐
精选
登录
|
注册
使用python3打造一个自己的mysql管理工具库
立即下载
用AI写一个
金额:
2
元
支付方式:
友情提醒:源码购买后不支持退换货
立即支付
我要免费下载
发布时间:2019-08-26
1人
|
浏览:2084次
|
收藏
|
分享
技术:python3,pymysql,click,
运行环境:osx,python3
概述
使用python3 完成一个mysql 管理的基本工具。 通过这个实例,可以掌握构建一个命令行工具的基本技巧。
详细
> 使用python3 完成一个mysql 管理的基本工具。 通过这个实例,可以掌握构建一个命令行工具的基本技巧。 ## 命令需要的软件包 * Click 用来解析命令行参数 * pymysql 用来访问mysql ,执行sql 语句,是这个工具的底层架构 * colorama 终端下彩色样式的输出,使工具更为美观 * pandas 用来构建数组输出,及后期数据处理 ## 命令执行基本结构 click命令行参数解析 -> actions 文件中的入口函数 -> 加载eagle_lib 中基础函数 -> 执行输出 ## 基本代码解析 ### 参数定义 选择使用 click.option 和 click.argument 这两个包装器来构建命令行参数 定义配置参数 click.option("-name",help="help text",default="eagle",type=click.Text) * -name 代表传递命令的参数 * help 表示帮助文本 * default 表示该参数的默认值 * type 表示该参数的类型, click 会帮助我们检查参数的正确性 按照顺序,依次定义命令行参数 click.argument("name",default="index") 本实例中使用两个argument 依次为action,def 来简单路由命令行请求到单个文件中的入口函数。该函数接收参数 kwargs 的命名参数字典,用来传递所有的命令行配置选项,依次执行后面的操作。 ### 数据库访问 eagle_lib/database.py 中的 dbConnection 定义基础的数据库连接,操作其他的数据库,可以在这里修改。 通过runSql 完成sql 语句的执行操作, 一个查询语句的基本执行 database.runSql(" select * from hello where name = %s ",'ark') 对于对数据库有修改的操作,需要传递参数 commit = True 返回结果为对应的字典数组,包含对应的查询结果集。如果包含commit 操作,返回操作影响的行数。 如果同时包含了commit 和 命名参数,那么请使用params 命名参数,传递给sql 的参数解析数组。 ### 结果集格式化 使用pandas 生成dataframe 对象,该对象可以直接print 成友好的表格样式。 相关命令行参数 * -max_rows 参数可以设置展示的最大行数,默认是100。 * -col_list 用来标记展示的列名,用, 来分割 ### 列举一个数据插入的代码实现 ```python def insert(*args,**kwargs): tableName,init_fields,init_values = dictEx.dictMget(kwargs,"table","init_fields","init_values") if tableName == False or init_fields == False or init_values == False: printex.printFalt("Insert Sql Must Have -talbe -init_fields -init_values Field \n But , %s , %s , %s",tableName,init_fields,init_values) sql = "insert %s (%s) values (%s) " %(tableName,init_fields,init_values) affectRows = database.runSql(sql,commit=True) printex.printInfo("%d Rows Inserted . ",affectRows) ``` 具体思路如下 * 通过dictEx 的dictMget 函数获取多个命令行参数 * 检查参数状态 * 拼装sql 语句 * 执行sql 语句,返回结果 ## 部分运行截图,及文件结构 ### 项目代码结构 ![](/contentImages/image/20190824/s82kNRrzcAfi8iCBt29.jpg) ### 项目运行截图 ![](/contentImages/image/20190824/0gd9vpfTeZXpPyszUsL.jpg)
本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
感谢
3
手机上随时阅读、收藏该文章 ?请扫下方二维码
相似例子推荐
评论
作者
☆星影♡
购买服务
购买服务
服务描述:
可以一起聊聊技术实现方案等
服务价格:
¥50
我要联系
3
例子数量
26
帮助
9
感谢
评分详细
可运行:
4.5
分
代码质量:
4.5
分
文章描述详细:
4.5
分
代码注释:
4.5
分
综合:
4.5
分
作者例子
python 爬取王者荣耀高清壁纸
使用python-nmap 搭建基本端口扫描器
使用python3打造一个自己的mysql管理工具库