亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-用戶手冊-19. SQL命令-COPY

2019-09-08 23:33:02
字體:
來源:轉載
供稿:網友
COPY
拷貝
COPY ― 在表和文件之間拷貝數據
語法
COPY [ BINARY ] table [ WITH OIDS ]
    FROM { 'filename' | stdin }
    [ [USING] DELIMITERS 'delimiter' ]
    [ WITH NULL AS 'null string' ]
COPY [ BINARY ] table [ WITH OIDS ]
    TO { 'filename' | stdout }
    [ [USING] DELIMITERS 'delimiter' ]
    [ WITH NULL AS 'null string' ]
輸入
BINARY 
改變字段格式屬性,強制所有數據都使用二進制格式存儲和讀?。?
  
table 
現存表的名字. 
WITH OIDS 
拷貝每行的內部唯一對象標識(OID). 
filename 
輸入或輸出的Unix文件的絕對路徑(文件)名. 
stdin 
聲明輸入是來自管道還是終端. 
stdout 
聲明輸出是進入管道還是終端. 
delimiter 
一個用于分隔輸入或輸出的域的分隔符. 
null print 
一個代表 NULL 值的字串。因歷史原因,缺省是“/N”(反斜杠-N)。例如,你可以自己挑一個空字串?!?
注意:對于拷貝入(copy in),任何匹配這個字串的字串將被存儲為 NULL 值,所以你應該確保你用的字串和拷貝出(copy out)相同。
輸出
COPY 
拷貝成功完成. 
ERROR: reason 
拷貝失敗,原因在錯誤信息里. 

描述
COPY 在 Postgres 表和標準 Unix 文件之間交換數據.COPY 指示 Postgres 后端直接從文件中讀寫數據.該文件必須為后端可見,而且文件名必須從后端的角度聲明.如果聲明的是 stdin 或 stdout,數據通過客戶前端流到后端. 
注意
BINARY 關鍵字將強制使用二進制對象而不是文本存儲/讀取所有數據.這樣做在一定程度上比傳統的拷貝命令快,但移植性不是很好,而且生成的文件也較大,盡管這個方面與數據本身密切相關. 
缺省地,文本拷貝使用 tab ("/t")字符作為分隔符.分隔符仍然可以用關鍵字 USING DELIMITERS 改成任何其它的字符.在數據中碰巧與分隔符相同的字符將用引號引起. 

你對任何要 COPY 出來的數據必須有select權限,對任何要 COPY 入數據的表必須有inser和update權限.使用 COPY 時后端同樣需要適當的對文件操作的 Unix 權限. 

關鍵字 USING DELIMITERS 聲明一個作為所有列的分隔符的字符.如果在分隔符字串里聲明了多個字符,只使用第一個字符. 

小技巧: 不要把 COPY 和 psql 的命令/copy 混淆.
COPY 不會激活規則,也不會處理字段缺省值。不過它的確激活觸發器?!?
COPY 在第一個錯誤處停下來.這些在 COPY FROM 中不應該導致問題,但在 COPY TO 時目的表會部分改變.應該在一次失敗的拷貝后用 VACUUM 查詢做一些清除工作. 

因為 Postgres 后端的工作目錄通常和用戶的工作目錄不一樣,本地用戶向一個文件"foo"(沒有附加的路徑信息)可能會產生不可預見的結果.這時,foo 將生成在 $PGDATA/foo. 通常,聲明拷貝文件時要加上相對后端服務器的全路徑. 

作為 COPY 參數聲明的文件名必須存在與數據庫服務器可訪問的地方,不管是在本地硬盤還是在網絡文件系統上. 

如果使用了一個從一臺機器到另一臺機器的 TCP/IP 連接,而且聲明了目標文件,那么目標文件將會寫到后端運行的機器上,而不是用戶的機器上.

文件格式
文本格式
當不帶 BINARY 選項使用 COPY TO 時,生成的文件每條記錄占據一行,每列(字段)用分隔符分開.內嵌的分隔符字符將由一個反斜杠("/")開頭.字段值本身是由與每個字段類型相關的輸出函數生成的字符串.某一類型的輸出函數本身不應該生成反斜杠;這個任務由 COPY 本身完成. 
每個記錄的實際格式是 

...
如果聲明了 WITH OIDST,它將被放在每行的開頭. 
如果 COPY 將它的輸出輸出到標準輸出而不是一個文件,在拷貝結束時,它將在一個新行上輸出一個反斜杠("/")和一個句點("."),最后是一個換行符做為文件結束符.類似,如果 COPY 從標準輸入讀入數據,它將把一行開頭的由一個反斜杠("/")和一個句點(".")和一個換行符組成的這三個連續字符作為文件結束符.不過,如果在這三個字符組合之前碰到一個真的EOF(文件結束符) COPY 將結束 terminate?。ń又褪呛蠖俗陨恚?

