mysql ddl postgresql_PostgreSQL教程(3)PostgreSQL的DDL与DML

本文详细介绍了PostgreSQL的服务管理命令,包括pg_ctl和psql的使用,以及help、l、d等内部命令。此外,还探讨了PostgreSQL的DDL语句,如创建数据库、用户、权限分配,以及DML操作,如修改数据库参数和创建表。
摘要由CSDN通过智能技术生成

一、PostgreSQL服务管理命令

1、pg_ctl——PGSQL启动与停止命令

pg_ctl start | stop | restart | reload | status | kill | register | unregister [-D] [-l] [-m] [-w]

pg_ctl start -D /data/postgresql/data/

pg_ctl stop -D /data/postgresql/data/ -m fast

#-D datadir:指定数据库文件系统路径,如果忽略则是PGDATA变量所指定的路径

#-l filename:指定服务器日志输出附加文件,如果不存在则自动创建,该文件默认不允许其他用户访问

#-m mode:关闭模式,分为smart、fast、immediate三种模式,可以用首字母简写,通常使用fast模式

#-w:启动或者停止服务所等待的超时时间

2、psql——PGSQL客户端命令

psql -h192.168.0.103 -U postgres -p5432 -d linuxe

#-U:指定用户名

#-p:指定服务端口

#-h:指定服务地址

#-d:指定连接数据库

#-f:导入指定的sql

#连接参数也可以用环境变量指定,这样就不用每次手写参数

export PGDATABASE=linuxe

export PGHOST=192.168.0.103

export PGPORT=5432

export PGDUSER=postgres

3、\help命令——用于查看各个子命令的语法帮助

\help create

\help create databse

\help create user

4、\l命令——也就是list,用于列出所有已创建的数据库,支持通配符过滤

\l

\l + #显示的信息更完整,包含了数据库大小、所有者、权限、表空间等

5、\d 命令——也就是display,用于查看数据库信息,支持通配符过滤

\d #列出当前库下的所有表

\d table_name #跟上表名显示表结构,支持通配符

\db #显示所有表空间

\dn #列出所有schema

\du #显示所有用户或角色,也可以写为\dg

\dp table_name #显示表的权限分配情况,也可以跟+号显示更详细

6、\i命令——也就是import,执行指定SQL文件

\i /data/test.sql

7、\q命令——退出数据库

8、\c命令——用于切换用户或者数据库

\c tanglu #切换到tanglu用户

\c postgres postgres #使用postgres用户切换到postgres,前面是库名,后面是用户名

9、\password命令——用于修改用户密码

#方法1

\password tanglu #交互形式修改tanglu用户密码

#方法2

alter user tanglu with password '123456'

二、PostgreSQL的DDL、DML语法

1、create database命令——创建库,相比MySQL多了一个owner的选项

CREATE DATABASE db_linuxe [ OWNER = user_name] #如果不写owner信息,该库默认属于当前执行命令的用户

2、create user命令——创建用户并设置用户权限和密码信息等

CREATE USER name [ [ WITH ] option [ ... ] ]

CREATE USER tanglu WITH PASSWORD '123456' SUPERUSER #使用PASSWORD选项来创建密码,和mysql的identified不同

CREATE USER tom WITH PASSWORD '123456' SUPERUSER; #创建一个超管用户

3、GRANT命令——为数据库用户授权,和MySQL类似的

GRANT CREATE ON DATABASE db_linuxe TO "user_name";

4、alter database命令——修改数据库各种参数

ALTER DATABASE db_linuxe CONNECTION LIMIT 10; #修改数据库最大连接数为10

ALTER DATABASE db_linuxe RENAME TO new_name; #修改数据库名为new_name

ALTER DATABASE db_linuxe OWNER TO new_user; #修改数据库属主

ALTER DATABASE db_linuxe SET TABLESPACE new_space; #修改表空间

ALTER DATABASE db_linuxe SET configuration_parameter TO new_value #修改配置信息

5、CREATE SCHEMA命令——建立SCHEMA,这个类似于名称空间,在每个database下可以建立多个SCHEMA,然后每个schema下又可以存在不同的表

create user tanglu;

create schema linuxe authorization tanglu;

\dn linuxe #查看指定schema下的信息

6、DROP DATABASE命令——删除数据库

DROP DATABASE db_linuxe;

7、CREATE TABLE命令——创建表,在PGSQL中由于多了一层SCHEMA的概念,所以建表的时候要多写一个SCHEMA信息,否则会创建在默认SCHEMA中

CREATE TABLE schema_name.table_name(

ID INT PRIMARY KEY NOT NULL,

NAME CHAR(50) NOT NULL

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值