向PostgreSQL插入資料

來源:互聯網
上載者:User

標籤:

在建立完一個表的時候,它裡面沒有資料。在資料庫可以有點用處之前要做的第一件事就是向裡面插入資料。資料在概念上是每次插入一行。我們當然可以每次插入多行,但是確實沒有辦法插入少於一行的資料。即使你只知道幾個欄位的數值,那麼你也必須建立一個完整的行。

使用INSERT命令建立一個新行。這條命令要求提供表名字以及欄位值。

CREATE TABLE products (    product_no integer,    name text,    price numeric);

下面是一個向表中插入一行的例子:

INSERT INTO products VALUES (1, ‘Cheese‘, 9.99);

資料值是按照這些欄位在表中出現的順序列出的,並且用逗號分隔。通常,資料值是文本(常量),但也允許使用標量運算式。

上述文法的缺點是你必須知道表中欄位的順序。你也可以明確地列出欄位以避免這個問題。比如,下面的兩條命令都和上面的那條命令效果相同:

INSERT INTO products (product_no, name, price) VALUES (1, ‘Cheese‘, 9.99);INSERT INTO products (name, price, product_no) VALUES (‘Cheese‘, 9.99, 1);

許多使用者認為明確列出欄位名是個好習慣。

如果你不知道所有欄位的數值,那麼可以省略其中的一些。這時候,這些未知欄位將被填充為它們的預設值。比如:

INSERT INTO products (product_no, name) VALUES (1, ‘Cheese‘);INSERT INTO products VALUES (1, ‘Cheese‘);

第二種形式是PostgreSQL的一個擴充。它從左向右用給定的值儘可能多的填充欄位,剩餘的填充預設值。

為了保持清晰,你也可以對獨立的欄位或者整個行明確使用預設值:

INSERT INTO products (product_no, name, price) VALUES (1, ‘Cheese‘, DEFAULT);INSERT INTO products DEFAULT VALUES;

你可以在一條命令中插入多行:

INSERT INTO products (product_no, name, price) VALUES    (1, ‘Cheese‘, 9.99),    (2, ‘Bread‘, 1.99),    (3, ‘Milk‘, 2.99);

提示: 要一次插入大量資料,可以看看COPY命令。它不像INSERT命令那麼靈活,但是更高效。

向PostgreSQL插入資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.