python之数据库管理工具sandman2(python数据管理系统)

网友投稿 469 2022-09-01


python之数据库管理工具sandman2(python数据管理系统)

文档:​​Welcome to sandman2’s documentation! — sandman2 0.0.1 documentation​​

【安装】

pip install sandman2

安装成功后,就可以得到一个 ​​sandman2ctl​​ 命令行工具,用它来启动一个 RESTful API 服务器

sandman2ctl sqlite+pysqlite:///data.db

启动之后,默认端口是 5000,访问地址是 ​​是基于 SQLAlchemy 的,所以使用连接 Url 来连接数据库

格式为

​​dialect+driver://username:password@host:port/database​​

dialect 为数据库类型,如 mysql、SQLite 等driver 为数据库驱动模块名,例如 pymysql、psycopg2、mysqldb 等,如果忽略,表示使用默认驱动

例如:MySQL

sandman2ctl mysql+pymysql://bob:bobpasswd@localhost:3306/testdb

注意点:如果环境中没有安装 ​​pymysql​​​ 模块,必须先安装,才能正常启动,其他数据库的连接方式可参考 SQLAlchemy 的 ​​引擎配置​​​ 章节, 在这里查看 ​​Home 外,其他的都是库表名称

API

以 RESTful 的角度来看,库表相当于​​资源​​​(​​resource​​​),一组资源相当于​​集合​​​(​​collection​​)

查询

通过 Http GET 方法,以 JSON 格式将数据返回,例如返回 ​​学生表 student​​ 的所有记录:

$ curl {"resources":[{"age":18,"class":"1","id":1,"name":"\u5f20\u4e09","profile":"\u64c5\u957f\u5b66\u4e60"},...

注意:资源要以 ​​/​​ 结尾

通过参数 ​​page​​​ 来分页,例如返回 ​​学生表 student​​ 的第一页数据

$ curl id 为 3 的学生记录

$ curl Tom 的学生记录:

$ curl 1 年龄为 18 的学生:

$ curl curl -X POST -d '{"name": "Lily", "age": 17, "class":1, "profile":"Likely"}' -H "Content-Type: application/json" id 为 1 的学生班级更改为 3

注意: 更新时主键信息通过 url 的主键值节段提供,而不在数据部分中$ curl -X PATCH -d '{"class":3}' -H "Content-Type: application/json" id 为 8 的学生记录:$ curl -X DELETE -H "Content-Type: application/json" student​​ 的字段定义:$ curl (required)","name":"VARCHAR(255)","profile":"VARCHAR(500)"}  导出数据,通过查询字段 ​​export​​ 获取,数据格式为 csv,例如导出学生数据,存放到 student.csv 文件中: $ curl -o student.csv % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 202 100 202 0 0 2525 0 --:--:-- --:--:-- --:--:-- 2525


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:clickhouse之python操作(python连接clickhouse)
下一篇:一文带你揭秘SpringMvc参数值映射
相关文章

 发表评论

暂时没有评论,来抢沙发吧~