如何使用API操作数据库


这篇“如何使用API操作数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用API操作数据库”文章吧。今天的主角是 sandman2可以基于已存在的数据库,自动生成一个 RESTful API 服务器,而不需要写任何代码,用作者的话说,简单地就像给食物加点盐更厉害的是,从简单地 SQLite 数据库,到大型的商业数据 PostgreSQL, 都能完美支持,且不用写一行代码目前支持的数据库:MySQLPostgreSQLOracleMicrosoft SQL ServerSQLiteSybaseDrizzleFirebird这让我想起了曾经因为找不到合适的数据库框架手忙脚乱的日子,如果早点知道 sandman2 就好了之所以叫 sandman2,是因为它的前辈是 sandman,sandman 已免费云主机域名经有了很强的数据库支持能力,不过在 SQLAlchemy 0.9 版本中,增加了 automap功能,可以进一步使 sandman 得到简化,于是重写了 sandman,就有了 sandman2,并且 sandman2 的功能远超 sandman使用 pip 安装 pip install sandman2安装成功后,就可以得到一个 sandman2ctl 命令行工具,用它来启动一个 RESTful API 服务器不用写一行代码,直接启动:注意:如果用的 python 版本是 3.8 及以上,且在 Windows 上,执行时可能会遇到,AttributeError: module 'time' has no attribute 'clock' 的错误 这是因为 3.8 以后 time 模块的 clock 属性换成了perf_counter() 方法,所以需要修改下 libsite-packagessqlalchemyutilcompat.py 的 331 行,将 time_func = time.clock 换成 time_func = time.perf_counter() 保存即可启动之后,默认端口是 5000,访问地址是 http://localhost:5000/admin就能看到服务器控制台了前面已经看到连接 SQLite 数据的方法sandman2 是基于 SQLAlchemy 的,所以使用连接 Url 来连接数据库格式为dialect 为数据库类型,如 mysql、SQLite 等driver 为数据库驱动模块名,例如 pymysql、psycopg2、mysqldb 等,如果忽略,表示使用默认驱动以 mysql 数据库为例:如果环境中没有安装 pymysql 模块,必须先安装,才能正常启动其他数据库的连接方式可参考 SQLAlchemy 的 引擎配置 章节, 在这里查看 docs.sqlalchemy.org/en/13/core/engines.html需要快速预览数据,对数据进行简单调整的话,控制台很有用左侧菜单除了 Home 外,其他的都是库表名称点击相应库表名称,会在右侧显示表内数据,并且可以做增删改操作点击新增,打开新增页面:用过 Django 的同学会感觉很熟悉,不过字段并没有类型支持,只能以字符串输入,自行确保数据类型正确,否则保存时会收到错误信息点击记录前面的笔状图标,会进入编辑页面点击记录前的删除图标,来删除记录另外多选数据后,可以通过 With selected 菜单下的 Delete 按钮来批量删除控制台方便易用,适合一些简单的、数据量少的操作注意:由于控制台不能登录即可访问,建议将服务器创建在本地或内网环境中以 RESTful 的角度来看,库表相当于资源(resource),一组资源相当于集合(collection)
通过 Http GET 方法,以 JSON 格式将数据返回,例如返回 学生表 student的所有记录:注意:资源要以 / 结尾通过参数 page 来分页,例如返回 学生表 student 的第一页数据通过参数 limit 显示返回行数如果要获取具体记录,可以用主键值作为节段,例如获取 id 为 3 的学生记录以字段名做参数,相当于查询条件,例如,查询 name 为 Tom 的学生记录:查询条件可以被组合,例如,查询班级为 1 年龄为 18 的学生:POST 方法用于新增,新增内容,由请求的数据部分提供,例如增加一个学生信息:注意:库表主键是自增长的,可以忽略主键字段,否则必须提供PATCH 方法用于更新,更新内容,由请求的数据部分提供,例如将 id 为 1 的学生班级更改为 3注意: 更新时主键信息通过 url 的主键值节段提供,而不在数据部分中DELETE 方法由于删除,例如删除 id 为 8 的学生记录:获取表的字段定义信息,通过 meta 节段获取,例如获取 学生表 student的字段定义:导出数据,通过查询字段 export 获取,数据格式为 csv,例如导出学生数据,存放到 student.csv 文件中:还有更多的接口有待你的探索sandman2 的服务器是基于 Flask 的,具体可以去官网参考,在此就不赘述了。以上就是关于“如何使用API操作数据库”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: JavaScript的变量作用域实例分析

这篇文章主要讲解了“JavaScript的变量作用域实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的变量作用域实例分析”吧!首先,我们先研究一下JavaScript的变量作用域,研究…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/10 17:50
下一篇 09/10 17:50

相关推荐