我读到过,虽然 SQL 旨在标准化,但它在不同数据库中的实现方式不同等。我只将 MySQL 用于数据库。
我想知道还有哪些其他数据库共享相同的语法?我现在正在使用 PDO,我想设置一个标志以允许用户指定他们想要使用的数据库。
我很想知道哪些是“安全”的数据库,可以处理大多数(如果不是全部)我的一般 MySQL 查询。主要是SELECT、INSERT、UPDATE、DROP、DELETE。
谢谢
最佳答案
ANSI SQL
有多个版本。
所有主要的数据库引擎(即 Oracle
、MS SQL
、PostgreSQL
和 MySQL
)都应该(应该) 理论上支持 SQL-92
。
这包括您提到的所有内容:SELECT
、INSERT
、UPDATE
、DROP
、 DELETE
,只要您不对它们使用复杂的子句。
实践中:
并非所有数据库都支持全套
SQL-92
。即使在
SQL-92
中编写跨平台SQL
也需要大量测试。当您插入
1001st
行并需要优化您的查询时,SQL
中的平台独立性结束。如果您略微浏览一下标记为
SQL
的StackOverflow
问题,您会看到大多数问题都说“帮我优化这个查询 ”,大多数答案都说“使用这个依赖于平台的 hack”
关于php - 与 PHP 一起使用的哪些数据库共享相同(或大部分)的 SQL 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/590035/