postgresql入门

来源:互联网 发布:淘宝宝贝展示框架代码 编辑:程序博客网 时间:2024/06/06 21:42

postgresql数据管理系统使用命令方式有两种:
1. 内部命令,以反斜线开始 \ ,如: \l 显示所有数据库
2. 标准SQL命令,以分号 ; 或 \g 结束,可以使用多行

数据库的关键操作:
1. 启动服务  2. 登录  3. 建立数据库  4. 建立表  5. 插入记录到表中 
6. 更新/删除/查询/修改操作           7. 退出    8. 停止服务

在windows7中安装的postgresql默认使用GBK字符集,经常不能使用显示中文的数据表,解决办法:
注意:在windows 7下的postgresql中写操作时要使用GBK,读操作时要用UTF8;

设置字符集为 utf-8 就可以了.
postgres=# \encoding utf-8       // 设置客户端的字元集
postgres=# \encoding                  // 显示客户端的字元集
postgres=# show client_encoding;      // 显示客户端的字元集
postgres=# show server_encoding;      // 显示服务器的字元集

启动服务:
net start postgresql-9.5
停止服务:
net stop postgresql-9.5

获取命令帮助:
c:\> psql --help

登录( 注意: postgres 是默认用户即管理员 ):
路径 psql -h 服务器 -U 用户名  -d 数据库 -p 端口地址  // -U 是大写
C:\> psql -h localhost -U postgres -p 5432            // 默认打开postgres数据库
C:\> psql -h 127.0.0.1 -U postgres -d fengdos -p 5432 // 打开fengdos数据库
C:\> psql -U postgres                                 // 快速登录(全部使用默认设置)
// 使用某些有密码的用户的情况下, 会提示输入密码.
用户 postgres 的口令: ILoveYou         // 输入时不会显示任何字符
// 成功后显示:
psql (9.5.3)
输入 "help" 来获取帮助信息.
// 进入postgresql数据库系统提示符状态, ******=# 中=#前面为当前使用的数据库
postgres=# help          // 获取系统帮助,显示如下:
---------------------------------------------------------
您正在使用psql, 这是一种用于访问PostgreSQL的命令行界面
键入:\copyright 显示发行条款
      \h 显示 SQL 命令的说明
      \? 显示 pgsql 命令的说明 (pgsql内部命令)
      \g 或者以分号(;)结尾以执行查询
      \q 退出注: 数据库名称区分大小写的。
---------------------------------------------------------
postgres=# \help         // 获取SQL命令的帮助,同 \h
postgres=# \quit         // 退出,同 \q
postgres=# \password dlf // 重新设置用户dlf的密码,然后需要 \q退出后才生效
c:\>psql exampledb < user.sql  // 将user.sql文件导入到exampled数据库中
postgres=# \h select   // 精细显示SQL命令中的select命令的使用方法
postgres=# \l          // 显示所有数据库
postgres=# \dt         // 显示当前数据库中的所有表
postgres=# \d [table_name]  // 显示当前数据库的指定表的表结构
postgres=# \c [database_name]  // 切换到指定数据库,相当于use
postgres=# \du                 // 显示所有用户
postgres=# \conninfo           // 显示当前数据库和连接信息
postgres=# \e   // 进入记事本sql脚本编辑状态(输入批命令后关闭将自动在命令行中执行)
postgres=# \di  // 查看索引(要建立关联)
postgres=# \prompt [文本] 名称    // 提示用户设定内部变数
postgres=# \encoding [字元编码名称]  // 显示或设定用户端字元编码
*可以将存储过程写在文本文件中aaa.sql,然后在psql状态下:
postgres=# \i aaa.sql    // 将aaa.sql导入(到当前数据库)
postgres=# \df           // 查看所有存储过程(函数)
postgres=# \df+ name     // 查看某一存储过程
postgres=# select version();            // 获取版本信息
postgres=# select usename from pg_user; // 获取系统用户信息
postgres=# drop User 用户名             // 删除用户

其它SQL命令通用如(标准化SQL语句):
*创建数据库:
create database [数据库名];

*删除数据库:
drop database [数据库名]; 

*创建表:
create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);

*在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);

*显示表内容:
select * from student;

*重命名一个表:
alter table [表名A] rename to [表名B];

*删除一个表:
drop table [表名]; 

*在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];

*删除表中的字段:
alter table [表名] drop column [字段名];

*重命名一个字段: 
alter table [表名] rename column [字段名A] to [字段名B];

*给一个字段设置缺省值: 
alter table [表名] alter column [字段名] set default [新的默认值];

*去除缺省值: 
alter table [表名] alter column [字段名] drop default;
 
*修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];

*删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名];    // 删空整个表

*可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库:
pg_dump drupal>/opt/Postgresql/backup/1.bak

0 0
原创粉丝点击