PostgreSQL學習筆記(二)

目錄

PostgreSQL學習筆記(二)

PostgreSQL數據庫基本操作

一、登錄和登出

二、數據庫操作

三、數據庫表操作

四、數據庫CRUD操作


PostgreSQL學習筆記(二)

PostgreSQL數據庫基本操作

一、登錄和登出

這裏假設用戶使用postgres登錄數據庫。

在控制檯登錄語句爲:psql -U postgres      登錄語法:psql –U postgres [dbname]

退出語法使用:\q

查看命令的幫助提示語法爲:psql -?

二、數據庫操作

創建數據庫語法:create database 數據庫名;

刪除數據庫語法:drop database 數據庫名;(刪除數據數據庫時需關閉數據庫連接或切換至其他數據庫)

列舉數據庫語法:\l

選擇數據庫語法:\c 數據庫名

三、數據庫表操作

創建表語法:create table 表名(<字段名><數據類型(數量)>......);

查看錶結構語法:\d

刪除表:drop table 表名

四、數據庫CRUD操作

Insert操作

PostgreSQL數據庫支持多種插入形式。

  1. 正常的一一對應插入數據
  2. 不按照字段順序插入數據
  3. 省略某些字段插入數據(未設置not null/具有默認值生成策略

同時可以使用Alter增加一列字段。

數據導入/導出:

psql導入(批量插入)

未登錄:     psql  -U 用戶名 -d 表名 -f  文件路徑

登錄數據庫:    1. psql –U 用戶名  -d 數據庫名     2. \i  文件路徑(Unix

pg_dump導出:

pg_dump -U postgres 用戶名  -t   數據庫名(缺省時同用戶名)  > 路徑/文件名

copy … from 導入:

copy … to 導出(導出weather表全部數據:):

Select查詢語句

在查詢時,可以查詢某一張表中的全部字段,或者查詢部分字段,或者查詢表達式

注:查詢表達式,如果沒有AS字句,對應字段會用默認命名  ?column?,WHERE 條件查詢:後面bool表達式。查詢只返回表達式爲true的數據 bool表達式之間用AND(與)、OR(或)和NOT(非)連接。

在查詢過程中可以設置一些特殊的查詢條件,這些查詢條件可以幫助我們更加細緻的查詢數據。

ORDER BY排序查詢:

DISTINCT 去重

GROUP BY 分組

HAVING 子句GROUP BY子句組合使用,用於選擇函數結果滿足某些條件的特定):

LIKE 匹配:

‘_’表示匹配一個佔位符  

’%’表示匹配任意多個字符

IN NOT INBETWEEN WHERE 連用

IN : 指定條件滿足IN條件

NOT IN:指定條件否定IN條件

BETWEEN:以從兩個指定條件之間的表中獲取數據

UNION UNION ALL :

UNION 子句/運算符用於合併兩個或多個SELECT語句的結果,不返回任何重複的

UNION ALL 運算符是用來結合兩個SELECT語句,包括重複

>個查詢都必須返回相同數量的列。

>查詢中的相應列必須具有兼容的數據類型

>可使用ORDER BY子句,對指定列的組合結果集中的行進行排序

PostgreSQL數據庫同樣支持子查詢和多表查詢。

子查詢:

查詢必須遵循以下規則

   > 查詢必須括在括號中

   > 查詢在SELECT子句中只能有一列,除非主查詢中有多個列用於比較其所選列的子查詢

   > ORDER BY不能用於子查詢,儘管主查詢可以使用ORDER BY

   > GROUP BY可用於執行與子查詢中的ORDER BY相同的功能

   > 返回多行的子查詢只能與多個值運算符一起使用

  例如INEXISTSNOT INANY / SOMEALL運算符

  BETWEEN運算符不能與子查詢一起使用; 但是,BETWEEN可以在子查詢中使用

多表查詢:

Update更新操作

PostgreSQL中的upsert操作

當在表中插入一個新行時,PostgreSQL更新該行(如果它已經存在),否則,PostgreSQL會插入新

命令:

Delete刪除操作

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章