sql >> データベース >  >> RDS >> Mysql

MySQLで行をフェッチするクエリを選択します

    このチュートリアルは、MySQLを使用した基本的なSQLクエリの学習シリーズの一部です。このチュートリアルでは、MySQLのテーブルから行をフェッチしたりデータを読み取ったりするためのSQLクエリについて説明します。

    クエリの選択

    コマンドSELECT テーブルから行を読み取るために使用できます。データベースにリモートでログインしている場合は、テーブルから行を読み取るために、テーブルに対するSELECT権限も必要になります。

    # SELECT - Syntax
    SELECT [ ALL | DISTINCT | DISTINCTROW ] <select expression> FROM table_name;

    # SELECT - Syntax - All Columns
    SELECT [ ALL | DISTINCT | DISTINCTROW ] * FROM table_name;

    # SELECT - Syntax - Selective Columns
    SELECT [ ALL | DISTINCT | DISTINCTROW ] column_1,column_2,... FROM table_name;

    # SELECT - Syntax - Filter results using WHERE
    SELECT [ ALL | DISTINCT | DISTINCTROW ] column_1,column_2,... FROM table_name WHERE <single or multiple filter conditions>;

    クエリの説明

    MySQLコマンドSELECT 指定されたテーブル名から行またはデータを読み取るために使用できます。ここで、テーブルの選択式と名前は必須です。

    キーワードALLまたはDISTINCTまたはDISTINCTROWの使用はオプションです。 ALLが指定されていない場合のデフォルトのキーワードです。

    select式も指定する必要があります 指定されたテーブルからデータを取得するため。 *のいずれかを使用できます またはカンマで区切られた列名 テーブルからクエリ結果を取得します。キーワードASを使用して、列名のエイリアスを指定することもできます。 。

    このシリーズの次のチュートリアルでは、場所を使用して結果をフィルタリング、並べ替え、またはグループ化するための選択クエリの高度な使用法について説明します。 、いいね注文者 、および GROUP BY 条項。

    このセクションでは、SELECTコマンドを使用してテーブルからデータを読み取る例を示します。以下のクエリを使用して、ユーザーデータを格納するためのid、名、および姓の列を持つユーザーテーブルを作成します。

    # Create the User Table
    CREATE TABLE `user` (
    `user_id` bigint(20) NOT NULL,
    `first_name` varchar(45),
    `last_name` varchar(45)
    );

    下記のクエリを使用して、ユーザーテーブルにデータを挿入できます。

    # Insert Rows - All Columns
    INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES
    ( 1, 'John', 'Smith' ),
    ( 2, 'Rick', 'Jones' ),
    ( 3, 'Catherine', 'Ponting' ),
    ( 4, 'Harsh', 'Upadhyay' ),
    ( 5, 'Tajwinder', 'Singh' );

    上記のクエリは、5人の異なるユーザーを表すために、ID、名、および姓を持つ5つの行をテーブルに挿入します。

    次に、userテーブルに挿入されたデータを読み取ります。以下に示すように、SELECTコマンドを使用して実行できます。

    # Read all the columns and rows
    SELECT * FROM `user`;

    # Result
    1 John Smith
    2 Rick Jones
    3 Catherine Ponting
    4 Harsh Upadhyay
    5 Tajwinder Singh


    # Read selective columns
    SELECT `first_name`, `last_name` FROM `user`;

    # Result
    John Smith
    Rick Jones
    Catherine Ponting
    Harsh Upadhyay
    Tajwinder Singh

    最初のクエリではクエリ結果のすべての列が表示されますが、2番目のクエリでは提供された列の行データのみが表示されます。

    テーブルの行数が50または100より大きい場合は、LIMITまたはOFFSETを使用して制限されたデータを読み取ることをお勧めします。

    # Read limited rows
    SELECT * FROM `user` LIMIT 2;

    # Result
    1 John Smith
    2 Rick Jones

    # Read limited rows using offset
    SELECT * FROM `user` LIMIT 3, 2;

    # Result
    4 Harsh Upadhyay
    5 Tajwinder Singh
    >

    キーワードLIMITを使用して、オフセット値と制限値を指定することにより、制限された行をフェッチできます。上記の例では、最初のクエリが最初の2行を読み取ります。 2番目のクエリも、オフセット値を3に指定することにより、4行目から2行を読み取ります。

    これが、MySQLテーブルに格納されているデータを読み取る方法です。


    1. 最後に、いいえ、IDENT_CURRENT()を信頼することはできません

    2. ASP.NetでのSQLインジェクションの防止

    3. Oracle PL/SQL文字列比較の問題

    4. MySQLの使用方法に関する包括的なガイド