POSTGRESQL 创建表结构、修改字段、导入导出数据库(支持CSV)
2014-08-15 14:19
309 查看
这两个月经常使用postgresql,总结一些经常使用的语句:
下面是导入、导出数据库:
如果仅仅导出数据表结构,需要添加 -s 参数,例如:
如果需要导入数据文件,数据文件又比较大,那么可以这么执行
当然还有更方便的导出文件的命令copy
从csv文件导入到数据库的方法
记住添加反斜线,否则会认为在服务器端执行,而找不到路径。
--创建表 CREATE TABLE customers ( customerid SERIAL primary key , companyname character varying, contactname character varying, phone character varying, country character varying ) --修改字段 ALTER TABLE ticket_report_group_to_report alter column id type integer ; --添加字段 alter table merchant add column thenow timestamp with time zone default now(); --添加主键 alter table ticket_report_group_to_report DROP COLUMN id RESTRICT, add COLUMN id serial PRIMARY KEY --窗口函数 SELECT * FROM (SELECT rank() over(partition by c.source_id,c.wrapper_id order by id desc) as rank_num, * FROM mirror.cpc_ticket c) as a WHERE a.rank_num <= 1 --修改default alter table merchant alter column comment set default ''; --导出数据表 pg_dump -h l-t**ta1.tkt.cn6.***.com -p 5432 -U pdata -d log_analysis -t wirelessapi_log_2013_09_02 -t wirelessapi_log_2013_09_03 > e:\wirelessapi_log_0902-03.sql
下面是导入、导出数据库:
# -h: PostgreSQL服务器的主机为192.168.149.137。 # -U: 登录用户为postgres。 # -t: 导出表名以test开头的数据表,如testtable。 # -a: 仅仅导出数据,不导出对象的schema信息。 # -f: 输出文件是当前目录下的my_dump.sql # mydatabase是此次操作的目标数据库。 /> pg_dump -h 192.168.149.137 -U postgres -t test* -a -f ./my_dump.sql mydatabase #-c: 先输出删除数据库对象的SQL命令,在输出创建数据库对象的SQL命令,这对于部署干净的初始系统或是搭建测试环境都非常方便。 /> pg_dump -h 192.168.220.136 -U postgres -c -f ./my_dump.sql mydatabase #导出mydatabase数据库的信息。在通过psql命令导入时可以重新指定数据库,如:/> psql -d newdb -f my_dump.sql /> pg_dump -h 192.168.220.136 -U postgres -f ./my_dump.sql mydatabase #导出模式为my_schema和以test开头的数据库对象名,但是不包括my_schema.employee_log对象。 /> pg_dump -t 'my_schema.test*' -T my_schema.employee_log mydatabase > my_dump.sql #导出east和west模式下的所有数据库对象。下面两个命令是等同的,只是后者使用了正则。 /> pg_dump -n 'east' -n 'west' mydatabase -f my_dump.sql /> pg_dump -n '(east|west)' mydatabase -f my_dump.sql
如果仅仅导出数据表结构,需要添加 -s 参数,例如:
/opt/pg93/bin/pg_dump -h ${HOST} -U ${USER} -T -s -c -f ${PATH}${DATE}_log_analysis.sql log_analysis
如果需要导入数据文件,数据文件又比较大,那么可以这么执行
\i /home/qiu.li/git/ticket-crm/deploy/AllContactPersonInfo.txt
当然还有更方便的导出文件的命令copy
\copy (SELECT ip_format,ip,country, area, region, city, county FROM analytics_ip_data where area is not null) to '/tmp/ip/analytics_ip_data.csv';
从csv文件导入到数据库的方法
\COPY vender(sid,vender_id,vender_name,connector,created_by,created_dt,version,del_flg) from 'E:\Vendor.csv' WITH CSV HEADER;
记住添加反斜线,否则会认为在服务器端执行,而找不到路径。
相关文章推荐
- Mysql一些导入导出数据库,添加修改字段命令
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- Mongdb3.2.4(64bit) 数据库导入导出字段修改等操作
- php利用phpexcel插件实现数据的导入和导出(支持csv\xls\xlsx格式和超过26个字段列)
- Postgresql数据库导入和导出CSV格式
- Mysql一些导入导出数据库,添加修改字段命令
- oracle创建表空间、用户、授权、修改字段长度、导出、导入等
- 数据库导入/导出csv格式的数据文件+添加新的字段
- SQL Server 不清空数据,修改数据库字段、结构,阻止保存要求重新创建表的更改
- postgresql的导入导出数据库表及结构
- PostgreSQL 9.2 创建数据库,导入和导出数据库,创建超级用户
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- oracle创建数据库及导入导出
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结(转)
- PostgreSQL之精妙的数据库导入导出工具架构 (五)
- PostgreSQL之精妙的数据库导入导出工具架构 (八)
- PostgreSQL之精妙的数据库导入导出工具架构 (九)
- PostgreSQL之精妙的数据库导入导出工具架构 (四)
- Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
- oracle创建表空间 用户 数据库导入和导出