4.1基礎となる問合せ
データテーブルからデータを照会するためのMySQLの基本的な文がselect文で、select文は、レコードのコレクションとして見られているデータベースにクエリの結果を返します。select文では、ユーザは、異なるニーズに応じて別のクエリ条件を使用することができます。
1.データテーブルとテーブル構造を作成します。
内蔵の3つのテーブル
2.クエリのすべてのフィールド
すべてのフィールドを発見して、次のようにすべてのデータのルックアップテーブルという、MySQLの特定の構文でテーブルを照会するためのデータを使用してselect文があるさ:
select 字段名1,字段名2,...,字段名n from 表名;
上記の構文では、フィールド名は、クエリデータの名前を示すテーブル名テーブル、テーブルのフィールド名ことを示しています。
MySQLでは、ワイルドカード「*」を提供して構文は次のように、ワイルドカードは、SQL文を書くために、フィールド名のすべてを置き換えることができます。
select * from 表名;
3.クエリの指定したフィールド
select 字段名1,字段名2,... from 表名;
4.2条件お問い合わせ
関係演算子1.クエリ
句は、クエリを指定するselect文で使用されるので、構文は次のとおりである、フィルタリングされたデータをチェックアウトすることができます。
select 字段名1,字段名2,... from 表名 where 条件表达式;
「!=」と「<>」同じ表現ではなく、個々のデータベースをサポートしていません「!=」、使用することをお勧めしていることに注意してください「<>」。
2.付きクエリとキーワード
次のように正しいデータにクエリをフィルタリングすることができ、選択クエリデータ、時々ない単にクエリが、クエリ複数の条件を使用する場合、MySQLではANDキーワードクエリを使用して接続することができ、特定の構文は次のとおりです。
select 字段名1,字段名2,... from 表名 where 条件表达式1 and 条件表达式2 ...;
3.付きまたはキーワードクエリ
select 字段名1,字段名2,... from 表名
where 条件表达式1 or 条件表达式2 ...;
またはないキーワードクエリで4ベルト
条件が満たされない場合、MySQLは、指定されたコレクションかどうかを決定するためにフィールド内に設けられ又はされていない場合、データは次のように特定の構文は、除外される:
select 字段名1,字段名2,... from 表名 where 字段名 [not] in(元素1,元素2,...) ...;
上記の構文、フィールド名、フィールド名等が2を表します句はフィールドはオプションではなく示しフィルタリングされるフィールド名、フィールド名を照会する必要があり、セット内など範囲、素子1、素子2を表していない集合の要素です。
バンドがnullの場合、またはヌルのキーワードクエリではありません
また、空の文字列とは異なるデータ・テーブル内のヌル値、及び0とは異なるNULL値があってもよいです。使用がnullであるか、nullがキーワードは、MySQLで次のように具体的な構文は、nullであるかどうかを決定ではありません。
select 字段名1,字段名2,... from 表名 where 字段名 is [not] null;
クエリの間とキーワード6.ベルト
指定された範囲内で、除外されない場合、次のように指定された範囲内のフィールドの値は、特定の構文であるかどうかを決定するための間でキーワード。
select 字段名1,字段名2,... from 表名 where 字段名 [not] between 值1 and 值2;
キーワードクエリのような7バンド
いくつかの場合において、それは、ファジークエリする必要があるかもしれない
select 字段名1,字段名2,... from 表名 where 字段名 [not] like '匹配字符串';
指定された文字列を一致させるために使用される「文字列と一致する」、文字列はプレーンな文字列であってもよく、それはまた、(_)パーセント記号(%)を含み、下線ができます0〜Nパーセントの文字のいずれかを表すワイルドカード文字列、任意の文字を強調しました。
distinctキーワードクエリ8.
MySQLは次のように具体的な構文は、データ重複排除のための個別のキーを提供し、
select distinct 字段名 from 表名;
4.3高度な検索
1.ソート問い合わせ
データの結果セットのユーザ定義の順序を容易にするために、MySQLはクエリ結果のソート順のために提供されます。
select 字段名1,字段名2,... from 表名 order by 字段名1 [ASC|DESC], 字段名2[ASC|DESC]...;
上記の構文では、等フィールド名1、フィールド名2は、指定されたキーワードを選別する手段、ASCとDESCパラメータが昇順にソートするASCを表し、オプションであることを示した後にフィールド名がフィールド名で、注文を照会する必要が表しますこのパラメータは、デフォルトの昇順ソートを書いていない場合、DESCは、代表に従って降順。
2.重合機能
クエリデータは、統計データのために必要とされてもよいした後、MySQLは特に、次の表に、また、集計関数としても知られている統計の機能のセットを提供します。
|関数名は|アクション|
| - : - | - : - |
| COUNTは()|コラムの行数を返します|
| SUM()|列の値を返します|
| AVGは()|コラムの平均値を返します。 |
| MAX()|カラムの最大値を返す|
|分()|カラムの最小値を返します|
count()関数
カウント()関数は、次の構文、有する
select count(*|1|列名) from 表名;
上記の構文は、関数は3つの選択可能なパラメータ、COUNTを有する(()カウント数(列名)特定の列を有する値を返し;)を返した行の数が、NULLが含まれています行の数は、NULLを含まない;カウント(カウントと(1)、がある(1)データテーブルの主キー、カウントない場合に効率結果)バック、同じであるが、より高いであろう。
また、クエリの結果セットの列名が別名であってもよいし、唯一の「エイリアスとして」ボタンが続く)(カウントする必要があります。合計()関数
型が列数値型を指定しない場合、値の和()関数は、指定された列を計算するために使用され、その後、計算結果は次のように特定の構文は、0です。
select sum(字段名) from 表名;
AVG()関数
カラム型が数値型を指定されていない場合AVG()関数は、指定された列の平均値を計算するために使用され、その後、計算結果は次のように特定の構文は、0です。
select avg(字段名) from 表名;
MAX()関数
指定された列は、操作を選別文字列は、特定の構文は以下の通りである、文字列型である場合MAX()関数は、指定された列の最大値を計算するために使用されます。
select max(字段名) from 表名;
分()関数
分()関数は、指定された列は、文字列型である場合は、次のように操作をソートする文字列、特定の構文は、列を指定された最小値を計算するために使用されます。
select min(字段名) from 表名;
3.グループ化クエリ
あなたは、構文は次のとおりである、MySQLでは、クエリをグループ化することにより、キーワード群を使用することができます。
select 字段名1,字段名2,... from 表名 group by 字段名1,字段名2,...;
上記の構文では、名前でグループの背後にあるフィールドは、クエリパケットの結果に基づいています。
一般に重合機能と一緒に使用して、グループ。
4. HAVING句
MySQLは、濾過後のデータパケットのhaving句を提供句は、データパケットの前に濾過される場合、集約関数はその背後に使用することができないが、それは、その背後に集約関数で使用することができます。次のように句式の構文を持つことです。
select 字段名1,字段名2,... from 表名 group by 字段名1,字段名2,...[having 条件表达式];
5. LIMIT]タブ
クエリデータは、一般に、いくつかの、数十またはそれ以上のデータを返しますが、ユーザーはそれらのいくつかを必要とするかもしれない、とこのクエリは大幅にこの問題を解決するために、プログラムのパフォーマンスに影響を与える、MySQLの申し出た場合クエリ結果を制限するために使用するキーワードの数を制限します。構文は次のとおりである制限されます。
select 字段名1,字段名2,... from 表名 limit [m,] n;
上記の構文の最初のレコードを表す0の、第1のパラメータMは任意であり、開始インデックスを表し、指定されていない場合、デフォルト値、2番目のパラメータnが代表から、選択されなければなりませんM + 1-Nレコードは、レコードをフェッチし始めます。