MySQL/SQLite/etc数据库之间的区别?

Kal*_*ina 10 mysql sql database sqlite android

这是我第一次尝试使用数据库,所以请耐心等待.

我需要编写一个程序来使用我还没有访问权限的数据库.我知道有MySQL,SQLite和其他一些SQL东西,但我不确定它们之间的区别是什么.在使用它之前我是否需要知道它是什么类型的数据库(即,是一个与SQLite .db文件不同的MySQL .db文件?),或者文件本身是否相同,区别在于如何它被访问?

编辑:我正在为Android平板电脑编程,这可能很重要.但我不会创建数据库,它将提供给我,我必须使用它.

Dom*_*edi 8

您可能希望运行创建MySQL数据库的视图教程和SQLite实例,以了解它们的工作方式以及如何轻松地与它们进行交互.

对每个访问都涉及适配器,尽管创建了您需要的表,用户访问权限(访问表的用户名/密码/角色).

这是一个直接的sqlite教程:http: //zetcode.com/db/sqlite/

这里有一个staight进SQL教程: http://zetcode.com/databases/mysqlphptutorial/

我记得第一次被数据库淹没了.我的建议是从一个得到良好支持的东西开始,一个很好的社区,搜索结果 - 大量的教程,你可以掌握基础知识.

然后,根据您的应用程序要求和平台约束,您可以确定在哪里转动.但是,在没有实际使用数据库的情况下查看数据库之间的差异,就像在不吃鱼的情况下尝试寿司一样.

编辑:

如果你是在Android上构建,那么,学习SQLite.

我强烈推荐本教程来帮助您查看Android项目中使用的SQLite:http: //developer.android.com/resources/tutorials/notepad/index.html

对于数据抽象/ ORM,您应该熟悉Content Providers和Cursors(http://developer.android.com/guide/topics/providers/content-providers.html)

好好查询!


Mik*_*sen 5

首先,您需要知道它是什么类型的数据库,然后才能连接到它,因为您需要为您的平台使用适当的数据库驱动程序。mySQL、Oracle、Postgres、SQL Server 等都将使用不同的驱动程序,因为用于与它们通信(身份验证和来回传输信息)的二进制协议不同。

至于你的实际 SQL 代码,这取决于。在大多数情况下,您可以使用SELECT * FROM Foo地球上任何兼容 SQL 的数据库。然而,一旦你开始做任何更复杂的事情或使用非标准关键字,你可能会遇到麻烦。例如,有些数据库支持sUSING关键字JOIN,有些则不支持。

您可能会研究的一件事是ORM。这将允许您从程序中抽象出实际的 SQL 方言,然后(在大多数情况下)不必担心实际的 SQL。一些流行的 ORM 是 ActiveRecord(用于 Ruby on Rails)和 .NET 的实体框架。希望这可以帮助!

更新:

由于Android标签刚刚添加到帖子中,我快速搜索了支持 Android 的 SqlLite ORM,并提出了这个. 也许值得检查一下,或者也许有人可以评论它是否有好处:)