最符合标准的数据库

时间:2012-10-27 00:46:45

标签: php sql database compatibility

我正在考虑将数据库用作跨平台php应用程序的开发环境。

我最理想的是支持最正确的SQL标准的数据库,我可以编写这些标准,并希望在部署时保证跨数据库的兼容性。

如果它是开源的,我更喜欢它。

由于

2 个答案:

答案 0 :(得分:6)

确实没有这样的事情 - 没有“跨平台的SQL”。

SQL标准和规范已经过时,并没有与RDBMS系统的进步保持同步,而且因为不同的引擎以不同的方式实现它们自己的功能(例如地理空间索引和结果集分页)。

编写跨平台应用程序的最佳方法是将特定于数据库的操作抽象为“数据访问层”,并为您计划支持的每个数据库后端实现此接口。

如果您正在进行非常简单的操作,例如SELECT(使用简单连接),INSERT和UPDATE,那么您可能会使用一组SQL命令,假设您没有遇到语法或数据问题 - 类型(例如,JET Red / Access要求所有日期都用#分隔,但T-SQL(SQL Server,Sybase)需要单引号;或MySQL如何使用反引号来转义名称但T-SQL和JET Red使用[]方括号。此外,每个实现都有自己的一组关键字。)

答案 1 :(得分:1)

MySql 为什么?

  

MySQL ::世界上最受欢迎的开源数据库   (RDBMS)[6]截至2008年,作为服务器运行,提供对多个数据库的多用户访问。

功能

截至2009年4月,MySQL提供了两种不同版本的MySQL 5.1:开源MySQL社区服务器和商业企业服务器。 MySQL 5.5是在相同的许可下提供的。[32]它们具有通用代码库并包含以下功能: ANSI SQL 99的广泛子集,以及扩展

  1. 跨平台支持
  2. 存储过程
  3. 触发器
  4. 光标
  5. 可更新
  6. 浏览
  7. 信息架构
  8. 与InnoDB和群集存储引擎的交易; 使用InnoDB保存点
  9. SSL支持
  10. &安培;很多 ... Source

    或小小的&更快 postgres 还为什么?

    因为它是 PostgreSQL:世界上最先进的开源数据库

    • 开源
    • 支持几乎所有SQL的对象关系DBMS
    • 构建
    • 包括子选择
    • 交易
    • 和用户定义 类型和.. &安培;它用于 android ;) www.postgresql.org