

データベースの勉強を始めた初心者のものです。  
唐突な質問で大変申し訳ないのですが、psqlコマンドとsqlコマンドは同じものなのでしょうか？ それとも違うものなのでしょうか？

参考にしたのはこちらのサイトです。

PostgreSQLコマンド

  * [PostgreSQLをコマンドラインで操作する - @IT](http://www.atmarkit.co.jp/ait/articles/0010/19/news002.html)
  * [PostgreSQLの使い方 - DBOnline](http://www.dbonline.jp/postgresql/)
  * [PostgreSql コマンドの覚え書き](http://qiita.com/mm36/items/1801573a478cb2865242)

SQLコマンド

  * [初めてSQLコマンドを叩く緊張と感動の一瞬 - @IT](http://www.atmarkit.co.jp/ait/articles/0702/21/news111.html)
  * [SQLコマンド - PostgreSQL 9.2.4文書](https://www.postgresql.jp/document/9.2/html/sql-commands.html)
  * `http://qiita.com/KENJU/items/313b5640da05834a53aa` (編注: リンク切れ)


CC BY-SA 4.0
2016-05-27T06:00:18.757
25215
2021-11-05T11:35:43.227
2021-11-05T11:35:43.227
3060
12323
question
linux sql postgresql
psql コマンドと sql コマンドの違いは？


私の経験ではpostgresqlの場合、「psqlコマンド」と「SQLコマンド」と言うときは、次の使い分け方で言われることは（ときどき）あるように思います。他のDBは知らないので何とも言えません。

  * psqlコマンド：シェルから実行できるコマンド名のこと。psqlと言う名前のコマンドラインツールのこと
  * SQLコマンド：psqlをコマンドラインから実行した後に使われる、テーブルを作成したり削除したりすることのできる命令(コマンド)のこと

参考：  
[psql (PostgreSQL 9.2.4文書)](https://www.postgresql.jp/document/9.2/html/app-
psql.html)  
[SQLコマンド (PostgreSQL
9.2.4文書)](https://www.postgresql.jp/document/9.2/html/sql-commands.html)


CC BY-SA 3.0
2016-05-27T06:35:44.000
25216
2016-05-27T06:35:44.000
9403
25215
answer


psqlコマンドは OS 上で実行する psql という名前のプログラムです。  
psql を起動すると PostgreSQL に接続し 色々な操作ができます。

余談ですが、MySQL の場合は `mysql` 、SQL Server だと `sqlcmd.exe` `osql.exe` 、Oracle だと
`sqlplus` というプログラムだったりします。

SQL コマンドは リレーショナルデータベース管理システム (RDBMS) 全般で使用できる データの操作や定義を 行うための
データベース言語です。PostgreSQLに限らず様々なRDBMSで使用できるように標準化されています。また、RDBMS毎に拡張された 構文を持ちます。

代表的なSQLコマンド

  * `SELECT ...` : 問い合わせクエリ
  * `INSERT ...` : レコードの追加
  * `UPDATE ...` : カラムの更新
  * `DELETE ...` : レコード削除

実際の使い方は、OS 上で psql コマンドを実行して PostgreSQL に接続して、その上で SQL コマンドを使って
データベースに対して問い合わせをするイメージです。

例 psql の起動＆PostgreSQL へ接続

[code]

    $ psql -h localhost -U dbuser -d dbname
    Password for user dbuser: ここでパスワード入力
    
[/code]

例 psql 上で hoge テーブルに対して SQL コマンド (SELECT文) を実行。

[code]

    dbname=> SELECT * FROM hoge;  ←ここでSQLを実行。「dbname=>」は psqlのプロンプト。
           id | city                ←ここから下がSQLの実行結果
    ----------+-------
            1 | tokyo 
            2 | osaka
            3 | sapporo
    
[/code]


CC BY-SA 3.0
2016-05-27T09:16:35.550
25220
2016-05-27T09:16:35.550
5008
25215
answer