php - 与 PHP 一起使用的哪些数据库共享相同(或大部分)的 SQL 语法?

标签 php mysql pdo

我读到过,虽然 SQL 旨在标准化,但它在不同数据库中的实现方式不同等。我只将 MySQL 用于数据库。

我想知道还有哪些其他数据库共享相同的语法?我现在正在使用 PDO,我想设置一个标志以允许用户指定他们想要使用的数据库。

我很想知道哪些是“安全”的数据库,可以处理大多数(如果不是全部)我的一般 MySQL 查询。主要是SELECT、INSERT、UPDATE、DROP、DELETE。

谢谢

最佳答案

ANSI SQL 有多个版本。

所有主要的数据库引擎(即 OracleMS SQLPostgreSQLMySQL)都应该(应该) 理论上支持 SQL-92

这包括您提到的所有内容:SELECTINSERTUPDATEDROP DELETE,只要您不对它们使用复杂的子句。

实践中:

  1. 并非所有数据库都支持全套 SQL-92

    即使在 SQL-92 中编写跨平台 SQL 也需要大量测试。

  2. 当您插入 1001st 行并需要优化您的查询时,SQL 中的平台独立性结束。

    如果您略微浏览一下标记为 SQLStackOverflow 问题,您会看到大多数问题都说“帮我优化这个查询 ”,大多数答案都说“使用这个依赖于平台的 hack

关于php - 与 PHP 一起使用的哪些数据库共享相同(或大部分)的 SQL 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/590035/

相关文章:

php - 使用 iframe 或 javascript 将内容加载到 div

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - 单击产品图 block 从数据库获取产品数据

MySql GROUP_CONCAT 与 GROUP BY 每组第 n 行

php - 如果A表查找结果为零,如何查找B表?

php - 将多列绑定(bind)到 PDO 中的一个变量

php - 在php中获取mysql用户定义的变量

mysql - 使用非索引和复合索引

mysql - 如何使用 MySQL 检查某个价格范围是否包含在任何价格范围中?

php - 我可以在 PHP 中混合使用 MySQL API 吗?