我正在使用pyQt构建一个桌面应用程序,该应用程序将存储,更新和检索在线数据库中的数据,以便用户可以远程访问数据。
现在我的问题是如何实施它?使用哪个数据库(例如MySQL,SQL等)?我应该在哪里托管数据库(出于安全考虑,我不希望有免费的托管站点,该应用程序仅用于生产目的)?
我还想知道如何连接到在线托管的数据库;为了说明起见,请考虑一个示例,该示例已在Google Cloud上托管了一个MySQL数据库,现在如何连接到托管在Google Cloud上的此在线MySQL数据库?并且查询,更新等命令是否与在localhost上使用MySQL时一样?
我是这个在线数据库托管的新手。
答案 0 :(得分:1)
免责声明:我不是数据库专家,但是一直在做与您类似的事情,所以这是我在自己的研究中发现的!
关于应该使用什么数据库,这将取决于应用程序,尽管对于大多数标准应用程序而言,任何主要的SQL体系结构(SQL和Postgresql)都足够了。请注意,SQLite不支持网络访问,因此请勿这样做!
如果您想进一步了解两者的区别和优势,可以在这里https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql-a-comparison-of-relational-database-management-systems
您可以选择许多在线SQL主机。如果您要在生产中使用它,那么我倾向于使用主要的云提供商之一(AWS / GCP / Azure),因为它们为此提供了易于部署,可扩展,安全的服务-您可能也想结束使用他们的其他一些云计算服务。要开始选择您最有经验的人。
有几个用于连接和操作数据库的python软件包。基础是相同的命令(CREATE,SELECT,QUERY等)与您在本地运行时相同,它们只是提供一个包装器以连接到数据库以及从数据库中读写数据。例如,您具有用于mySQL数据库的mysql连接器和用于postgres的psycopg2。