微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我们没有针对MySQL和PostgreSQL的不同文件扩展名?

如何解决为什么我们没有针对MySQL和PostgreSQL的不同文件扩展名?

我想我有2个问题。

Q1)为什么我们对MysqL和Postgresql没有不同的扩展名?

Q2)sql表达式在什么程度上是MysqL表达式?什么是MysqL表达式?

Q1)我对MysqL感到满意,现在正在学习Postgresql。 我发现有很多用在MysqL中而不是Postgresql中的表达式。 (例如,AUTO_INCREMENT,字符串用双引号引起来) 那么,为什么我们都只将.sql作为扩展名? 我认为MysqL文件不会在Postgresql上运行。 为什么不使用其他扩展名?

Q2)即使在语法上不同,两个DBMS之间也有如此多的相似之处。 我猜这是因为相似的是sql表达式,而其他的则是每个DBMS特定的。 那么,什么是sql表达式,什么是MysqL,Postgresql表达式? 我们如何区分它们? 还是没有“ sql表达式”?仅仅是MysqL和Postgresql相似吗?

解决方法

SQL标准在其定义中包含许多表达式。

https://www.oreilly.com/library/view/sql-in-a/9780596155322/ch04s02.html

请参阅此处以了解Postgres和MySQL如何遵守

https://dev.mysql.com/doc/refman/8.0/en/compatibility.html

https://www.postgresql.org/docs/current/features.html

因此,大多数SQL系统将提供标准表达式,但是大多数系统还提供了许多扩展。这些扩展通常是有用的,但显然不适用于其他数据库系统,因为它们不是标准的。

如果您需要可移植性,请坚持使用标准表达式,如果您想要方便并且不关心可移植性,请使用数据库支持的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。