MySQLのSELECTステートメントとは?基本構文と使い方をわかりやすく解説
MySQLの「SELECT」コマンドは、データベースからデータを取得するために使用される、最も基本的かつ重要なSQL文です。mysql>プロンプト上で直接実行できるだけでなく、PHPなどのスクリプト言語からも呼び出すことができます。
SELECTの基本構文
MySQLテーブルからデータを取得する際の、SELECTコマンドの一般的な構文は以下のとおりです。
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE Clause] [OFFSET M ][LIMIT N]
SELECT文を使ううえでのポイント
複数のテーブルをカンマで区切って指定でき、WHERE句と組み合わせてさまざまな条件を設定できます。なお、WHERE句はSELECT文において省略可能な要素です。
1つのSELECT文で、1つまたは複数のフィールド(列)を同時に取得できます。
フィールド名の代わりにアスタリスク(*)を指定すると、テーブル内のすべてのフィールドが返されます。
WHERE句を使用することで、任意の抽出条件を細かく指定できます。
OFFSET句でオフセット(取得開始位置)を指定できます。デフォルトではオフセットは0から始まります。
LIMIT属性を使用すれば、返されるレコードの件数を制限できます。
実行例
mysql> Select * from Employee; +------+--------+ | Id | Name | +------+--------+ | 100 | Ram | | 200 | Gaurav | | 300 | Mohan | +------+--------+ 3 rows in set (0.00 sec) mysql> Select * from Employee Where Name = 'Ram'; +------+--------+ | Id | Name | +------+--------+ | 100 | Ram | +------+--------+ 1 row in set (0.00 sec) mysql> Select Id from Employee; +-----+ | Id | +-----+ | 100 | | 200 | | 300 | +-----+ 3 rows in set (0.00 sec)
上記の例は、SELECT文を使ってMySQLテーブルからレコードを取得する代表的な方法を示しています。すべての列を取得する場合、WHERE句で条件を指定して絞り込む場合、特定の列だけを取り出す場合など、目的に応じて柔軟に使い分けることができます。これらの基本を押さえておくことで、日常的なデータベース操作を効率的に行えるようになります。
-
【MySQL】行も列も選択せずに空の結果セットを返す方法
MySQLでテーブルから行も列も一切表示したくない場合(空の結果セットを取得したい場合)は、SELECT NULLとFALSEを組み合わせて使用します。まずは基本の構文を見てみましょう。 select null from yourTableName where false; サンプルテーブルの作成 実際に動作を確認するため、最初にテーブルを作成します。 mysql> create table DemoTable1367 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> FirstNam
-
MySQLクライアントの接続方法(TCP/IP・ソケットなど)を確認する方法
MySQLの接続にどの接続方式が使われているかを調べたい場合、以下のコマンドを実行することで確認できます。netstat -ln | grep mysqlなお、Unix系OSでは、MySQLプログラムはホスト名「localhost」を特別な方法で扱います。そのため、一般的に期待される動作とは異なる挙動を示す点に注意が必要です。接続タイプの確認方法mysqlコマンドラインクライアント(CLI)内から現在の接続タイプを知りたい場合は、次のコマンドを使用します。mysql> \s実行結果の出力例は以下のとおりです。Connection: 127.0.0.1 via TCP/IP または Con