MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのSELECT文で特定のカラム(列)のレコードを取得する方法

はじめに

MySQLでSELECTクエリを実行する際、SELECT *を使うとすべてのカラムが取得されますが、カラム名を明示的に指定すれば、必要なカラム(列)のデータだけを効率的に取り出せます。この記事では、サンプルテーブルを作成しながら、特定のカラムのレコードを取得する手順を解説します。

1. テーブルの作成

まず、CREATE TABLE文でサンプル用のテーブルを作成しましょう。

mysql> create table DemoTable1837
    (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(20)
    );
Query OK, 0 rows affected (0.00 sec)

2. レコードの挿入

次に、INSERTコマンドを使ってテーブルに複数のレコードを挿入します。

mysql> insert into DemoTable1837(StudentName) values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1837(StudentName) values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1837(StudentName) values('Bob');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1837(StudentName) values('Mike');
Query OK, 1 row affected (0.00 sec)

3. すべてのレコードを表示する

SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。

mysql> select * from DemoTable1837;

上記のクエリを実行すると、次のような出力が得られます。

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | Chris       |
|         2 | David       |
|         3 | Bob         |
|         4 | Mike        |
+-----------+-------------+
4 rows in set (0.00 sec)

4. 特定のカラムのレコードを取得する

特定のカラムだけを取得したい場合は、アスタリスク(*)の代わりにカラム名を指定します。たとえば、「StudentName」カラムのみを取得するクエリは次のとおりです。

mysql> select StudentName from DemoTable1837;

実行すると、指定したカラムの値だけが出力されます。

+-------------+
| StudentName |
+-------------+
| Chris       |
| David       |
| Bob         |
| Mike        |
+-------------+
4 rows in set (0.00 sec)

まとめ

このように、SELECT文でカラム名を明示的に指定することで、テーブル全体ではなく必要なカラムのデータだけを取得できます。不要なデータの転送を抑えられるため、アプリケーションのパフォーマンス向上やクエリの可読性向上の面でも、特定のカラムを指定するSELECT文の活用をおすすめします。複数のカラムを取得したい場合は、SELECT カラム名1, カラム名2 FROM テーブル名;のようにカンマ区切りで指定できます。

  1. MySQLでテーブルの重複を除いたレコードから平均値を取得するクエリの書き方

    MySQLで平均値を求めるには AVG() 関数を使用します。さらに DISTINCT と組み合わせることで、重複しているレコードを除外した状態で平均を計算することができます。この記事では、実際にサンプルテーブルを作成しながら、個別(ユニーク)なレコードから平均値を取得する方法を解説します。サンプルテーブルの作成まず、以下のクエリでテーブルを作成します。mysql> create table DemoTable1934 ( StudentName varchar(20), StudentMarks int ); Query OK, 0 rows affec

  2. MySQLでテーブルから特定の行を抽出するクエリの書き方

    MySQLでは、WHERE句とORDER BY、LIMITを組み合わせることで、テーブルから条件に合致する特定の行だけを効率的に取得できます。本記事では、実際にサンプルテーブルを作成し、特定の行を抽出するクエリの実行手順をわかりやすく解説します。 1. サンプルテーブルの作成 まず、CREATE TABLE文を使ってサンプル用のテーブルを作成します。ここでは「Section(組)」と「StudentName(生徒名)」という2つのカラムを持つテーブルを用意しました。 mysql> create table DemoTable1972 ( Section char(1),