斜杠有其他的含義.NULL屬性輸出為"/N". 一個反斜杠字符輸出成兩個連續的反斜杠("http://")一個tab字符用一個反斜杠后面跟一個tab代表. 一個新行字符用一個反斜杠和一個新行代表.當裝載不是由Postgres 生成的文件時,你需要將反斜杠字符 ("/")轉換成雙反斜杠("http://")以保證正確裝載.?/div> 

二進制格式
當使用 COPY BINARY,文件的頭四個字節將是文件中記錄的個數.如果數值是零, COPY BINARY 命令將一直讀到文件尾.否則,它將在達到個數時停止讀?。募惺S嗟臄祿⒈缓雎裕?
文件中每一實例的格式如下表.要注意本格式一定要 完全 符合.無符號的四字節整數數量在下表中稱做 uint32?。?

表 19-1. 二進制拷貝文件的內容 
   
 文件開始 
uint32 記錄個數 
每條記錄 
uint32 記錄數據總長 
uint32 oid?。ㄈ绻暶髁耍?
uint32 null 字段的個數 
[uint32,...,uint32] 字段個數(attribute numbers of attributes), 從0開始 
- <字段數據> 

二進制數據的對齊
在Sun-3s,2-字節字段以2-字節為界對齊,而所有整數字段以4-字節為界對齊.字符字段以1-字節為界對齊.在大部分其他機器上,所有大于1字節的整數是按照4-字節為邊界對齊的.注意,變長字段由字段長度在?;式M只是簡單的數組元素類型的連續流?/div> 
用法
下面的例子將一個表拷貝到標準輸出,使用豎直條("|")作為域分隔符: 
COPY country TO stdout USING DELIMITERS '|';
從一個 Unix 文件中拷貝數據到表 "country": 
COPY country FROM '/usr1/proj/bray/sql/country_data';
這里是一些可以從標準輸入 stdin 輸入的數據的例子(所以在最后有結束符): 
  
   AF      AFGHANISTAN
   AL      ALBANIA
   DZ      ALGERIA
   ...
   ZM      ZAMBIA
   ZW      ZIMBABWE
   /.
同樣的數據,輸出到一個Linux/i586機器的二進制文件中去.數據是用 Unix 應用 od -c 顯示的.表里有三個域;第一個是char(2) 第二個是 text.所有記錄在第三字段有空(null)值.注意 char(2) 字段是如何用空(null)補齊成四個字節的以及text字段是如何前面補長度的: 
   355  /0  /0  /0 027  /0  /0  /0 001  /0  /0  /0 002  /0  /0  /0
   006  /0  /0  /0   A   F  /0  /0 017  /0  /0  /0   A   F   G   H
     A   N   I   S   T   A   N 023  /0  /0  /0 001  /0  /0  /0 002
    /0  /0  /0 006  /0  /0  /0   A   L  /0  /0  /v  /0  /0  /0   A
     L   B   A   N   I   A 023  /0  /0  /0 001  /0  /0  /0 002  /0
    /0  /0 006  /0  /0  /0   D   Z  /0  /0  /v  /0  /0  /0   A   L
     G   E   R   I   A
   ...              /n  /0  /0  /0   Z   A   M   B   I   A 024  /0
    /0  /0 001  /0  /0  /0 002  /0  /0  /0 006  /0  /0  /0   Z   W
    /0  /0  /f  /0  /0  /0   Z   I   M   B   A   B   W   E
