在MySQL中,模式和数据库之间有区别吗?在SQL Server中,数据库是与模式相关的高级容器。

我读到“创建模式”和“创建数据库”在MySQL中做的基本上是一样的事情,这让我相信模式和数据库是相同对象的不同词汇。


当前回答

很简单,如果你正在思考或讨论Mysql。然后回答一个简单的问题

“SCHEMA和DATABASE是完全一样的东西,只是一个合成物 mysql里的糖。”

其他回答

取决于数据库服务器。MySQL不关心,基本上是一样的。

Oracle、DB2和其他企业级数据库解决方案是有区别的。通常,模式是表的集合,数据库是模式的集合。

以Microsoft SQL Server为例,模式指的是单个用户,是另一层容器,按指示服务器、数据库、模式、表和对象的顺序。

例如,当您打算更新dbo时。Table_a和语法不是完全限定的,比如 更新表。a DBMS不能决定使用预期的表。本质上,DBMS默认会使用myuser.table_a

参考MySql文档,

CREATE DATABASE创建一个具有给定名称的数据库。要使用这个 语句,则需要数据库的CREATE权限。创建 在MySQL 5.0.2中,SCHEMA是CREATE DATABASE的同义词。

在MySQL模式是数据库的同义词。 对于初学者来说,这是相当令人困惑的,他们跳到MySQL,第一天就发现了schema这个词,所以伙计们不用担心,因为两者是一样的。

当你第一次启动MySQL时,你需要创建一个数据库(像任何其他数据库系统一样)来使用,这样你就可以create SCHEMA,这就是create database

在其他一些数据库系统中,模式表示数据库的一部分或表的集合,模式的集合就是一个数据库。

在MySQL术语表中定义:

在MySQL中,模式在物理上等同于数据库。在MySQL SQL语法中,可以用关键字SCHEMA代替DATABASE,例如用CREATE SCHEMA代替CREATE DATABASE。 其他一些数据库产品进行了区分。例如,在Oracle数据库产品中,模式只代表数据库的一部分:单个用户拥有的表和其他对象。