1.ソートクエリ
*構文:ORDER BY句
*ソートフィールドによって順番1つのソート1、ソートフィールド2ソート2 ...
*並べ替え:
* ASC:昇順、デフォルト。
* DESC:降順。
*注:
*基準をソートが複数ある場合は、現在の状態値と、同じ側にのみ第二決意条件。
2.重合機能:全体として列データ、長手方向の計算。
1. COUNT:カウント数
1一般に、選択された非NULL列:主キー
2. COUNT(*)
2最大:最大値算出
3.分:最小値算出
4.和:計算と
5.平均を:平均値を算出します
*注:重合演算機能、NULL値を除きます。
解決策:
1.列がnull以外の計算含まれていません
2. IFNULL関数を
3.グループ化されたクエリ:
1.構文フィールドをグループ化してグループ;
2。注:
1.グループ化後の問い合わせのフィールド:グループ化フィールド、集約関数の
差をと2場所を有しますか?
パケットが定義される前に、条件が満たされない場合、パケットには関与しない1。
結果が満足されない場合は、クエリの外ではありません、次のパケットで定義した
2集約関数でないと判定さ、関数が有する重合することができます。
- 男女別にグループ化され。クエリは、平均的な男性と女性の学生でした
性別SELECT、AVG(演算)性別BY学生からグループ;
-性別に応じてグループ。クエリは平均の数の男性及び女性の学生であった
学生sexからBY SELECTセックス、AVG(数学)、COUNT(上記ID)基;
-性別に応じてグループ化。クエリは、要件の数平均の男性と女性の学生だった:グループに参加していない人よりも70ポイント低いスコア
AVG(数学)、SELECTセックス、COUNT(上記IDを述べた)WHERE数学の学生> 70グループからセックスBY;
-男女別グループ化。クエリは、要件の数平均の男性と女性の学生だった:パケットの後のパケットに参加していない人よりも70ポイント低いスコア。数は2人のよりも大きい
;> 70数学GROUP BYセックスHAVING COUNT(上記IDを述べ)>学生2からのカウント(上記IDを述べ)、SELECTセックス、AVG(演算)
SELECTセックス、AVG(数学)、COUNT(上記IDを述べ)数学生WHERE FROMセックスHAVING数> 2 BY数学> 70 GROUP。
4.ページングクエリ
1.構文:制限開始インデックス、ページあたりのクエリ数;
2.式:開始インデックス=(現在のページ番号- 1)*ページごとに表示の数
-ページあたり3つの記録
学生LIMIT 0,3 SELECT * FROM; - 。pは1
SELECT * FROM学生3,3 LIMIT; -ページ2
SELECT * FROM学生6,3 LIMIT; -ページ3
3.制限はMySQLの「方言」であります
*コンセプト:データがデータを確認するために、テーブルに定義されている精度、有効性および完全性を。
*分類:
1つの主キー制約:主キー
2.非空制約:NULLではない
3.唯一の制約:UNIQUE
4.外部キー制約:外部キー
*主キー制約:主キー。
1.注:
1.定義:非空のみと
表2は1つのプライマリキーフィールドを有することができ、
主キーがテーブルに記録された固有の識別である3.
2.テーブルを作成する場合、主キー制約が追加
表STU作成(
ID INTは主キーは、 -主キー制約のIDを追加する
名前VARCHAR(20)の
);
3.主キーの削除
-表STU変更ALTER INT上記IDエラー、
ALTER TABLE DROP PRIMARY KEY STUと、
4.テーブルを作成した後、主キー追加
ALTERテーブルSTUは、ID INT PRIMARY KEYを変更します 。
5.自動成長:
1.コンセプト:カラムが数値型の場合、AUTO_INCREMENT価値が自動拡張を使用して達成することができます
2.テーブルの作成、主キー制約を追加し、自動インクリメントの主キーが完了
表STU(作成
のid int型主キーAUTO_INCREMENT、 -主キー制約のIDを追加する
名VARCHAR(20です)
);
3の自動成長削除
上記のID INTのSTUを変更するALTER TABLEを;
4.自動拡張を追加
表STUがID INTのAUTO_INCREMENTを変更ALTER。
*非空制約:NULL、NULL値ができませんではない
追加制約表1.作成
CREATE TABLEをSTU(
ID INT、
NAME VARCHAR(20)とNOT NULL - null以外の名前
);
2.表を作成した後、無添加をNULL制約は、
表STU MODIFY NAME VARCHAR(20 ALTER )NOT NULLを。
3の名前を削除し、空でない制約
ALTERテーブルSTU MODIFY NAME VARCHAR(20 )。
*唯一の制約:ユニークな、繰り返さない値
テーブルを作成する場合1.、一意制約を追加
CREATE TABLEをSTU(
ID INTを、
PHONE_NUMBER VARCHAR(20)は一意である-一意性制約
)、
唯一の制約定義列*注のMySQL、この値はnullの複数を有することができます
2.ユニーク制約のドロップ
; ALTER TABLE DROP INDEX STU PHONE_NUMBERを
使用すると、表を作成した後3、ユニーク制約を追加
PHONE_NUMBER VARCHAR(20 MODIFYのALTER TABLE STUを UNIQUEを)。
*外部キー制約:外部キー、なるように、テーブルとテーブルの生成との関係、データの正確さを保証するようになっています。
あなたがテーブルを作成するとき1.は、あなたが外部キーを追加することができます
*構文:
テーブルのテーブル名を作成します(
....
の外部キー列
制約名、外部キー、外部キー(外部キー列名)は、主テーブルの名前(プライマリテーブルのカラム名)を参照します
)。
2.外部キーの削除
ALTER TABLEテーブルのDROP FOREIGN KEY外部キーの名前を;
3.テーブルを作成した後、外部キーの追加
ALTER TABLEテーブル名(外部キーフィールド名)REFERENCESがマスターテーブル(プライマリ・テーブルのカラム名を)名CONSTRAINT外部キー名FOREIGN KEYを追加します。
4.カスケード操作
1.カスケード操作の追加
構文:CONSTRAINT外部キー名ADD TABLEテーブル名をALTER
FOREIGN KEY(外部キーフィールド名)を参照するにはUPDATEのCASCADE ON DELETE CASCADE ON(プライマリテーブルのカラム名)マスターテーブルに名前を付ける。
2.分類:
1.カスケード更新:ON UPDATE CASCADEを
2カスケード削除:DELETE CASCADE ON