开发者社区> 问答> 正文

老师 ob mysql模式和oracle模式是在哪块指定呢?

老师 ob mysql模式和oracle模式是在哪块指定呢?

展开
收起
cuicuicuic 2023-07-04 13:57:28 155 0
来自:OceanBase
5 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    MySQL和Oracle的模式(schema)指定方式存在一定差异:

    MySQL:

    模式在数据库级别指定。一个MySQL数据库可以有多个模式。
    通过USE语句指定当前模式:
    sql
    Copy
    USE schema_name;
    创建表时可以指定模式:
    sql
    Copy
    CREATE TABLE schema_name.table_name(
    ...
    );
    若不指定模式,则默认为当前数据库的默认模式。
    Oracle:

    模式在用户级别指定。一个Oracle用户对应一个模式。
    用户即模式,不需要额外指定。
    创建表时直接创建,不需要指定模式:
    sql
    Copy
    CREATE TABLE table_name(
    ...
    );
    表自动创建在当前用户对应的模式下。
    主要区别在于:
    MySQL中模式是数据库的子元素,一个数据库下可以创建多个模式。
    Oracle中模式是用户的同义词,一个用户对应一个模式。

    如需在MySQL中创建与Oracle类似的指定用户即模式的方式,可以:
    为每个模式创建一个MySQL用户
    为每个用户指定一个默认模式
    使用用户登录时,自动切换到对应的模式下

    2023-07-31 08:00:29
    赞同 展开评论 打赏
  • MySQL和Oracle是两种不同的数据库管理系统,它们具有不同的模式概念:

    1. MySQL模式:MySQL使用数据库(Database)和表(Table)的层次结构进行组织和管理。在MySQL中,可以通过创建和选择数据库来切换模式。例如,使用CREATE DATABASE命令创建新数据库,然后使用USE命令选择要使用的数据库。

    2. Oracle模式:Oracle使用用户(User)和模式(Schema)的层次结构进行组织和管理。在Oracle中,用户用于身份验证和授权,并且每个用户可以拥有一个或多个模式。模式包含表、视图、存储过程等对象。在Oracle中,默认情况下,用户和模式名称是相同的。

    对于MySQL和Oracle,模式的使用方式略有不同。在MySQL中,可以通过选择数据库来切换模式,而在Oracle中,可以通过连接到特定的用户来间接选择模式。

    2023-07-04 17:01:28
    赞同 展开评论 打赏
  • 在MySQL和Oracle等数据库中,"模式"(Schema)是一个逻辑上的概念,用于组织和管理数据库中的对象,比如表、视图、索引等。不同的数据库系统有不同的方式来指定模式。

    1. MySQL中的模式:

      • 在MySQL中,默认的模式是与用户名相同的模式。例如,如果你使用的用户名是"myuser",那么默认的模式就是"myuser"。
      • 可以通过在SQL语句中使用"USE"语句来切换当前的模式,例如:USE my_schema;
      • 在创建表或其他对象时,可以在SQL语句中显式指定模式名,例如:CREATE TABLE my_schema.my_table (...)
    2. Oracle中的模式:

      • 在Oracle中,模式是与用户(User)相关联的。每个用户都有自己的模式,其中包含了该用户所拥有的对象。
      • 在连接到Oracle数据库时,需要提供用户名和密码,这样会将当前模式设置为该用户的模式。
      • 可以通过在SQL语句中使用"ALTER SESSION SET CURRENT_SCHEMA"语句来切换当前的模式,例如:ALTER SESSION SET CURRENT_SCHEMA = my_schema;
      • 在创建表或其他对象时,可以在SQL语句中显式指定模式名,例如:CREATE TABLE my_schema.my_table (...)

    需要注意的是,具体的语法和方式可能因数据库版本和配置而有所不同。

    2023-07-04 14:38:36
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    MySQL 和 Oracle 是两种不同的数据库管理系统,它们有不同的模式概念。

    在 MySQL 中,模式(Schema)是用来组织和管理数据库对象(如表、视图、索引等)的逻辑容器。每个模式都是一个独立的命名空间,可以包含多个表和其他对象。在 MySQL 中,默认情况下,创建的表和其他对象都会被分配到一个名为"default"的模式中。您可以通过使用 USE 命令来切换到不同的模式,或者在创建表时指定所属的模式。

    例如,创建一个名为 mytable 的表并指定它所属的模式为 myschema,可以使用以下语句:

    sql CREATE TABLE myschema.mytable ( ... ); 在 Oracle 中,模式(Schema)也是一个逻辑容器,用来组织和管理数据库对象。但是与 MySQL 不同的是,Oracle 中的模式与用户(User)是一一对应的。每个用户都拥有一个独立的模式,可以在其中创建和管理自己的表和其他对象。用户可以使用 CREATE USER 命令来创建新用户,并指定其所属的模式。

    例如,创建一个名为 mytable 的表并指定它所属的模式为 myschema,可以使用以下语句:

    sql CREATE TABLE myschema.mytable ( ... ); 总结来说,无论是在 MySQL 还是 Oracle 中,都可以通过在创建表时指定模式来确定表所属的命名空间。具体的语法和细节可能会有所不同,您可以根据具体的数据库管理系统的文档来了解更多信息。

    2023-07-04 14:38:10
    赞同 展开评论 打赏
  • 可以在创建租户的时候指定 create tenant xxx replica_num = 3,primary_zone=RANDOM, resource_pool_list=('xxxx') set ob_compatibility_mode = 'mysql'; 社区版本只支持mysql,此回答整理自钉群“[社区]技术答疑群OceanBase”

    2023-07-04 14:37:28
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像