第三节——模式

数据库模式的使用

一、模式概念

模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。模式是用来创建管理对象的,从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些类似用户名的节点其实就是一个schema。

二、模式的使用

  1. 模式的创建,命令:
create schema 模式名 authorization 用户名;  //创建属于某用户的模式
create schema if not exists authorization 用户名;  //查看这个模式是否存在,存在则不创建,不存在则创建

eg:

create schema tsb authorization uxdb;
  1. 模式的设置,命令:set search_path to 模式名1,模式名2,......;,因为默认使用的模式为:“$user”,public,$user指明去查找与当前用户同名的模式,public为公众模式;如果不使用命令设置模式,操作表时,系统会使用默认的两种模式去操作表,使用命令:show search_path;查看正在使用的模式
    eg:
//将刚刚创建的tsb模式,和默认模式public设置为正在使用的模式
set search_path to public,tab;
  1. 模式的查看,命令:\dn+,查看当前账户可以使用的所有模式名
  2. 模式的使用:创建表时在表明前面添加模式名,若不指定模式名,默认使用search_path第一个模式创建数据表,命令:create table 模式名.表名 (列名 数据类型);
    eg:创建两个数据表,testtable使用默认模式名创建,ttable指定模式名创建
    在这里插入图片描述
  3. 模式的更改
    a)重命名:alter schema 旧名字 to 新名字;
    b)修改模式的归属用户:alter schema 模式名 to 新用户;
  4. 模式的删除:drop schema 模式名;

注意事项:

  1. 不同数据库下创建的模式,不能共用,如:在uxdb数据库下创建了tsb模式,切换成test数据库后,无法查询到tsb模式。
  2. 创建表时,不同模式下的表重名后,用命令\d查询,只显示search_path第一个模式下的表,另一个表需要使用模式名.表明去查询
    eg:public模式是默认第一个模式,在public模式下创建了ttable,在tsb模式下也创建了ttable,\d查询时只展示public默认模式下的ttable,另一个表需要使用tsb.ttable去查询
    在这里插入图片描述
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值