数据库:create schema 与 create database区别?

zjzjchl 2008-12-26 11:13:18
在学习数据库的时候,我们学到了create schema <模式名> authorization <用户名>来创建一个命名空间,在这个命名空间下创建数据库对象(基本表、视图等),但是在用MySQL数据库的时候,我们用的是create database <数据库名>,在创建的数据库下面创建基本表等。
...全文
7013 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-12-13
  • 打赏
  • 举报
回复
create database 与 create schema 是相同的。

CREATE DATABASE creates a database with the given name. To use this statement, you need the CREATE privilege for the database. CREATE SCHEMA is a synonym for CREATE DATABASE as of MySQL 5.0.2.

  • 打赏
  • 举报
回复
这个问题我也有与楼上相同的疑问,Mysql的schema与database的区别?
laoyaotask 2011-03-13
  • 打赏
  • 举报
回复 1
按1楼的说法,一个schema应该是属于特定的一个database的,但是我在MySQL里使用时却不是这样的。我一进入MySQL不用选择任何数据库即可直接执行create schema语句,执行成功后,新建的这个模式名与其它数据库名是并列放在一起显示的。这又是为何呢?
q107770540 2010-06-08
  • 打赏
  • 举报
回复
create schema 是创建模式
create database 是创建数据库

参考:
Diong_ 2010-06-07
  • 打赏
  • 举报
回复
首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