1. 插入數(shù)據(jù)(INSERT語句)
在 PostgreSQL 中贸营,<strong style="color: red;">INSERT
</strong>查詢用于在表中插入新行瞎访。 您可以一次插入單行或多行到表中著拭。
語法:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
注意:column1, column2, column3,...columnN是要插入數(shù)據(jù)的表中的列的名稱垛叨。
2. 查詢數(shù)據(jù)(SELECT語句)
在 PostgreSQ L中霜浴,<strong style="color: red;">SELECT
</strong>語句用于從數(shù)據(jù)庫表中檢索數(shù)據(jù)。 數(shù)據(jù)以結(jié)果表格的形式返回恭应。 這些結(jié)果表稱為結(jié)果集抄邀。
語法:
SELECT "column1", "column2".."column" FROM "table_name";
這里,column1昼榛,column2境肾,.. columnN指定檢索哪些數(shù)據(jù)的列。
如果要從表中檢索<strong style="color: red;">所有</strong>字段胆屿,則必須使用以下語法:
SELECT * FROM "table_name";
從表中檢索<strong style="color: red;">指定</strong>字段:
SELECT id,name FROM EMPLOYEES;
或者
SELECT ID, NAME, AGE, SALARY FROM EMPLOYEES;
3. 更新數(shù)據(jù)(UPDATE語句)
在 PostgreSQL 中徐伐,<strong style="color: red;">UPDATE
</strong>語句用于修改表中現(xiàn)有的記錄潘拨。 要更新所選行谐檀,您必須使用<strong style="color: red;">WHERE
</strong>子句喝检,否則將更新所有行。
語法:
以下是 update 語句的基本語法:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
4. 刪除數(shù)據(jù)(DELETE語句)
<strong style="color: red;">DELETE
</strong>語句用于從表中刪除現(xiàn)有記錄憎兽。<strong style="color: red;">WHERE
</strong>子句用于指定刪除所選記錄的條件冷离,如是不指定條件則將刪除所有記錄吵冒。
語法:
以下是DELETE語句的基本語法:
DELETE FROM table_name
WHERE [condition];
5. ORDER BY 子句
PostgreSQL<strong style="color: red;">ORDER BY
</strong>子句用于按升序或降序?qū)?shù)據(jù)進行排序。數(shù)據(jù)在一列或多列的基礎(chǔ)上進行排序西剥。
語法:
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
參數(shù)說明:
- <strong style="color: red;">column_list</strong>:它指定要檢索的列或計算痹栖。
- <strong style="color: red;">table_name</strong>:它指定要從中檢索記錄的表。FROM子句中必須至少有一個表蔫耽。
- <strong style="color: red;">WHERE conditions</strong>:可選结耀。 它規(guī)定必須滿足條件才能檢索記錄。
- <strong style="color: red;">ASC</strong>:也是可選的匙铡。它通過表達式按升序排序結(jié)果集(默認图甜,如果沒有修飾符是提供者)。
- <strong style="color: red;">DESC</strong>:也是可選的鳖眼。 它通過表達式按順序對結(jié)果集進行排序黑毅。
您還可以使用ORDER BY子句在多列上排序記錄。
6. 分組(GROUP BY子句)
PostgreSQL<strong style="color: red;">GROUP BY
</strong>子句用于將具有相同數(shù)據(jù)的表中的這些行分組在一起钦讳。 它與<strong style="color: red;">SELECT
</strong>語句一起使用矿瘦。
<strong style="color: red;">GROUP BY
</strong>子句通過多個記錄收集數(shù)據(jù),并將結(jié)果分組到一個或多個列愿卒。 它也用于減少輸出中的冗余缚去。
語法:
SELECT column-list
FROM table_name
WHERE [conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN
注意:在 GROUP BY 多個列的情況下,您使用的任何列進行分組時琼开,要確保這些列應(yīng)在列表中可用易结。
7. Having 子句
在PostgreSQL中,<strong style="color: red;">HAVING
</strong>子句與<strong style="color: red;">GROUP BY
</strong>子句組合使用柜候,用于選擇函數(shù)結(jié)果滿足某些條件的特定行搞动。
語法:
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
8. 條件查詢
PostgreSQL 條件用于從數(shù)據(jù)庫獲取更具體的結(jié)果。 它們通常與<strong style="color: red;">WHERE
</strong>子句一起使用渣刷。 具有子句的條件就像雙層過濾器鹦肿。
以下是 PostgreSQL 條件的列表:
- AND 條件
- OR 條件
- AND & OR 條件
- NOT 條件
- LIKE 條件
- IN 條件
- NOT IN 條件
- BETWEEN 條件
8.1 AND 條件
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition]
AND [search_condition];
8.2 OR 條件
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition]
OR [search_condition];
8.3 AND & OR 條件
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] AND [search_condition]
OR [search_condition];
8.4 NOT 條件
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] NOT [condition];
例子:
SELECT *
FROM EMPLOYEES
WHERE address IS NOT NULL ;
SELECT *
FROM EMPLOYEES
WHERE age NOT IN(21,24) ;
8.5 LIKE 條件
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] LIKE [condition];
例子:
查詢名字以 Ma
開頭的數(shù)據(jù)記錄,如下查詢語句:
SELECT *
FROM EMPLOYEES
WHERE NAME LIKE 'Ma%';
查詢名字以 su
結(jié)尾的數(shù)據(jù)記錄辅柴,如下查詢語句:
SELECT *
FROM EMPLOYEES
WHERE NAME LIKE '%su';
查詢地址中含有 大道
的數(shù)據(jù)記錄箩溃,如下查詢語句:
SELECT *
FROM EMPLOYEES
WHERE address LIKE '%大道%';
8.6 IN 條件
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] IN [condition];
例子:
SELECT *
FROM EMPLOYEES
WHERE AGE IN (19, 21);
8.7 NOT IN 條件
PostgreSQL <strong style="color: red;">NOT IN
</strong>條件與<strong style="color: red;">WHERE
</strong>子句一起使用,以從指定條件否定<strong style="color: red;">IN
</strong>條件的表中獲取數(shù)據(jù)碌嘀。
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] NOT IN [condition];
8.8 BETWEEN 條件
PostgreSQL <strong style="color: red;">BETWEEN
</strong>條件與<strong style="color: red;">WHERE
</strong>子句一起使用涣旨,以從兩個指定條件之間的表中獲取數(shù)據(jù)。
語法:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] BETWEEN [condition];
查詢employees表中年齡在24~27之間(含24筏餐,27)
的數(shù)據(jù)信息,執(zhí)行以下查詢:
SELECT *
FROM EMPLOYEES
WHERE AGE BETWEEN 24 AND 27;