PostgresSQL数据库的使用
下载安装
数据类型
使用指导
数据库操作
连接控制台
psql -h <实例连接地址> -U <用户名> -p <端口号>
| 参数 | 描述 |
|---|---|
| 实例连接地址 | RDS PostgreSQL实例的连接地址,本机可用localhost或者127.0.0.1 |
| 用户名 | 创建的RDS PostgreSQL的用户名 |
| 端口号 | 默认为5432 |

创建数据库
create database test;

查看数据库
\l 查看数据库信息
\l+ 查看数据库信息及描述

选择数据库
\c + 数据库名

连接数据库
psql -h <实例连接地址> -U <用户名> -p <端口号> -d <数据库名>
| 参数 | 描述 |
|---|---|
| 实例连接地址 | RDS PostgreSQL实例的连接地址,本机可用localhost或者127.0.0.1 |
| 用户名 | 创建的RDS PostgreSQL的用户名 |
| 端口号 | 默认为5432 |
| 数据库名 | 已经存在于RDS PostgreSQL的数据库名 |

删除数据库
DROP DATABASE [ IF EXISTS ] name
参数说明:
IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。
name:要删除的数据库的名称。
- DROP DATABASE 会删除数据库的系统目录项并且删除包含数据的文件目录。
- DROP DATABASE 只能由超级管理员或数据库拥有者执行。
- DROP DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下:

数据库表操作
创建表
CREATE TABLE IF NOT EXISTS table_name(
column1 datatype primary key,
column2 datatype not null,
column3 datatype not null default default_value,
.....
columnN datatype,
PRIMARY KEY( 一个或多个列 )
);
注意事项
primary key指定关键字not null表示字段不能为空if exists或者if not exists判断当前需要创建的表是否存在datatype字段类型

查看所有表
命令行
\d 查看所有表
\d+ 查看所有表及其描述

SQL语句
SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg%' AND tablename NOT LIKE 'sql_%' ORDER BY tablename;
select tablename from pg_tables where schemaname='public';

查看表格信息
\d tablename 查看表格信息
\d+ tablename 查看表格信息及描述信息

添加注释
给表添加注释
comment on table student is ‘这是一张学生表’;

给表字段添加注释
comment on column student.id is ‘学生id’;

查看当前表的所有字段
select * from information_schema.columns where table_name='student';
| 名称 | 描述 |
|---|---|
| table_catalog | 数据库名 |
| table_name | 表名 |
| column_name | 字段名 |
| column_default | 默认值 |
| is_nullable | 是否为空, YES/NO |
| data_type | 字段类型 |
| character_maximnum_length | 字段长度 |
| udt_name | 字段类型简称 |
| … … |

查询当前表字段描述信息
select a.attname, d.description
from pg_class c, pg_attribute a , pg_description d
where d.objoid=a.attrelid and d.objsubid=a.attnum and a.attrelid = c.oid and c.relname = 'student';

查询当前表字段信息
select i.column_name, i.data_type, i.character_maximum_length, i.column_default, i.is_nullable, d.description
from pg_class c, pg_attribute a, pg_description d, information_schema.columns i
where d.objoid=a.attrelid and d.objsubid=a.attnum and a.attrelid = c.oid
and i.column_name=a.attname and i.table_name=c.relname and c.relname = 'student';

删除表
DROP TABLE table_name;



















