首页 > 数据库 >01 如何创建数据库? | OushuDB 数据库使用入门

01 如何创建数据库? | OushuDB 数据库使用入门

时间:2023-02-07 10:31:08浏览次数:48  
标签:template1 01 删除 DATABASE 创建 数据库 CREATE OushuDB


创建和管理数据库

数据库是使用CREATE DATABASE命令创建的,可以通过DROP DATABASE命令删除。

如果我们要查看现有数据库的集合,可以检查系统表pg_database,比如通过查询语句:

SELECT datname FROM pg_database;

01 如何创建数据库? | OushuDB 数据库使用入门_大数据

01 如何创建数据库? | OushuDB 数据库使用入门_大数据_02

我们也可以在psql程序中通过\l 命令来列出现存的数据库。

01 如何创建数据库? | OushuDB 数据库使用入门_OushuDB_03

创建一个数据库

下面我们来通过 SQL 命令CREATE DATABASE创建一个数据库。

语句格式为:

CREATE DATABASE name;

当前角色自动成为此新数据库的所有者,且以后删除这个数据库也是这个用户的特权。

例如,我们创建一个testdb数据库,并查询一下数据库列表:

01 如何创建数据库? | OushuDB 数据库使用入门_大数据_04

在连接到数据库服务器后,我们才能执行CREATE DATABASE命令,那么第一个数据库是怎样创建的呢?

第一个数据库总是由initdb命令在初始化数据存储区的时候创建的,这个数据库叫postgres。因此要创建第一个用户数据库时你可以与postgres连接。

在数据库集群初始化时会创建另一个名为template1 的数据库。在创建一个新的数据库时,实际上就是复制了template1数据库。这就意味着你对template1所做的任何修改都会传播到所有随后创建的数据库中。因此,避免在template1中创建对象,除非你想要这些对象传播到每个新建的数据库中。

另外,为了方便,你还可以在shell中用createdb 程序来创建新数据库:

createdb dbname

有时候你想为其它人创建一个数据库,并且应该使他成为新数据库的所有者,这样他就可以自己配置和管理这个数据库。要实现这个目标,可以在SQL环境使用下列命令:

CREATE DATABASE dbname OWNER rolename;

或用命令行执行:

createdb -O rolename dbname

创建完数据库之后,就可以开始创建数据表和数据操纵了,我们会在后续的课程中一一讲解。

删除数据库

数据库是用DROP DATABASE命令删除的,格式为:

DROP DATABASE name;

01 如何创建数据库? | OushuDB 数据库使用入门_OushuDB_05

只有数据库的所有者或者超级用户才可以删除数据库,删除数据库会删除数据库中包括的所有对象,且数据库的删除操作是不可恢复的。

我们不能在与目标库连接的时候执行DROP DATABASE命令,不过,我们可以和包括template1的其它数据库连接之后再删除。

为了方便,在 shell 上可以通过dropdb删除数据库的:

dropdb dbname

今天的课程就介绍到这里,我们下期继续讲解数据表~

标签:template1,01,删除,DATABASE,创建,数据库,CREATE,OushuDB
From: https://blog.51cto.com/u_15334349/6041413

相关文章

  • 初学mysql数据库-基础知识
    一.mysql基本命令1.基础常用命令mysql-uroot-p密码;(也可以不带密码,之后输入)本地登录mysql-h登录ip-p端口(通常3306)-uroot-p密码;远程登录desc表名;查看表的......
  • 使用瀚高数据库hibernate方言报错
    瀚高数据库目录环境症状问题原因解决方案环境系统平台:Linuxx86-64RedHatEnterpriseLinux7版本:4.5.7症状使用hibernate查询的时候java是integer类型的,where查询时报错......
  • 01-语义分割
                     a:正负样本的比例设置的权值;Y是相等于像素点判断的类别的难易程度权值。             ......
  • 多线程查询数据库避免重复
    contriller:packagebatch;importcom.alibaba.fastjson.JSONObject;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.......
  • springboot3 security 从始至终--01初体验
    本文带领读者体验springbootsecurity的魅力:借助自动配置能力只需要简单几步就能将接口纳入权限管控。第一步创建项目如上图,为了更好地演示配置过程,创建一个空项目。......
  • 杭电2602---01背包
    骨收集器​​http://acm.hdu.edu.cn/showproblem.php?pid=2602​​问题描述许多年前,在泰迪的家乡有一个叫“拾骨者”的人。这个人喜欢收集不同的骨头,比如狗,牛,他还去了坟......
  • 杭电1201
    18岁生日ProblemDescriptionGardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都......
  • 001.clickhouse-创建库表
    clickhouse登录-多行模式clickhouse-client--host=x.x.x.x--port=9000--user=xxxx--password=xxxx-mn clickhouse分普通表创建 CREATETABLEdefault.tmp_......
  • P3312 [SDOI2014]数表
    [SDOI2014]数表题意即求:\[\sum_{i=1}^{n}\sum_{j=1}^{m}\left[\sigma_1(\gcd(i,j))\lea\right]\sigma_1(\gcd(i,j))\pm......
  • 2015 房子距离
    X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:我们的问......