postgresql使用及操作

来源:互联网 发布:淘宝vr购物在哪里打开 编辑:程序博客网 时间:2024/05/17 21:02

postgresql

创建用户

CREATE USER 'username' WITH PASSWORD 'rdyhdenali' SUPERUSER ;

创建databaase

CREATE DATABASE dbname WITH OWNER=postgres;

连接数据库

psql -h hostname -U username -d postgres -p post -W password 

基本命令

➜  ~ createdb test➜  ~ psql -d testpsql (9.6.1)Type "help" for help.test=#test=# \l 查看系统中现存的数据库 test=# \q 退出客户端程序psql test=# \c 从一个数据库中转到另一个数据库中test=# \dt [tableName] 查看表 test=# \d [tableName] 查看表结构test=# \du 查看数据库的用户信息test=# \di 查看索引 test=# \conninfo 出当前数据库和连接的信息test=# \e 打开文本编辑器。test=# \conninfo 列出当前数据库和连接的信息。test=# \dn 或者 \dnS 查看当前database下的schematest=# \dt 查看当前database的当前搜索路径下schema的表test=# SELECT * FROM pg_stat_activity;  查看当前对数据库的所有操作进程

基本的数据库操作,就是使用一般的SQL语言。

  • 创建新表

    CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE); 
  • 插入数据

    INSERT INTO usertbl(name, signupdate) VALUES(‘张三’, ’2013-12-22′); 
  • 选择记录

    SELECT * FROM user_tbl; 
  • 更新数据

    UPDATE user_tbl set name = ‘李四’ WHERE name = ‘张三’; 
  • 删除记录

    DELETE FROM user_tbl WHERE name = ‘李四’ ; 
  • 添加栏位

    ALTER TABLE user_tbl ADD email VARCHAR(40); 
  • 更新结构

    ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL; 
  • 更名栏位

    ALTER TABLE usertbl RENAME COLUMN signupdate TO signup; 
  • 删除栏位

    ALTER TABLE user_tbl DROP COLUMN email; 
  • 表格更名

    ALTER TABLE usertbl RENAME TO backuptbl; 
  • 删除表格

    DROP TABLE IF EXISTS backup_tbl; 

配置search_path路径,为了能够找到schema的表等

  • 查看当前的schema值

    postgres=# SHOW search_path;    search_path----------------- "$user", public(1 row)
  • 创建schema值

    test=# create schema test;CREATE SCHEMA
  • 将新schema test加入到搜索路径

    postgres=# set search_path to test,public;SETpostgres=# SHOW search_path; search_path-------------- test, public(1 row)
  • 创建schema下的表(test2)

    postgres=# create table test.test2;
  • 删除schame

    postgres=# drop schema test;

数据的导入导出

  • 导出

pg_dump [option]...[DBNAME]

常用的options:    -f --file=FILENAME      导出到文件或文件夹    -F --format=c|d|t|p     导出文件的格式(文本,文件夹,tar包)    -Z --compress=0-9       被压缩格式的压缩级别    -V --versoin            输出版本信息, 然后退出    -a --data-only          只转储数据,不包括模式    -c --clean              在重新创建之前,先清除(删除)数据库对象    -C --create             在转储中包括命令,以便创建数据库    -n --schema=SCHEMA      只转储指定名称的模式    -s --schema-only        只转储模式, 不包括数据    -t --table=TABLE        只转储指定名称的表    ------     -h --host=HOSTNAME     主机名     -p --port=PORT         端口号     -U --username=NAME     用户名     -w --no-password       无密码登录     -W --password     -d --dbname=DBNAME
  • 导入

    导入数据时首先创建数据库再用psql导入

    ➜  ~ createdb test
    • psql(文本格式的导入)

      ➜  ~ psql -d test -U username -f test(文件路径)SET...ALTER TABLE
    • pg_restore(其他格式的导入)

      ➜  ~ pg_restore -U username -h localhost -d test t.tar(文件路径)
0 0
原创粉丝点击