数据库:create schema 与 create database区别?
时间:2008-12-26
来源:互联网
在学习数据库的时候,我们学到了create schema <模式名> authorization <用户名>来创建一个命名空间,在这个命名空间下创建数据库对象(基本表、视图等),但是在用MySQL数据库的时候,我们用的是create database <数据库名>,在创建的数据库下面创建基本表等。
作者: zjzjchl 发布时间: 2008-12-26
首先我来做一个比喻,什么是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中详述。比喻到这里,相信大家都清楚了吧。
作者: wzxit1314 发布时间: 2010-06-07
create schema 是创建模式
create database 是创建数据库
参考:
create database 是创建数据库
参考:
作者: q107770540 发布时间: 2010-06-08
按1楼的说法,一个schema应该是属于特定的一个database的,但是我在MySQL里使用时却不是这样的。我一进入MySQL不用选择任何数据库即可直接执行create schema语句,执行成功后,新建的这个模式名与其它数据库名是并列放在一起显示的。这又是为何呢?
作者: laoyaotask 发布时间: 2011-03-13
这个问题我也有与楼上相同的疑问,Mysql的schema与database的区别?
作者: icyfloel 发布时间: 2011-08-02
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.
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.
作者: qq307443901 发布时间: 2011-12-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28