日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用DML插入、更新、刪除數(shù)據(jù)

本文介紹在AnalyticDB PostgreSQL數(shù)據(jù)庫中,如何使用DML語法插入、更新、刪除數(shù)據(jù)。

插入行(INSERT)

說明

如果要插入大量數(shù)據(jù),推薦使用外部表或者COPY命令,相比INSERT性能更好。

使用INSERT命令在一個表中插入行。語法如下:

INSERT INTO table [( column [, ...] )]
   {DEFAULT VALUES | VALUES ( {expression | DEFAULT} [, ...] ) 
   [, ...] | query}

示例:

插入單行數(shù)據(jù)。

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

在一條命令中插入多行數(shù)據(jù)。

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

使用標量表達式插入數(shù)據(jù)。

INSERT INTO films SELECT * FROM tmp_films WHERE date_prod < 
'2016-05-07';

更新行(UPDATE)

使用UPDATE命令在一個表中更新行。語法如下:

UPDATE [ONLY] table [[AS] alias]
   SET {column = {expression | DEFAULT} |
   (column [, ...]) = ({expression | DEFAULT} [, ...])} [, ...]
   [FROM fromlist]
   [WHERE condition | WHERE CURRENT OF cursor_name ]

使用限制:

  • 分布鍵列不能被更新。

  • 分區(qū)鍵列不能被更新。

  • 不能在UPDATE語句中使用STABLE或VOLATILE函數(shù)。

  • 不支持RETURNING子句。

示例:

將所有價格為5的產(chǎn)品更新價格為10。

UPDATE products SET price = 10 WHERE price = 5;

刪除行(DELETE)

使用DELETE命令從一個表中刪除行。語法如下:

DELETE FROM [ONLY] table [[AS] alias]
      [USING usinglist]
      [WHERE condition | WHERE CURRENT OF cursor_name ]

使用限制:

  • 不能在DELETE語句中使用STABLE或VOLATILE函數(shù)。

  • 不支持RETURNING子句。

示例:

從產(chǎn)品表中刪除所有價格為10的行。

DELETE FROM products WHERE price = 10;

從表中刪除所有行。

DELETE FROM products;

截斷表(TRUNCATE)

使用TRUNCATE命令可以快速地移除一個表中的所有行,TRUNCATE不掃描該表,因此它不會處理繼承的子表或者ON DELETE的重寫規(guī)則,只會截斷命令中的表中的行。語法如下:

TRUNCATE [TABLE] name [, ...] [CASCADE | RESTRICT]

示例:

清空mytable表中的所有行。

TRUNCATE mytable;