暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第3天 | 学习openGauss创建数据库、修改数据库属性和删除数据库

原创 周期三 2021-12-13
422

本次课程的学习目标是学习openGauss创建数据库、修改数据库属性和删除数据库。

首先是进入环境

root@modb:~# su - omm
omm@modb:~$ gsql -r
gsql ((openGauss 2.0.0 build 78689da9) compiled at 2021-03-31 21:03:52 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)Type "help" for help.

1.创建数据库

–查看当前服务中有哪几个数据库

\l

–新创建名为music的数据库

CREATE DATABASE music;

–再次查看当前服务中的数据库,可以查看到新创建的数据库

\l

2.修改数据库属性

–修改数据库的最大连接数

ALTER DATABASE music CONNECTION LIMIT= 10;

–将music重命名为music1

ALTER DATABASE music RENAME TO music1;

–查看修改成功

\l

3.删除数据库

DROP DATABASE music1;

4.在新创建的数据库中创建表

CREATE DATABASE music2;

–进入数据库music2

\c music2;
CREATE TABLE t2(a int, b varchar(10));

–退出gsql程序

\q

课后作业

1.分别创建名为tpcc1和tpcc2的数据库

omm=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------
 omm       | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
(4 rows)

原来默认四个数据库。

omm=# CREATE DATABASE tpcc1; 

CREATE DATABASE

omm=# CREATE DATABASE tpcc2;

CREATE DATABASE

两个都创建成功,我们可以再次查看一下,变成了6个。

omm=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------
 omm       | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | omm=# 
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 tpcc1     | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 tpcc2     | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
(6 rows)


2.将tpcc1数据库重命名为tpcc10

omm=# ALTER DATABASE tpcc1 RENAME TO tpcc10;
ALTER DATABASE


3.分别使用\l和\l+两个元命令查看数据库信息

omm=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------
 omm       | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 tpcc10    | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 tpcc2     | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
(6 rows)

\l+能够查看到更多的信息。

omm=# \l+
                                                               List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges | Size  | Tablespace |                Description                 
-----------+-------+----------+-------------+-------------+-------------------+-------+------------+--------------------------------------------
 omm       | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   | 10 MB | pg_default | 
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   | 10 MB | pg_default | default administrative connection database
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +| 10 MB | pg_default | default template for new databases
           |       |          |             |             | omm=CTc/omm       |       |            | 
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +| 10 MB | pg_default | unmodifiable empty database
           |       |          |             |             | omm=CTc/omm       |       |            | 
 tpcc10    | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   | 10 MB | pg_default | 
 tpcc2     | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   | 10 MB | pg_default | (6 rows)


4.在数据库tpcc2中创建customer表,字段自定义

omm=# \c tpcc2;
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "tpcc2" as user "omm".
tpcc2=# CREATE TABLE customer(custom_id int, custom_name varchar(30));
CREATE TABLE
tpcc2=# \d
                          List of relations
 Schema |   Name   | Type  | Owner |             Storage              
--------+----------+-------+-------+----------------------------------
 public | customer | table | omm   | {orientation=row,compression=no}
(1 row)
select * from customer;
 custom_id | custom_name 
-----------+-------------
(0 rows)
\c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
                         connect to new database (currently "tpcc2")

这里的\c是connect的意思,目前连接的数据库是tpcc2.

可以在\h和\?查找到更多的说明。

5.删除新创建的数据库

tpcc2=# DROP DATABASE tpcc10;
DROP DATABASE
tpcc2=# DROP DATABASE tpcc2;
ERROR:  cannot drop the currently open database

tpcc2=# \c omm
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "omm" as user "omm".
omm=# DROP DATABASE tpcc2;
DROP DATABASE
omm=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------
 omm       | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
 template1 | omm   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/omm           +
           |       |          |             |             | omm=CTc/omm
(4 rows)

 在使用tpcc2的时候不能删除自己,需要切换到其他的数据库比如说omm才可以删除。

6.退出gsql程序

omm=# \q
omm@modb:~$ 

总结:学习了创建和删除数据库的操作,还可以进入到数据库中创建表,值得注意的是在当前数据库下无法删除自己,需要切换到其他数据库才能drop。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论