不同的数据库,比如(sqlserver、Mysql、Oracle)它们的数据库sql语句相同吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同的数据库,比如(sqlserver、Mysql、Oracle)它们的数据库sql语句相同吗?相关的知识,希望对你有一定的参考价值。
参考技术A 都遵循统一的标准,但存在一些小的差异。。(大同小异)比如选取前10行
sqlserver:
SELECT
TOP
10
*
FROM
table
oracle:
select
*
from
table
where
rownum
<
10
mysql:
select
*
from
table
limit
1,10
还有很多差异的东西。。暂时没有发现有整理好的完整差异资料
为啥 MySQL 和 SQL Server 中的“模式”不同?
【中文标题】为啥 MySQL 和 SQL Server 中的“模式”不同?【英文标题】:Why is a "schema" different in MySQL and SQL Server?为什么 MySQL 和 SQL Server 中的“模式”不同? 【发布时间】:2013-01-05 06:57:27 【问题描述】:我是数据库新手。我想知道为什么,当我创建一个模式时,在 MySQL 中它是一个数据库,而在 SQL Server 中它是一个数据库内部的模式。谁能给我解释一下?
【问题讨论】:
【参考方案1】:在 SQL 服务器中
数据库模式是一种对对象进行逻辑分组的方法,例如表、视图、存储过程等。将模式视为对象的容器。您可以将用户登录权限分配给单个架构,以便用户只能访问他们有权访问的对象。 可以在数据库中创建和更改模式,并且可以授予用户访问模式的权限。架构可以由任何用户拥有,架构所有权是可以转让的。
更多详情请访问著名的 sql authority 博客 http://blog.sqlauthority.com/2009/09/07/sql-server-importance-of-database-schemas-in-sql-server/
在 MySQL 中
创建架构类似于创建数据库。 http://dev.mysql.com/doc/refman/5.0/en/create-database.html
【讨论】:
这解释了差异,这很有用,但问题是它们为什么不同? 也感谢您的回答,@AaronBertrand - 是的,您说得对,感谢您的所有回答,我已经了解它们之间的差异,我也很好奇它们为什么不同【参考方案2】:因为不同的供应商有不同的方式来描述、区分和描绘事物,甚至可以不同地使用相同的词。无论出于何种原因(我认为它与 Oracle 更一致),MySQL 都将模式和数据库称为同一件事,而 SQL Server 有一个可以包含多个模式的数据库。我不知道您是否可以声明它们中的任何一个“更正确”,这只是了解差异的问题,即使它们不直观。可以检查一下我认为的 ANSI 标准,看看哪个更符合标准机构的意图。
我不知道你是否真的有机会获得这个问题的合法答案以使其保持主题,除非你能说服 MySQL 和 SQL Server 团队进来并说明他们选择这种方式的原因他们做到了(请记住,早在很久以前就做出这些选择的人不太可能仍然在各自的团队中)。
【讨论】:
啊,好的,谢谢你的回答,先生,我能听听你的意见吗?你喜欢哪个? mysql还是sql server? 我是一名 SQL Server 人员。但这是一个非常主观的问题,周围也有很多 MySQL 人,所以不要用我的意见来帮助你选择。以上是关于不同的数据库,比如(sqlserver、Mysql、Oracle)它们的数据库sql语句相同吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)