終端機第三天!嘗試在資料庫的操作模式中,對資料庫執行 SQL 語法!
animal=# SELECT * FROM animals;
如上SQL語法所述 在 animal
資料庫中,執行 SELECT
查詢語法,查詢 animals
資料表的所有資料。(不好意思一開始名稱沒有取的很好!有點繞口令。)
使用 \d 中繼資料,查看資料庫資訊
指令 | 顯示資訊 |
---|---|
\d | 列出所有物件不篩選 |
\di | 索引相關 |
\dt | 資料表以及擁有者資訊 |
\du | 使用者及相關屬性 |
\dv | 檢視表以及擁有者 |
\dx | 安裝那些套件 |
可以嘗試一一的在資料庫模式下執行!
## 不切齊、逗號區隔、不顯示總計在最後一行
animal=# \a \f , \pset footer
## 查詢動物資料表
animal=# SELECT * FROM animals;
## 開始匯出模式,輸出到 下方路徑。
animal=# \o 'D:/animals.csv'
## 匯出動物資料表所有資料
animal=# SELECT * FROM animals;
## 可以在下 \o 結束匯出,若沒有結束,會把查詢結果繼續寫到 D:/animals.csv 裡面
animal=# \o
會在D槽輸出一個CSV檔案,這裡使用windowns路徑,要特別注意一下,windowns 路徑也是要使用 「/」,不是反斜線「\」喔!
再把D槽剛剛匯出的資料再匯入資料庫吧!
animal=# DROP TABLE animals;
animal=# CREATE TABLE animals (
animal(# id bigserial,
animal(# name varchar(255),
animal(# created_at timestamp,
animal(# updated_at timestamp
animal(# );
animal=# \copy animals FROM 'D:/animals.csv' WITH (FORMAT CSV, HEADER);
很貼心的一件事,若一行一行輸入,animal(#
中出現 (
提醒我們最後要一個 )
封閉,以免我們SQL語法出錯。
之前有介紹到COPY 的SQL語法,跟這個差在哪邊呢?
COPY 的 SQL 語法可以簡易的匯入資料,但檔案必須要在那台資料庫伺服器的裡,如果你用psql連至遠端操作,檔案在你目前的電腦上,不是在遠端的資料庫伺服器中,就只能使用 \copy 的方法匯入\匯出資料。
黑畫面終端機的第一天,在嘗試並解決錯誤的過程中,有使用到 createdb
新增資料庫的指令,當時沒有設定任何變數,他使用 victor (我電腦的使用者名稱)當擁有者,並建立一個 victor 資料庫。
createdb -U postgres -d ithelp
如上指令碼可以簡單的幫我們建立 ithelp
名稱的資料庫,並設定擁有者為 postgres
(預設的那個使用者),不用進資料庫模式後,在下SQL指令。