テーブル制約
1.主キーの制約によってPRIMARY KEY 定義され、それはレコードを一意に識別することができ、単一の、マルチフィールド主キーに主キーフィールド。
有する(1)単一フィールド主キー手段主キーフィールドの構成、基本的な形式である:フィールド名データ型KEY PRIMARYを、次のように、実行結果は次のとおりです。
各ステートメントの実行が完了した後、データテーブルを参照するには、すべての必要性は、次のような結果は次のとおりです。
(2)複数フィールド主キーが参照する複数のフィールドの組み合わせの基本キーの基本形式:PRIMARY KEY(1フィールド名、フィールド名2、...、N-フィールド名);以下のように、実行結果は次のとおりです。
/ *各データテーブルは、PRIMARY KEYフィールドは重複した値として定義され、最大1つの主キー制約を持つことができ、NULL値にはできません* /
2.非ヌル制約は、フィールドの値を指すNULLでない、NOT NULLは、その基本的な形式で定義されるフィールド名データ型NOT NULL; 以下のように、実行結果は次のとおりです。
/ *一つのデータテーブルでは、非ヌルフィールドを複数定義してもよいです* /
3.唯一の制約は、テーブル内のデータフィールドことを保証するために使用される一意の(即ち、フィールドの値が表に繰り返すことができません)。唯一の制約によるものであるUNIQUEは、基本フォーマット定義:フィールド名データ型UNIQNを、次のように、実行結果は次のとおりです。
4.するフィールドデータテーブルのデフォルト制約デフォルト値を指定することにより、DEFAULTキーワード定義の基本形式:フィールド名データタイプデフォルトデフォルト; 、実行結果は次の通りであります:
上記では、AUTO_INCREMENTの制約は、フィールドが任意であることができる、テーブルに新しいレコードを達成するために、自動的に生成される一意のIDが挿入されている整数型 ;このフィールドのデフォルト値は1つの開始増分から、基本的なフォーマットフィールド名前データ・タイプAUTO_INCREMENT。
指数
データベースのインデックス新華辞書シーケンサテーブルなどは、それがロールにある1つ以上の列がソートされているデータベースのテーブル値の構造であるテーブル内の検索データをスピードアップ。
次のように、インデックスを作成するための3つの方法があります。
インデックスを作成するときにまず、テーブルを作成します
TABLEテーブル名(フィールド名データ型[整合性制約を] CREATE、
フィールド名データ型[整合性制約]、
......
フィールド名データ型[UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY [別名](1フィールド[(長さ)])[ASC | DESC])
);
次のように関連構文の上に説明しました:
•UNIQUE:オプションのパラメータは、ユニーク制約を表します
•FULLTEXT:オプションのパラメータ制約の全文を示し、
•SPATIAL:オプションのパラメータは、空間的な制約を表し、
•INDEXとKEY:インデックスフィールドを表すために使用される、あなたがから選ぶことができます
インデックスの作成を表し、オプションのパラメータの名前を指定します。•エイリアス
•フィールド名1:インデックスに対応するフィールドの名前を指定します。
•長さ:オプションのパラメータの長さが指数を表し、
•ASCとDESC:ASCは昇順を表し、オプションのパラメータは、降順はDESCを表します
次のようにMySQLのインデックスは、多くの分け:
1.一般的な指標
上記のステートメントは、CREATE TABLEステートメントを使用して、実行された後、構造SHOWテーブルを参照して、実行結果は次の通りです:
インデックスが使用されているかどうかを確認するには、EXPLAIN文で、基本的な形式で確認することができます。
ID = 1、T1 SELECT * FROM EXPLAIN。
2.一意のインデックス
3.フルテキストインデックス
4.別のインデックス
5.マルチカラムインデックス(これらのフィールドの最初のフィールドで使用される唯一のクエリは、複数列インデックスが使用されることに留意されたいです)
前記空間インデックス(選択されたフィールドの値がヌルにすることはできません、とテーブルストレージエンジンはMyISAMテーブルであることに注意)
第二には、既に存在するテーブルにインデックスを作成するには、CREATE INDEXステートメントを使用します
CREATE INDEXの基本形式:CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX ONテーブルインデックス名(フィールド名[(長さ)] [ASC | DESC]); / * UNIQUE、FULLTEXT、空間は、それぞれ、オプションのパラメータであり、ユニークな、フルテキスト、空間インデックスインチ INDEXフィールドは、インデックスを指定するために使用されます。
本のテーブルを作成します。
データ・テーブル・ブックを作成した後、以下のように、すでにデータテーブルに存在するインデックスを作成するCREATE INDEX文を使用して起動します。
通常のインデックスを作成します。1.
基本的な形式:ONブック(ID)をINDEX_ID INDEXを作成します。次のように実行結果は次のとおりです。
上記のステートメントは、CREATE TABLEステートメントを使用して、実行された後、構造SHOWテーブルを参照して、実行結果は次の通りです:
一意のインデックスを作成します。2.
基本的な形式:ONブック(ID)uniqueidx UNIQUE INDEXを作成します。次のように実行結果は次のとおりです。
別のインデックスを作成します3。
基本フォーマット:ON帳(名前)singleidx CREATE INDEXを、次のように実行結果は以下のとおりです。
複数列のインデックスを作成します。4.
基本的な形式:INDEXがONブック(名前(8)、(3)セックス。)mulitidx CREATE; 実行結果は次の通りであります:
フルテキストインデックスを作成します。5.
まず、復興のセックスフィールドにテーブルにフルテキストインデックスを作成するには、テーブルのブックを作成し、テーブル帳を削除します。次のように実行結果は以下のとおりです。
:フルテキストインデックスの基本フォーマット; CREATE FULLTEXT ONブック(セックス)fulltextidx INDEX:実行結果は次の通りです
空間インデックスを作成します。6.
まず、データテーブルT7を作成し、G spatidxフィールドフォーマットで空間インデックスの名前を作成する空間索引を作成spatidx ON T7(G )。
第三に、されているテーブルのインデックスを作成するために、ALTER TABLE文を使用
CREATE INDEX文を、あなたはALTER TABLE文を使用することができます使用に加えて、その構文は、インデックステーブルが既に存在作成ALTER TABLEテーブルのADD [SPATIAL | | FULLTAXT UNIQUE] INDEXの[インデックス名(フィールド名[(長さ)] ASC | DESC])/ *ユニークな、FULLTEXT、空間オプションのパラメータであり、ポイントを一意にインデックス付け、フルテキストインデックス、空間インデックスに使用される、ADDは* /テーブルに追加フィールドを表します
通常のインデックスを作成します。1.
名前を作成し、テーブルのidフィールド上での基本的な形式の一般的な指標をINDEX_ID:ADDは、INDEX(id)をINDEX_ID ALTER TABLEブックを、次のように実行結果は以下のとおりです。
一意のインデックスを作成します。2.
IDフィールドのテーブル名を確立することは、基本的なフォーマットuniqueidx一意のインデックスである:ALTER TABLE予約ADD UNIQUE uniqueidx(ID); 以下のように実行結果は次のとおりです。
別のインデックスを作成します3。
名前フィールドに単一の行singleidx名テーブルインデックスを確立し、基本的な形式:ALTER TABLE予約ADD singleidx INDEX(名(20である)); 実行結果であるは次の通り:
複数列のインデックスを作成します。4.
性別スコアとMultIdx複数列インデックス、基本的な形式のフィールドのテーブル名を確立:ALTER TABLE予約INDEX MultIdx ADD(スコア(4)、性別(4)。。); 以下のように実行結果は次のとおりです。
フルテキストインデックスを作成します。5.
削除するには、テーブルブック、テーブル名、フィールドのフォーマットにフルテキストインデックスを作成するために、テーブル帳を再作成するALTER TABLE帳ADD FULLTEXT INDEX fulltextidx(名); 以下のように実行結果は以下のとおりです。
空間インデックスを作成します。6.
テーブルT8を作成し、宇宙空間インデックスspatidxのテーブルにフィールドに名前を作成し、基本的なフォーマットALTER TABLE T8
空間インデックスspatidx(スペース)を追加し、次のように実行結果は以下のとおりです。
インデックスの削除
次のように、インデックスを削除する方法は2つあります。
1. ALTER TABLEインデックスを削除
基本フォーマット:ALTER TABLEのテーブルDROP INDEXフィールド名
フルテキストインデックスのfulltextidxの名前で削除するには、テーブルブック、次のように、実行結果は以下のとおりです。
2. DROP INDEXインデックスを削除します
基本的な形式:インデックステーブルインデックス名のドロップ、以下の結果の実装: