Mysql SQL与其他DBMS的关系是什么;s

Mysql SQL与其他DBMS的关系是什么;s,mysql,sql,database,Mysql,Sql,Database,从上一篇文章中我了解到,SQL查询受所用DBMS的限制。例如,如果DBMS是MySQL,则使用完全外部联接的SQL查询将不可能。从这里,我有几个问题,我感到困惑 如果SQL完全依赖于DBMS,为什么SQL被表示为用于从数据库检索数据的编程语言?我看到的每个定义都说明SQL是在数据库中操作数据的标准编程语言,但正如刚才所说,这并不总是可能的。 为什么SQL不是用于sqlfiddle.com等网站的有效选项,您只能使用特定的DBMS,如MySQL或SQLite?SQL语法在所有这些选项中都是有效的,

从上一篇文章中我了解到,SQL查询受所用DBMS的限制。例如,如果DBMS是MySQL,则使用
完全外部联接的SQL查询将不可能。从这里,我有几个问题,我感到困惑

如果SQL完全依赖于DBMS,为什么SQL被表示为用于从数据库检索数据的编程语言?我看到的每个定义都说明SQL是在数据库中操作数据的标准编程语言,但正如刚才所说,这并不总是可能的。

为什么SQL不是用于sqlfiddle.com等网站的有效选项,您只能使用特定的DBMS,如MySQL或SQLite?SQL语法在所有这些选项中都是有效的,但其中一些选项也有自己独特的语法?

当我学习SQL时,我发现像w3schools这样的网站非常有用,例如,我觉得这是学习SQL方法的一个很好的起点。如前所述,对于使用MySQL创建的数据库,这是无效的,那么,这么多广告教授SQL的网站实际上教授的是什么版本的/DBMS?

将SQL称为“主要”编程语言和其他类似“自定义”SQL的DBMS是正确的吗?它们有自己的语法,添加/删除一些功能等。我从每个数据库中得到了这个想法,创建了自己的SQL语言方言(在我上一篇文章中提到过)

SQL注入这一术语是否不完全准确,比如说,一个网站容易受到所用DBMS特定语法的攻击?

人们应该在简历上写SQL,还是总是写MySQL、Oracle等细节?

如果解释太长,请提供一个有用的链接,以便我阅读。我对这件事困惑了几个小时,我发现的每个网页都在重复同样的事情,但这并不能真正解决我所困惑的问题。我完全有能力编写SQL代码,并且有相当的理解力,但是这些概念让我感到困惑。我想知道所有这些链接之间的完整关系

免责声明:这是我之前文章的延续,但我还有一点要问,我不知道如果我只是编辑我的旧文章,StackOverflow是否会发出通知等。SQL是关系数据库的查询语言。标准不是一个软件,它只是一个文档

每个品牌的RDBMS都是SQL规范的实现。他们可以自由地以不同的方式编写代码。实现细节不是由标准SQL语言文档规定的

SQL还有另一个细微差别:条目中间完整。一家公司可以实现SQL的入门级部分,并声称它们支持SQL。他们可以从中间级别和完整级别选择要实现的功能

目前还没有一个品牌的SQL数据库能够实现SQL规范的所有功能

此外,每个品牌的RDBMS都提供了许多规范中没有的特性。每个实现SQL的供应商都对如何增强标准SQL以提供额外价值有自己的想法。RDBMS软件中还有一些补充功能,但与SQL语言无关

  • 存储格式
  • 加密
  • 压缩
  • DBA工具
  • GUI管理控制台和查询生成器
  • 用于JDBC、ODBC、Ruby、Python、PHP、Perl、Go等的客户端驱动程序
  • 伐木
  • 监测
  • 调试
  • 索引
没错——标准SQL规范没有提到索引,尽管每个品牌的RDBMS都支持某种索引语法。但是在规范中,索引是留给实现者的主题

<>你可以把它与C++语言进行比较。在ISO标准中也描述了C++语言,但是每个C++编译器都有许多额外的特性,这些标准在标准中没有描述。图形化IDE、调试器、编译器优化、构建工具、嵌入式文档等等

术语SQL注入是否不完全准确

SQL注入技术适用于任何支持动态SQL的实现。也就是说,在运行时而不是在编译时解析SQL。事实上,SQL注入只是一种更广泛的安全问题的特例,称为。这适用于甚至不是SQL的语言。任何可以在运行时解析和执行代码的功能,如
eval()

人们应该在简历上写SQL,还是总是写一些细节,比如MySQL、Oracle等等

当然可以。使用RDBMS的人在简历或简历中列出RDBMS时,应该具体说明他们有哪些经验。就像汽车修理工一样,应该清楚他们有哪些品牌的汽车维修经验。毫无疑问,他们的技能是可以转移的,这让他们可以在需要的时候快速学习新品牌

那么多宣传教授SQL的网站实际教授的是什么版本/DBMS


这取决于网站。您可以找到包含任何主要品牌RDBMS教程的网站。你得问问他们。我认为最常见的是Oracle、Microsoft SQL Server和MySQL。培训网站自然希望吸引最大的潜在客户群,而这些是最受欢迎的RDBMS产品。

请参观了解该网站的工作原理。一次只问一个问题。另一个随机问题。如果SQL是一个标准,为什么有些人把它称为编程语言?你把C++当作一种编程语言吗?是的,但是你是C语言。