MySQL和Oracle等数据库概念中的Schema

  1. MySQL中Schema,模式。关于数据库和表的布局和特性的信息,一般情况下,模式是数据库(整个Database)的同义词。MySQL中Schema等同于Database,即CREATE DATABASE和CREATE SCHEMA等效。在很多地方,Schema也可翻译为数据源。
  2. 但是在其他所有的商业数据库比如Oracle、SQLServer、Informix中,Schema是Database的一部分,表示The tables and other objects owned by a single user,这句话的意思是说,Schema强调归属于用户User的一个空间,它用于存储Object比如Table。如果把Database当作一个仓库,那么Schema就是其中的一个个房间,每个Schema都有对应的主人User。当然,数据库映射的User可以被分配具体的权限,操作数据库中不同的房间。在这些数据库中,创建一个用户User,默认需要指定一个已存在的Schema或者创建一个同名Schema,同时数据库也会把一些系统Schema和附加Schema的权限指定给这个User。Select的时候,如果不指定Schema,会从sys.table中先找,然后user.table(默认)等依次类推;Create Table的时候,table会依据用户默认Schema、同名Schema、有权限的前缀Schema的顺序创建在对应的位置。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在MySQL查询Oracle数据库,您需要使用MySQL的Federated存储引擎。这个引擎允许MySQL连接到不同的数据源,包括Oracle数据库。 以下是在MySQL查询Oracle数据库的步骤: 1. 确保您的MySQL服务器已启用Federated存储引擎。您可以通过运行以下命令来检查: SHOW ENGINES; 如果您看到Federated列的“YES”,则表示已启用Federated存储引擎。 2. 在MySQL创建一个Federated表,该表将连接到Oracle数据库。例如,以下是创建一个连接到Oracle数据库的Federated表的示例: CREATE TABLE oracle_table ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT(11) NOT NULL, PRIMARY KEY (id) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='oracle://username:password@oracle_host:1521/oracle_sid/oracle_schema/oracle_table'; 其,“username”和“password”是连接到Oracle数据库所需的凭据,“oracle_host”是Oracle数据库服务器的主机名或IP地址,“1521”是Oracle数据库服务器的端口,“oracle_sid”是Oracle数据库的系统标识符,“oracle_schema”是Oracle数据库表所在的架构,“oracle_table”是要查询的Oracle表的名称。 3. 在MySQL查询Federated表。例如,以下是从Oracle检索数据的示例: SELECT * FROM oracle_table; 这将从Oracle检索所有数据,并将其返回到MySQL。 请注意,查询Oracle数据库时可能会遇到性能问题,因为MySQL必须通过网络连接到Oracle服务器并检索数据。因此,您应该进行适当的优化和测试,以确保查询效率最大化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值