兼容性
SQL92
在SQL92里沒有 COPY 語句.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品久久久久影院优| 欧美日韩国产精品一区二区不卡中文| 欧美日韩性生活视频| 91亚洲精品久久久久久久久久久久| 精品福利视频导航| 欧美精品video| 欧美日韩亚洲91| 国产亚洲精品成人av久久ww| 欧美精品久久久久久久久久| 国产区精品在线观看| 国产一区二区三区四区福利| 欧美亚洲国产日韩2020| 成人国产在线视频| 国产精品盗摄久久久| 午夜精品久久久久久久99黑人| 欧美理论电影在线观看| 国产精品久久久久久久久久| 热re91久久精品国99热蜜臀| 日本亚洲欧洲色α| 久久精品成人动漫| 欧美日韩免费在线| 久久久久久久成人| 亚洲福利视频网| 九色成人免费视频| 国产精品成人一区| 国内免费久久久久久久久久久| 中文字幕亚洲专区| 亚洲人成网站免费播放| 97av在线影院| 91网站免费看| 久久777国产线看观看精品| 成人xxxx视频| 日韩中文字幕亚洲| 91经典在线视频| 午夜精品蜜臀一区二区三区免费| 亚洲成人国产精品| 亚洲第一综合天堂另类专| 亚洲福利视频网| 91精品国产免费久久久久久| 欧美日韩成人黄色| 91免费版网站入口| 亚洲高清av在线| 国产精品久久久久av免费| 日韩美女毛茸茸| 中文字幕精品av| 欧美日韩一区二区精品| 亚洲二区在线播放视频| 国产精品久久色| 最近的2019中文字幕免费一页| 91精品国产高清| 69视频在线播放| 欧美夫妻性生活视频| 精品动漫一区二区| 国产精品大陆在线观看| 性色av一区二区咪爱| 91久久久亚洲精品| 精品视频在线播放免| 欧美在线性视频| 日韩av影视在线| 欧美精品激情在线| 91久久精品在线| 狠狠做深爱婷婷久久综合一区| 51精品国产黑色丝袜高跟鞋| 国产欧美一区二区白浆黑人| 日本高清视频精品| 富二代精品短视频| 欧美亚洲国产成人精品| 中国人与牲禽动交精品| 88国产精品欧美一区二区三区| 日韩中文字幕免费看| 青青草原成人在线视频| 日韩av电影在线网| 日韩av在线看| 精品久久久久久亚洲国产300| 久久精品成人一区二区三区| 2019日本中文字幕| 国产成人一区二区在线| 8x海外华人永久免费日韩内陆视频| 日本久久久久久久久久久| 国产日韩综合一区二区性色av| 两个人的视频www国产精品| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品久久91| 538国产精品视频一区二区| 2021国产精品视频| 91精品国产乱码久久久久久蜜臀| 亚洲欧洲在线看| 欧美在线欧美在线| 亚洲аv电影天堂网| 欧美成人黑人xx视频免费观看| 日韩av大片在线| 国产成人精品日本亚洲专区61| 亚洲人精选亚洲人成在线| 亚洲欧美日韩在线一区| 色偷偷av一区二区三区| 日韩在线视频免费观看高清中文| 欧美高跟鞋交xxxxhd| 国产精品主播视频| 日韩欧美aⅴ综合网站发布| 欧美激情视频给我| 亚洲tv在线观看| 欧美电影在线观看高清| 日韩精品极品视频免费观看| 日本一区二三区好的精华液| 久久精彩免费视频| 亚洲深夜福利视频| 日韩av在线电影网| 中文字幕精品在线| 欧美大片网站在线观看| 久久亚洲精品一区| 97av在线视频| 精品国内自产拍在线观看| 色www亚洲国产张柏芝| 久久影院资源网| 久久99精品久久久久久噜噜| 日韩成人xxxx| 国产美女搞久久| 国产精品人成电影| 人妖精品videosex性欧美| 久热精品视频在线免费观看| 久久九九热免费视频| 国产精品高潮呻吟久久av野狼| 一本大道亚洲视频| 国产精品美腿一区在线看| 国产精自产拍久久久久久蜜| 久久伊人91精品综合网站| 国产精品伦子伦免费视频| 国产日韩欧美在线| 在线观看成人黄色| 日韩在线欧美在线国产在线| 亚洲第一福利在线观看| 精品欧美aⅴ在线网站| 中文字幕日韩欧美在线| www.久久久久久.com| 成人免费在线网址| 5566成人精品视频免费| 色偷偷噜噜噜亚洲男人| 中文字幕精品www乱入免费视频| 麻豆精品精华液| 欧美大片在线看| 最近2019中文字幕大全第二页| 日韩二区三区在线| 色偷偷av亚洲男人的天堂| 97视频在线观看视频免费视频| 欧美成人久久久| 精品久久久久久久久久| 粗暴蹂躏中文一区二区三区| 亚洲欧美激情四射在线日| 91视频免费网站| 亚洲最大成人免费视频| 日韩免费在线播放| x99av成人免费| 久久久久久久色| 92看片淫黄大片看国产片| 日本高清+成人网在线观看| 国产精品日韩专区| 亚洲欧洲成视频免费观看| 欧美黑人xxxⅹ高潮交| 亚洲男人第一网站| 久久福利视频网| 国产精品高清免费在线观看| 亚洲欧美一区二区三区情侣bbw| 欧美午夜精品久久久久久人妖| 日韩电影免费观看在线观看|