02 MySQLのデータテーブルの基本的な操作

データテーブルを作成します。01-

データベーススイッチング
使用TEST_DBを、

#は作成データテーブル
構文規則は以下の通りである:
表のテーブル名(作成
    フィールド名1、データタイプ[カラムレベルの制約] [初期値]、
    フィールド名2、データタイプ[カラムレベルの制約] [デフォルト値]、
    ... 
    [テーブルレベルの制約] 
); 

注:
     1 、作成されるテーブル名、大文字と小文字を区別しないが、SQLキーワードを使用することはできません。
    図2は、複数の列を作成するためのデータテーブルは、カンマで区切られました。
例:
表TEST_DB(登録
    上記のID INT( 11 )、
    名前VARCHAR( 25 )、
    DEPTID INT( 11 )、
    給与FLOATを
); 

データテーブルを表示するためには、成功を作成する 
番組表を、

1.1主キー制約

主キー制約は、データの一意の主キー列を必要とし、空にはできません。主キーとマルチセグメントリスト主キーフィールド:主キーは2種類に分け。

単一フィールド主キー 
1 、構文規則は次の通りである:
フィールド名データ型PRIMARY KEY [デフォルト] 

表TEST_DB(作成
    ID INT( 11 )PRIMARY KEY、
    名前VARCHAR( 25 )、
    (INTをDEPTID 11。 )、
    給与FLOATを
); 

または
作成TEST_DB表(
    ID INT( 11 )、
    名前VARCHAR( 25 )、
    (INTをDEPTID 11。 )、
    給与FLOAT、
    PRIMARY KEY(ID) 
)。
複数フィールド主キー
 
1 、構文規則は以下の通りである:
PRIMARY KEY(フィールド1、フィールド2、フィールド3、...)
例:
表TEST_DB(登録
    名VARCHAR( 25 )、
    INT(DEPTID。11 )、
    給与FLOAT、
    PRIMARY KEY (名前、DEPTID)
);

1.2外部キー制約

外部キーはリンクに2つのデータテーブルとの間で使用される、または複数の行であってもよいです。表は、複数の外部キーを持つことができないヌル値、各外部キー値は、別のテーブルの主キーに等しくなければならない場合、外部キーは、ヌルです。

外部キーは、データの一貫性と整合性を維持することです。

次のように文法は外部キーをルール:
制約外部キー名外部キーフィールド名を1つの参照プライマリ・テーブルのキー列を審判

外部キー名:外部キー制約定義名、テーブルは、同じ外部キー名を持つことができ、
フィールド名:電流テーブルのフィールドは、外部キー列を追加する必要があります。
マスターテーブル:テーブルの外部キーキルトは、テーブルの名前を依存し、
主キー列:主キー列または主キーの組み合わせ主テーブルで定義されています。

