## 十三、逻辑结构:表管理
学习目标:学习openGauss表的创建、搜索路径和访问方法等
环境准备
su - omm
gsql -r
--以数据库用户user1的身份,连接到刚刚创建的数据库enmdb:
gsql -d enmdb -U user1 -W kunpeng@1234 -r
1.创建一个表(默认,不指定模式),查看该表在那个模式下
创建表
默认情况下,在某个数据库上创建的数据库对象(本例是表testtable),都位于该数据库中的public模式中。
create table t1 (col varchar(10));--创建表t1
\dt t1--查看该表在哪个模式下

\dt test
2.使用一个用户连接到enmdb数据库,测试该用户可以访问不同模式中的表
gsql -d enmdb -U user1 -W kunpeng@1234 -r
create table t1 (col varchar(10));--不指定模式,public
create table enmschm1.testtable(col1 char(100));--在enmschm1下创建
create table enmschm2.testtable(col1 char(100));--在enmschm2下创建
insert into enmschm2.testtable values('Hello from testtable IN SCHEMA enmschm2!');
select * from t1 --访问的是public模式下的表
select * from enmschm1.testtable --访问的是enmschm1模式下的表
select * from enmschm2.testtable --访问的是enmschm2模式下的表

3.在会话级设置模式搜索路径为:模式enmschm1,使用SchemaName.TableName的表标识方法访问表(创建表、插入数据和查询表中数据)
show SEARCH_PATH;--查看搜索路径
SET SEARCH_PATH TO enmschm1;--切换模式为enmschm1
CREATE TABLE ensmschm2.test(col1,char(10));--在ensmschm2模式下创建test
insert into enmschm2.test values('hellp');--在表test中插入数据
select * from enmschm2.test;--查询数据


总结:本课主要是关于openGauss的另一种逻辑结构————表,反映了表与模式之间的关系,可以不指定模式去创建表,此时模式为Public,也可以指定模式去创建表。并且设置模式搜索路径,语句为 SET SEARCH_PATH TO 模式名,也可以直接通过SchemaName.TableName的表标识方法去访问表,并且通过\dt 表名可以查看该表所在的模式。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




