在MySQL中,模式和数据库之间有区别吗?在SQL Server中,数据库是与模式相关的高级容器。
我读到Create Schema和Create Database在MySQL中做的基本上是相同的事情,这让我相信模式和数据库是相同对象的不同单词。
Create Schema
Create Database
是的,人们在谈到MySQL时可以互换使用这些术语。尽管您经常会听到人们不恰当地将整个数据库服务器称为数据库。
在MySQL术语表中定义:
在MySQL中,物理上,< / em > < em >模式与< em > < / em >数据库是同义词。你可以用关键字SCHEMA代替MySQL SQL语法中的DATABASE,例如用CREATE SCHEMA代替CREATE DATABASE。 其他一些数据库产品进行了区分。例如,在Oracle数据库产品中,< / em > < em >模式只表示数据库的一部分:由单个用户拥有的表和其他对象。
在MySQL中,物理上,< / em > < em >模式与< em > < / em >数据库是同义词。你可以用关键字SCHEMA代替MySQL SQL语法中的DATABASE,例如用CREATE SCHEMA代替CREATE DATABASE。
SCHEMA
DATABASE
CREATE SCHEMA
CREATE DATABASE
其他一些数据库产品进行了区分。例如,在Oracle数据库产品中,< / em > < em >模式只表示数据库的一部分:由单个用户拥有的表和其他对象。
引用MySql文档,
CREATE DATABASE创建一个具有给定名称的数据库。要使用这个 语句,则需要数据库的CREATE权限。创建 . SCHEMA是MySQL 5.0.2中CREATE DATABASE的同义词
CREATE DATABASE创建一个具有给定名称的数据库。要使用这个 语句,则需要数据库的CREATE权限。创建
取决于数据库服务器。MySQL并不关心,它基本上是一样的事情。
MySQL
Oracle, DB2和其他企业级数据库解决方案进行了区分。通常是Schema是一个表的集合和数据库是模式的集合。
Oracle
DB2
以Microsoft SQL Server为例,模式指的是单个用户,是另一层容器,按指示服务器、数据库、模式、表和对象的顺序。
例如,当你打算更新dbo。Table_a和语法不是完全限定的,比如 更新表。a DBMS不能决定使用预期的表。本质上,默认情况下DBMS将使用myuser.table_a
数据库包含一个或多个命名模式,这些模式依次包含 表。模式还包含其他类型的命名对象,包括 数据类型、函数和操作符。可以使用相同的对象名称 在不同的图式中没有冲突;例如,schema1和 Myschema可以包含名为mytable的表。与数据库不同,模式 不是严格分离的:用户可以访问任意的对象 它们所连接的数据库中的模式(如果它们具有特权的话)
模式类似于操作系统级别的目录,只是模式不能嵌套。
在我看来,MySQL不是一个参考数据库。你不应该引用MySQL来解释。MySQL实现了非标准SQL,有时还声称一些它不支持的特性。例如,在MySQL中,CREATE模式只创建一个DATABASE。这真的是在误导用户。
这种词汇表被dba称为“MySQLism”。
< / em > < em >模式是< em > < / em >数据库的同义词。 对于初学者来说,这是相当令人困惑的,他们跳到MySQL,第一天发现单词模式,所以伙计们不用担心,因为两者是一样的
当你第一次启动MySQL时,你需要创建一个数据库(像任何其他数据库系统一样)来使用,这样你就可以创建模式,它就是创建数据库
在其他一些数据库系统中,模式表示数据库的一部分或表的集合,模式的集合就是一个数据库。
简单地说,如果你是思考或讨论关于Mysql。然后取简单的答案
< p >, <强>模式,数据库是完全一样的东西,只是一个合成的 ." . quot
只需要添加更多信息:
MongoDB还区分了schema和database。
schema
database
schema表示表,这意味着database的结构。
不像Postgres, SQL server模式是一组数据库有同样的东西 但是在mysql模式和数据库中是一样的 MySQL不支持模式的概念。在MySQL中,schema和schemas是数据库和数据库的同义词
当用户连接到MySQL时,他们不会连接到特定的数据库。相反,它们可以访问拥有权限的任何表