前:[MySQLは知っておく必要がある(1)] [公式データベーステーブルとSQLスクリプトインポートの生成]
記事ディレクトリ
1つは、データを取得する
SELECTステートメントを使用して、テーブルから1つ以上のデータ列を取得する
1.1 SELECTステートメント
SELECTを使用してテーブルデータを取得するには、選択するものと選択する場所の少なくとも2つの情報を提供する必要があります。
1.2単一の列を取得する
mysql> SELECT prod_name
-> FROM products;
上記のステートメントは、SELECTステートメントを使用して、productsテーブルからprod_nameという名前の列を取得します。必要な列名はSELECTキーワードの後に指定され、FROMキーワードはデータを取得するテーブルコマンドを示します
1.2.1ソートされていないデータ
このクエリを数回試行すると、表示されるデータの順序が異なることがわかります。クエリ結果が明確にソートされていない場合、返されるデータの順序に特別な意味はありません。返されるデータの順序はランダムです。返される行の数が同じである限り、それは正常です。
1.2.2 End SQLステートメント
複数のSQLステートメントはセミコロンで区切る必要があります。MySQLは、ほとんどのDBMSと同様に、単一のSQLステートメントの後にセミコロンを必要としません。ただし、特定のDBMSでは、単一のSQLステートメントの後にセミコロンを追加する必要がある場合があります。mysqlコマンドラインを使用している場合は、SQLステートメントを終了するためにセミコロンを追加する必要があります。
1.2.3 SQLステートメントと大文字
SQLステートメントでは大文字と小文字が区別されません。多くのSQL開発者は、すべてのSQLキーワードに大文字を使用し、すべての列名とテーブル名に小文字を使用することで、コードの読み取りとデバッグを容易にします。
1.3複数の列を取得する
テーブルから複数の列を取得するには、同じSELECTステートメントを使用します。唯一の違いは、SELECTキーワードの後に複数の列名を指定する必要があり、列名はコンマで区切る必要があることです。
1.3.1カンマ
複数の列を選択する場合は、列名の間にコンマを追加してください。ただし、最後の列名の後には追加しないでください。最後の列名の後にコンマを追加すると、エラーが発生します。
mysql> SELECT prod_id, prod_name, prod_price
-> FROM products;
1.4すべての列を取得する
実際の列名の代わりに*ワイルドカードを使用する
mysql> SELECT *
-> FROM products;
1.4.1ワイルドカードの使用
*ワイルドカードの使用を減らしますが、不要な列を取得すると、通常、取得とアプリケーションのパフォーマンスが低下します。
1.5異なる行の取得
DISTINCTキーワードを使用して、異なる値のみを返す
mysql> SELECT DISTINCT vend_id
-> FROM products;
1.6制限結果
最初の行または最初の数行を返します。LIMIT句を使用できます
mysql> SELECT prod_name
-> FROM products
-> LIMIT 5;
LIMIT 5はMySQLに5行以下を返すように指示します
mysql> SELECT prod_name
-> FROM products
-> LIMIT 5,5;
LIMIT 5,5は、MySQLに行5から始まる5行を返すように指示します。最初の数字は開始位置で、2番目の数字は取得された行数です
1.6.1行0
取得される最初の行は、行1ではなく行0です。LIMIT 1、1は、最初の行の代わりに2番目の行を取得します
1.7完全修飾テーブル名を使用する
mysql> SELECT products.prod_name
-> FROM products;
完全修飾列名
次に、データを並べ替えて取得します
2.1データを並べ替える
データベーステーブルの単一の列を特定の順序で返さない
mysql> SELECT prod_name
-> FROM products;
mysql> SELECT prod_name
-> FROM products
-> ORDER BY prod_name;
データをアルファベット順に並べ替え
2.2複数の列で並べ替え
複数の列を並べ替えるには、列名を指定し、列名をコンマで区切ります
mysql> SELECT prod_id, prod_price, prod_name
-> FROM products
-> ORDER BY prod_price, prod_name;
2.3ソート方向を指定する
デフォルトは昇順(AからZ)、降順のDESCキーワードです。
mysql> SELECT prod_id, prod_price, prod_name
-> FROM products
-> ORDER BY prod_price DESC;
mysql> SELECT prod_id, prod_price, prod_name
-> FROM products
-> ORDER BY prod_price DESC, prod_name;
DESCキーワードは、その直前の列名にのみ適用されます。
2.3.1複数の列で降順で並べ替え
複数の列で降順にソートする場合は、各列にDESCキーワードを指定する必要があります
2.3.2 ORDER BY句の位置
ORDER BY句を指定する場合は、FROM句の後に配置する必要があります。LIMITを使用する場合は、ORDER BYの後でなければなりません。句を使用する順序が間違っていると、エラーメッセージが表示されます。