Table of Contents
显而易见的是,第四天,第五天的课程内容,对于我这样的小白来说,是很有含金量的,这几科需要多多练习,多多尝试。当然,我对openGauss的使用和理解,也在稳步提升,真是令人振奋。
上文提要
上节课,我们学习了创建新用户,并使用不同用户创建表,插入数据,查询表等操作。本次课程内容依托于第四节课内容,如果有些想不起来了,不妨复习一下openGauss每日一练第 4 天。
学习目标
学习openGauss体系结构,了解实例(集簇或服务)和数据库的关系,归结为如下几点:
1. 使用用户1登录数据库1,创建一个表1,并插入一条数据
2. 使用用户1登录数据库2,创建一个表2,并插入一条数据
3. 使用用户1登录数据库3,创建一个表3,并插入一条数据
学习内容
摘要
数据库用户user1可以访问不同的数据库(musicdb1、musicdb2、musicdb3)。
实验中user1用户在数据库musicdb1中创建了表t11、在数据库musicdb2创建了表t21、在数据库musicdb3中创建了表t31,验证了这个结论。
课前准备
如果您充满活力和学习热情,一口气从第一课学到第五课,此时,您的数据库中可能已经有了一些 tablespace 和 database,为避免重复,影响接下来的学习的顺利程度,有必要做如下课前准备:
--进入数据库omm,创建表空间、测试数据库
drop DATABASE IF EXISTS musicdb;
drop DATABASE IF EXISTS musicdb1;
drop DATABASE IF EXISTS musicdb2;
drop DATABASE IF EXISTS musicdb3;
drop tablespace IF EXISTS music_tbs;
CREATE TABLESPACE music_tbs RELATIVE LOCATION 'tablespace/test_ts1';
CREATE DATABASE musicdb1 WITH TABLESPACE = music_tbs;
CREATE DATABASE musicdb2 WITH TABLESPACE = music_tbs;
CREATE DATABASE musicdb3 WITH TABLESPACE = music_tbs;
--执行下面的SQL语句,创建用户user1:
CREATE USER user1 IDENTIFIED BY 'kunpeng@1234';
--授予user1数据库系统的SYSADMIN权限:
ALTER USER user1 SYSADMIN;
结果:
注
细心的朋友可以看到,此时,我已经拥有user1用户,并赋予了管理员权限。
1. 使用user1用户,创建表t11,t21,t31,并插入数据
本次学习内容主旨为使用同一用户在不同数据库中建表及插入数据,所以此处只写一则示例,示例如下:
--用户user1登录到数据库musicdb1,创建表t11,并插入、查看数据
\c musicdb1 user1
create table t11(col1 char(20));
insert into t11 values('Hello openGauss! 11');
select * from t11;
结果:
注:
要点为同一用户在不同数据库中进行操作,所以特别要注意的是,连接不同数据库的命令,命令如下:
\c musicdb1 user1
\c musicdb2 user1
\c musicdb3 user1
课程作业
1.创建数据库musicdb10,创建用户user10,赋予sysadmin权限
CREATE USER user10 IDENTIFIED BY 'kunpeng@1234';
ALTER USER user1 SYSADMIN;
结果:
此处尝试密码为1234,奈何限制密码长度最短为8位,示例如下:
尝试密码12345678,限制密码需包含3种字符,示例如下:
所以统一使用密码kunpeng@1234,以防忘记。
2.使用用户user10访问数据库postgres,创建一个表并插入数据
-- 使用user10,访问数据库postgres
\c postgres user10
-- 创建表t_music
CREATE TABLE t_music(
music_name CHAR(20),
age CHAR(20),
author CHAR(20)
);
-- 插入数据
INSERT INTO t_music(
music_name,
age,
author
) values(
'七里香',
'2004',
'Jay'
);
--查询
SELECT * FROM t_music;
结果:
此处尝试age字段使用YEAR类型,建表失败,需要去群里问一下。
3.用户user10访问数据库omm,创建一个表并插入数据
-- 使用user10,访问数据库omm
\c omm user10
-- 创建表t_music
CREATE TABLE t_music(
music_name CHAR(20),
age CHAR(20),
author CHAR(20)
);
-- 插入数据
INSERT INTO t_music(
music_name,
age,
author
) values(
'不为谁而作的歌',
'2015',
'JJ'
);
--查询
SELECT * FROM t_music;
结果:
4.用户user10访问数据库musicdb10,创建一个表并插入数据
-- 使用user10,访问数据库musicdb10
\c musicdb10 user10
-- 创建表t_music
CREATE TABLE t_music(
music_name CHAR(20),
age CHAR(20),
author CHAR(20)
);
-- 插入数据
INSERT INTO t_music(
music_name,
age,
author
) values(
'日不落',
'2007',
'Jolin'
);
--查询
SELECT * FROM t_music;
结果:
往期内容
openGauss每日一练第 4 天
openGauss每日一练第 3 天
openGauss每日一练第 2 天
openGauss每日一练第 1 天