• [转]PostgreSQL命令行使用手册


    启动pgsl数据库

    1
    pg_ctl -D /xx/pgdata start

    查看pgsl版本

    1
    pg_ctl --version

    命令行登录数据库

    1
    psql -U username -d dbname -h hostip -p port

    列出所有数据库

    1
    l

    切换数据库

    1
    c dbname

    列出当前数据库的所有表

    1
    d

    查看指定表的所有字段

    1
    d tablename

    查看指定表的所有字段

    查看指定表的基本情况

    1
    d+ tablename

    查看指定表的基本情况

    退出操作

    1
    q

    新建表

    例1(主键)

    1
    2
    3
    4
    5
    6
    create table TESTCASE(
    id INTEGER,
    task_class INTEGER,
    age TEXT,
    PRIMARY KEY(id, task_class)
    );

    例2(自增SERIAL

    1
    2
    3
    4
    5
    create table CREATETASK_CHKID_N(
    id SERIAL PRIMARY KEY,
    chk_id TEXT,
    n INTEGER
    );

    其中SERIAL代表自增,默认从1开始增加,每次自增1

    删除表

    1
    drop table REL_CROSS_NODE;

    清空表

    1
    delete from [表名]

    添加字段

    1
    alter table [表名] add column [字段名] [类型];

    更改字段

    1
    alter table [表名] rename column [旧字段名] to [新字段名];

    例:把表table_ex字段col_1限制非空去掉:ALTER TABLE table_eg ALTER col_1 drop not NULL

    • 更改字段属性,含空格

    如果把字段colname把属性Text转化为int,原来text里面存在空啥的,可以

    1
    ALTER TABLE tablename ALTER COLUMN colname TYPE int USING (trim(keyword)::integer);

    删除字段

    1
    alter table [表名] drop column [字段名];

    表中插入一行数据

    1
    insert into [表名] (字段1,字段2) values (值1,值2);

    例如:

    1
    insert into assist_info (id, maat_id, block_type) values ('F006', 'F7775', 1)

    注:如果表中字段有大写的字段,则需要对应的加上双引号。例:

    1
    insert into test (no, "Name") values ('123', 'jihite');

    值用单引号引起来(‘’),不能用双引号(””)

    表中删除一行数据

    1
    delete from [表名] where [该行特征];

    修改表中数据

    1
    update [表名] set [目标字段名]=[目标值] where [该行特征]

    删除表

    1
    drop table [表名];

    退出postgreSql

    1
    q

    两个查询结果做差except

    1
    2
    3
    4
    5
    (select node_id from node where node_id=1 or node_id=2) except (select node_id from node where node_id=1);
    node_id
    ---------
    2
    (1 row)

    复制表

    1
    CREATE TABLE test_a_copy AS SELECT * FROM test_a;

    命令导入sql数据文件

    1
    psql -h localhost -d databaseName -U username -f filename

    查询结果存储到输出文件

    格式:

    1
    o file_path

    这样就会把查询结果存储到输出文件中。例

    1
    2
    3
    postgres=> o /home/jihite/data/iu_data;
    postgres=> select test_id from cdb_all_iu_data limit 10;
    postgres=> select test_id from cdb_all_iu_data limit 5;

    结果:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    test_id
    --------------
    2143
    2153
    2144
    2156
    2145
    2154
    2146
    2157
    2147
    2155
    (10 rows)
     
    test_id
    --------------
    2143
    2153
    2144
    2156
    2145
    (5 rows)

    数据库的备份&恢复

    导出到线下文件

    1
    pg_dump --host hostname --port port --username username -t tablename -d dbname >/home/jihite/table.sql

    把线下文件导入到数据库

    1
    psql -h 10.125.7.68 -p 5432 -d postgres -U postgres -W postgres -f 2.sql

    x 打开扩展显示功能

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    postgres=> x
    Expanded display is on.
    postgres=> select * from cdb_chk_items where chk_id = 'R000000335';
    -[ RECORD 1 ]+------------------------------------------------------------------------------------------------
    chk_id | R000000335
    chk_desc | 道路属性与道路属性相关检查
    chk_info | {"FIELDS": {"TRAFFIC_SIGN": ["TYPE", "GEOM"], "ROAD_LINK": ["ROAD_CLASS", "FORM_WAY", "GEOM"]}}
    err_desc | {"ERR2": "roadclass取值错误", "ERR1": "formway取值错误"}
    chk_level | 1
    is_opened | 1
    module_name | TRAFFIC_SIGN
    invalid_flag | 1
    rel_mode | MAIN_LAYER:TRAFFIC_SIGN
    : TRAFFIC_SIGN|A,M|DIRECT
    : ROAD_LINK|A,M,D|ATTR_REL

    从表A中把符合条件的记录拷贝到表B

    1
    insert into A select * from B where id in ('a', 'b', 'c');


    转载自jihite博客:http://www.cnblogs.com/kaituorensheng/p/4667160.html

  • 相关阅读:
    【css】border-image
    函数的调用
    函数的返回值
    定义函数的三种形式
    文件处理实战之购物车系统
    文件处理小结
    文件修改的两种方式
    with管理文件操作上下文
    绝对路径和相对路径
    基本的文件操作
  • 原文地址:https://www.cnblogs.com/xuyuan77/p/8074100.html
Copyright © 2020-2023  润新知