PostgreSQL - 创建数据库 创建数据表

第一次登陆PG

像oracle一样, 虽然我们安装数据库的时候使用的是root超级用户, 但是一切的数据库操作都是受用 postgres 这个系统普通用户:

su - postgres

查看数据库版本

[postgres@pg01 ~]$ psql --version
psql (PostgreSQL) 12.0

查看所有PG库

这点很像myql的结构, 一共有三个数据库

  1. postgres 系统库
  2. 剩下的两个是模板库
[postgres@pg01 ~]$ psql -l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

创建数据库

直接在操作系统下进行创建, 并查看

[postgres@pg01 ~]$ createdb dd

[postgres@pg01 ~]$ psql -l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 dd        | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

使用数据库

[postgres@pg01 ~]$ psql dd
psql (12.0)
Type "help" for help.

dd=# select now();
              now              
-------------------------------
 2020-03-01 16:52:28.816911+08
(1 row)

dd=# 
dd=# 
dd=# select version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 12.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23), 64-bit
(1 row)

dd=# 
dd=# exit

删除数据库

[postgres@pg01 ~]$ dropdb dd
[postgres@pg01 ~]$ 
[postgres@pg01 ~]$ psql -l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

Table 数据表

库让咱们删了, 现在创建学习的库 dong:

[postgres@pg01 ~]$ createdb dong

[postgres@pg01 ~]$ psql -l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 dong      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

创建Table

  1. 先登录指定的数据库中
[postgres@pg01 ~]$ psql dong
psql (12.0)
Type "help" for help.

dong=# 
  1. 创建表语句, 基本上跟Oracle , mysql一样
dong=# create table t1 ( id int , name varchar(20) , content text);
CREATE TABLE
dong=# 

查看当前库中所有表

dong=# \dt
        List of relations
 Schema | Name | Type  |  Owner   
--------+------+-------+----------
 public | t1   | table | postgres
(1 row)

查看表结构

dong=# \d t1
Table “public.t1”
Column | Type | Collation | Nullable | Default
---------±----------------------±----------±---------±--------
id | integer | | |
name | character varying(20) | | |
content | text | | |

修改表名

语句是不是很眼熟

dong=# alter table t1 rename to tab1;
ALTER TABLE

dong=# \dt
        List of relations
 Schema | Name | Type  |  Owner   
--------+------+-------+----------
 public | tab1 | table | postgres
(1 row)

删除表

dong=# drop table tab1;
DROP TABLE
dong=# \dt
Did not find any relations.

引用操作系统文件脚本 \i

通过引用操作系统上的.sql文件, 创建对象的方法

[postgres@pg01 ~]$ vi ct.sql 
create table t2 (id int , name varchar(10));
~     ## 保存并退出

使用 \i import 导入文件中的内容:

[postgres@pg01 ~]$ psql dong
psql (12.0)
Type "help" for help.

dong=# \dt
Did not find any relations.

dong=# \i ct.sql
CREATE TABLE

dong=# \dt
        List of relations
 Schema | Name | Type  |  Owner   
--------+------+-------+----------
 public | t2   | table | postgres
(1 row)

开启归档

安装好数据库之后,最好开启归档模式,这对数据库是十分安全的,具体配置详见《PostgreSQL 12 开启归档》

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值