レッスン4(難易度)

テーブル制約

 

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インデックスを削除します

基本的な形式:インデックステーブルインデックス名のドロップ、以下の結果の実装:

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/yqy0407/p/11823927.html