[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > 其它 > 正文
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-INSERT
編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 22:02:14)
INSERT
名稱
INSERT  向表中插入新行 

語法
INSERT INTO table [ ( column [, ...] ) ]
    { VALUES ( expression [, ...] ) | SELECT query }
輸入
table 
現存表的名稱. 
column 
表 table 中的列/字段名. 
expression 
賦予 column 的一個有效表達式或值. 
query 
一個有效的查詢.請參考 SELECT 語句獲取有效參數的進一步描述. 

輸出
INSERT oid 1 
如果只插入了一行,返回此信息.oid是被插入行的數字標識. 
INSERT 0 # 
如果插入了超過一行,返回此信息.# 是插入的行數. 

描述
INSERT 允許我們向表中插入新行.我們可以一次插入一行或多行作為查詢結果.目標列表中的列/字段可以按任何順序排列. 
在目標列中沒有出現的列/字段將插入缺省值,要是定義了的 DEFAULT 值或者 NULL。如果向定義為 NOT NULL 的列中插入 NULL 值,Postgres 將拒絕新列。 

如果每行的表達式不是正確的數據類型,將試圖進行自動的類型轉換. 

要想向表中插入數據,你必須有插入權限,同樣也要有選擇權限用處理 WHERE 子句裡聲明的任何表。

用法
向表 films 裡插入一行: 
INSERT INTO films VALUES
    ('UA502','Bananas',105,'1971-07-13','Comedy',INTERVAL '82 minute');
在第二個例子裡面省略了字段 date_prod (譯注:原文錯,應為字段 len)因此在它裡面將只存儲缺省的 NULL 值: 
INSERT INTO films (code, title, did, date_prod, kind)
    VALUES ('T_601', 'Yojimbo', 106, DATE '1961-06-16', 'Drama');
向表 distributors 裡插入一行;注意只聲明了字段 name ,而沒有聲明的字段 did 將被賦它的缺省值: 
INSERT INTO distributors (name) VALUES ('British Lion');
從表 tmp 中插入幾行到表 films 中: 
INSERT INTO films SELECT * FROM tmp;
插入數組(請參考 PostgreSQL用戶手冊 獲取關數組的更多信息): 
-- 創建一個空的 3x3 遊戲板來玩圈-和-叉遊戲
-- (所有這些查詢創建相同的板屬性)
INSERT INTO tictactoe (game, board[1:3][1:3])
    VALUES (1,'{{"","",""},{},{"",""}}');
INSERT INTO tictactoe (game, board[3][3])
    VALUES (2,'{}');
INSERT INTO tictactoe (game, board)
    VALUES (3,'{{,,},{,,},{,,}}');
兼容性
SQL92
INSERT 語句與 SQL92 完全兼容.可能碰到的關 query 子句特性的限制在 SELECT 語句中有相關文檔.
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-VACUUM (2001-04-21 22:16:33)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-UPDATE (2001-04-21 22:16:12)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-UNLISTEN (2001-04-21 22:15:44)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-TRUNCATE (2001-04-21 22:15:24)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SHOW (2001-04-21 22:15:01)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SET (2001-04-21 22:14:42)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SELECT INTO (2001-04-21 22:14:19)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SELECT (2001-04-21 22:14:01)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-ROLLBACK (2001-04-21 22:13:41)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-REVOKE (2001-04-21 22:13:18)

===更多相關===
 

★  樊強制作 歡迎分享  ★