## 首頁(其他picoCTF writeup) https://hackmd.io/@sunfrancis12/ry_LLAgp3 作者: [台中教育大學 白帽社](https://hackmd.io/@ntcuhack/index) -sunfrancis12 ## SQL Direct 我們可以透過這題來理解mySQL是如何在終端機運作的(psql的用法) 我們需要先安裝以下兩個套件 ``` sudo apt-get install postgresql-client sudo apt-get install postgresql-client-common ``` 按照題目的指示登入 ![](https://hackmd.io/_uploads/HJeuYuj62.png) 我們來學習一些基本的指令吧 ``` \l #所有資料庫 \c #連線到資料庫 \d OR \dt #看有當前資料庫所有表格(Table) \d+ #查看當前資料庫所有表格的詳細資訊 \q #退出 ``` > 引用自:https://lianankuan.medium.com/%E5%AD%B8%E7%BF%92postgresql-rails%E7%9A%84%E9%96%8B%E7%99%BC%E7%BF%92%E6%85%A3-262be0e26b99 連線至...資料庫(命令列開頭是指當前的資料庫): ![](https://hackmd.io/_uploads/HkmehOsT2.png) 查看所有的資料庫: ![](https://hackmd.io/_uploads/HkXE9dian.png) 查看當前資料庫的所有表格: ![](https://hackmd.io/_uploads/Syn_9Os62.png) 查看當前資料庫的所有表格的詳細資訊: ![](https://hackmd.io/_uploads/SJzYsdsT3.png) ### 在開始之前,我們要先知道SQL的查詢會回傳一個TABLE SQL的基本查詢語法架構大致如下 ``` SELECT {Columns列} FROM {TABLE表格} (WHRER {條件}); ``` 我們目前知道有一個`DATABASE`叫pico,其下有一個`TABLE`叫flags,我們可以用以下指令印出表格的所有`row`(欄位) ``` SELECT * FROM flags; ``` ![](https://hackmd.io/_uploads/BJqvsuj6n.png) > 想認識更多可以看:https://pjchender.dev/database/psql-cli/