当前位置: 首页 > news >正文

mysql 同义词_数据库中的同义词synonym


一、Oracle数据只有一个实例(简单理解就是Oracle 只能建立一个数据库,不像MySQL,它下面可以创建N个库),那么Oracle是根据用户灵活去管理的;这点读起来、理解
起来也不那么难,但是除非自己亲自实现一把才理解深入点,刚接触数据库可能不是很理解这些;

二、Oracle中可以建立多个用户,那么这些用户刚建立是得授权的,不让没有权限做任何事情,(举个栗子:用户 ‘AA’ 是授权的DBA用户,此用户下面有 N 张表,如果再创建
一个用户 “BB” ,那么 “BB” 是没有权限读取 “AA” 中表的,有人可能就会说给他授权不就行了么,给 “BB” 授予超级权限,抱歉,那也不行,你同样么有机会访问 “AA”
中的表的,你虽然授予了超级权限,那是在你名下的,在 “AA” 起不了作用),是不是很是揪心,同一个库下两个 超级用户 还不能访问。

三、是不是在 “BB” 用户下在把 “AA” 下的表 复制一遍不就好了,没错,这样也能实现,但是这样会浪费很多资源,而且不能同步数据;这种情况下 同义词 就有用武之地了,
其实  同义词 也相当于一个视图 可以这个么理解,可以进行对表的 增删改查,(省资源,数据同步);

四、注意事项
0》接上面的举例子:新建的用户 “BB” 要在不复制资源的请款下建立一个同义词 要可以对 “AA” 下的表 操作(除了删除)

建立:

create 【public】  synonym 同义词名称(一般可以与表名不同,这样不容易混淆) for AA.table_name;

--在当前用户下建立一个同义词(去同义“AA”中的表:table_name,public的是可选参数,本人建议尽量建立公用的 同义词)


删除:DROP   【public】   SYNONYM   同义词名称;

---------此处特别注意 关键字 public 的存在--------;

查看:

select * from    user_synonyms  sy  where sy.synonym_name ='A_CODEMAPPING';

 --查看私有的同义词,自己看到自己创建的;

select * from    all_synonyms sy  where sy.synonym_name ='A_CODEMAPPING';

 --可以查看到 某某创建的 公共的 同义词


参看信息中包括,同义词拥有者,表拥有者,是否public的等信息;

1》同义词 分为私有的 和公共的两种;

私有的:
也只有 本用户使用,包括别的用户查不到 用户 “BB” 有这个同义词(这点很重哟奥);

共有的:
可以被其它的任何用户使用, 也可以被人家查到,看到这个同义词,当然最重要的也可以被别的用户删除;

什么是同义词
同义词相当于是对象的小名,作用是缩短对象的长度,便于书写与访问。

同义词的创建
假设有表t_student如图所示:
为表t_student创建同义词std
create synonym std
for t_student

此时使用同义词std查询表t_student中所有数据
select * from std

查询结果:


删除同义词
drop synonym std

http://www.lryc.cn/news/58905.html

相关文章:

  • Nacos共享配置
  • 数据结构——排序(4)
  • C++13:搜索二叉树
  • 【从零开始学Skynet】基础篇(五):简易聊天室
  • HDU - 2089 不要62(数位DP)
  • 网络安全与防御
  • 【DT】蒸脱机的结构和工作原理
  • Docker管理软件
  • 关于运行时内存数据区的一些扩展概念
  • 计算机组成原理第二章数据的表示与运算(中)
  • 我的第一台电脑的故事
  • 【1041. 困于环中的机器人】
  • 几何算法——4.交线(intersection curve)的表达与参数化、微分性质
  • 【GPT】让你事半功倍特别好用的5个GPT工具
  • 人工智能大模型多场景应用原理解析
  • SpringBoot默认包扫描机制与默认配置文件
  • RabbitMq 消息可靠性问题(一) --- publisher发送时丢失
  • Java初识泛型
  • 寸照换底色技巧大全,超详细图文教程
  • 这篇文章价值很大:股票历史分时成交数据怎么简单获取?【干货】
  • muduo源码剖析--Buffer
  • AI人工智能简介和其定义
  • python数据清洗
  • Python3 os.makedirs() 方法、Python3 os.read() 方法
  • 【Linux安装数据库】Ubuntu安装mysql并连接navicat
  • GaussDB工作级开发者认证—第一章GaussDB数据库介绍
  • 阿里张勇:所有行业都值得用大模型重新做一遍!
  • ES6(字符串的扩展与新增方法)
  • rk3568点亮LCD(lvds)
  • 全终端办公电子邮件集成方案