例:
表の作成tb_dept1(
    ID INT( 11 )PRIMARY KEY、
    名前VARCHAR( 22である)NOT NULL、
    LOCATION VARCHAR( 50 
); 

CREATE TABLEのtb_dept5(
    ID INT( 11 )PRIMARY KEY、
    名前VARCHAR( 25 )、
    (INTをDEPTID 11 )、
    給与FLOAT、
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(DEPTID)を参照のtb_dept1(ID) 
)。

1.3非空制約

非空制約(NOT NULL)は空白にすることはできませんフィールドの値を参照します。

次のような構文規則は、
フィールド名データ型NOT NULLを

1.4唯一の制約

唯一の制約(UNIQUE制約)は、この列は空にすることができ、ユニーク必要ですが、唯一のヌル一度発生する可能性があります。

構文規則は次の通りである

フィールド名データ型UNIQUEは、

テーブルtb_dept1(登録
    ID INT( 11 )PRIMARY KEY、
    名前VARCHAR( 22である)UNIQUE、
    LOCATION VARCHAR( 50 
;) 

または
表の作成tb_dept1(
    ID INT( 11 )PRIMARY KEY、
    名前をVARCHAR( 22である)、
    LOCATION VARCHAR( 50 )、
    CONSTRAINT SHT UNIQUE(名)
);
UNIQUEとPRIMARY KEY差は次のとおりです。
表には、UNIQUEとして宣言された複数のフィールドを持っていますが、一つだけPRIMARY KEYことができます。
PRIMARY KEY列はヌルではない値として宣言されたが、UNIQUEフィールドがヌル値(NULL)が存在することを可能として宣言しました。

1.5デフォルトの制約

列のデフォルト値を指定します。DEFAULT

表tb_dept4(登録
    IDのINT( 11 )PRIMARY KEY、
    DEPTID INT( 11)DEFAULT 1234 
    名前VARCHAR( 22 )UNIQUE、
    位置VARCHAR( 50 
)。

表1.6設定属性値が自動的に増加されます

システムが自動的にプライマリキーフィールドを生成します。AUTO_INCREMENTキーワード

表tb_dept4(登録
    IDのINT( 11 )PRIMARY KEY AUTO_INCREMENT、
    名前VARCHAR( 22 )NOT NULL、
    位置VARCHAR( 50 
)。

1.7ビューのデータテーブル構造

ビューの文の基本的な構造のデータシートは、DESCは/ DESCRIBE 
表の記述、
または単に:
DESCテーブル名; 

MySQLの > DESC tb_dept1;
 + ---------- + ---------- + ------ + ----- + --- --------- + ------- + 
|フィールド、|タイプ|ヌル|キー|デフォルト|エキストラ| 
+ - ------------- + --------- + --------- + ------ + ----- + --- + ---- 
| ID |整数| NO | PRI | NULL | |(11)
|名前| VARCHAR(22である)| NO | | NULL | | 
| LOCATION | VARCHAR(50)| YES | | NULL | | 
+ - ------------- + --------- + --------- + ------ + ----- + --- + ---- 
。3列 SET(0.01秒)
CREATE TABLEステートメントSHOWの詳細な構造を表示するには、
あなたがテーブルを作成するときに、CREATE TABLE文を表示するために使用することができます。

:構文は次の通りである
; SHOW CREATE TABLEテーブル名\ G 

例:
MySQLは > 表tb_dept1 \ Gを、SHOW CREATE;
 ************************************************************行*************************** 1. * 
       表:tb_dept1 
表を作成します:CREATE TABLEのtb_dept1` `(
  ` id` int型( 11 ) NULL NOT、
  `NAME` VARCHAR( 22はNOT NULL)、
  ` location` VARCHAR( 50 )は、デフォルトのNULL、
  PRIMARY KEY( `id`)
)ENGINE = InnoDBのDEFAULT CHARSET = UTF8
 1行。 SET(0.00 秒)

ERROR:
指定されませんクエリ

データテーブルを変更02-

テーブルを変更するには、ALTER TABLE文を使用MYSQL。

、テーブル名の変更フィールド名やデータのフィールド・タイプの変更、フィールドを追加および削除、フィールドの配置位置を変更するために、変更テーブルストレージエンジン、外部キーテーブル制約を削除する:操作は、テーブルを変更するために使用されています。

2.1テーブル名を変更

構文規則は以下のとおりである:
古いテーブルに新しいテーブル名にALTER TABLE名RENAMEを; 

例:
MySQLの > 表を表示します。
 + ------------------- + 
| Tables_in_test_db | 
+ --- + ---------------- 
| tb_dept1 | 
+ ------------------- + 
1行 SET(0.00 秒)

のMySQL > ALTER TABLE RENAMEは、TOのtb_deptment1をtb_dept1、
クエリの影響を受けるOK、0行( 0.03 秒)は、

MySQLの > 表を表示します。
 + ------------------- + 
| Tables_in_test_db | 
+ - + ----------------- 
| tb_deptment1 | 
+ ------------------- + 
1行における SET(0.00秒)

2.2フィールドのデータ型を変更

構文規則は次の通りされている:
ALTER TABLEテーブルMODIFYフィールド名データ型

テーブル名:フィールドのデータ型テーブルの名前を変更するには、
フィールド名:フィールドのデータ型を変更し、
データの種類:新しいフィールドのデータ型を変更した後。
ALTER TABLE tb_dept1 MODIFY名VARCHAR(30)。

2.3修正フィールド名

構文規則は次の通りです:
新しいフィールド名フィールドの古い名前新しいデータ型ALTER TABLEテーブル名の変更を。

2.4の追加フィールド

次のような構文規則は次のとおりです。
ALTER TABLEテーブル名が新しいフィールドに新しい名前を追加するデータ型の制約[FIRST | AFTER既存のフィールド名]、

FIRSTおよびAFTERオプションです。
FIRST:テーブルの最初のフィールドに新しいフィールドを追加します。
AFTER:指定に新しく追加された追加フィールドの既存のフィールド名バック。
整合性制約せずにフィールドを追加 
ALTER TABLE ADDは、INT(10マネージャーID tb_dept1 ); 

追加整合性制約フィールド 
ALTER TABLEは、ADDメモVARCHAR(50)tb_dept1 ないヌル; 

#は、表の最初の列のフィールドの追加 
ALTER TABLEをINTのtb_dept1(10 COLUMN1 ADD ;)FIRST 

#は、指定リストの後にフィールドを追加する 
ALTER TABLE tb_dept1のADDのCOLUMN2のINT(10 )ALTER名。

2.5削除フィールド

次のような構文規則は以下のとおりです。
ALTER TABLEテーブルのDROPフィールド名を、

2.6修飾配置位置フィールド

構文は次のとおりです。
ALTER TABLE 1テーブル名フィールドデータ型MODIFY FIRST | AFTER 2フィールド。

2.7変更テーブルのストレージエンジン

構文:
ALTER TABLEテーブル名ENGINEストレージエンジン=名前を変更した後、

2.8削除するには、テーブルの外部キー制約

構文:
ALTER TABLEテーブル名DROP FOREIGN KEY外部キー制約名、

外部キー制約名:制約、後続のキーワード定義テーブル手段パラメータ

03-削除データテーブル

1、テーブルの削除が関連付けられていない
DROP TABLEは、表1、2、...、N-テーブル[IFはEXISTS]を、
例:IF tb_dept1 DROP TABLEはEXISTS、 

2、他のプライマリ・テーブル関連テーブル削除する
外部キーデータを直接の親テーブルを削除した場合のときに連想が、結果は失敗を表示します。
削除する必要がある場合は、それに関連付けられた子テーブルを削除し、親テーブルを削除することができます。
しかし、いくつかのケースでは、あなたは、あなたが親テーブルを削除することができ、あなたは、単一の親テーブルを削除したい場合は、単に外部キーテーブル制約はキャンセル、子テーブルを維持したいことがあります。

親テーブルのIDに関連付けられた子テーブルfk_emp_deptのtb_emptを持つ外部キー制約は、主テーブルのtb_empt2です。

例:
DROP tb_emp ALTER TABLE FOREIGN KEYはfk_emp_empt; 
DROP表tb_empt2と、

 

おすすめ

転載: www.cnblogs.com/pgxpython/p/11719822.html