テーブルデータテーブルの基本操作上の制約

1、データテーブル作成
のMySQL>表tb_gradeをCREATEを
- >(
- > INT IDは、(20である)、
- >名前のCHAR(20)と、
- >グレードFLOATは、
- >)
- >;
OKを問い合わせ、0行が影響を受けます

データテーブルが正常に作成されていることを確認するためには、次のように表示するには、SHOW TABLESステートメントを使用する必要がある
のMySQL> SHOW TABLESを、
+ ------------------ +
| Tables_in_itcast |
+ ------ + ------------
| tb_grade |
+ ------------------ +
1行セットで

SHOWは、データを表示するには、表のテーブルを作成し使用して2は、(メソッドのデータシートを参照)のMySQL> SHOW表tb_gradeの作成、
+ ---------- + -------------- -------------------------------------------------- -------------------------------------------------- + --------------------------------------
|表|表作成|
+ ---- ------ + ------------------------------------------- -------------------------------------------------- -------------------------------------------------- + ---------
| tb_grade | CREATE TABLE tb_grade`( `
` id`はint(11)は、デフォルトのNULL、
`NAME` VARCHAR(20である)は、デフォルトのNULL、
`フロートはDEFAULT NULL grade`
)ENGINE = MyISAMテーブルをDEFAULT CHARSET = GBK |
+ ---------- + -------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------- +
セット内の1行

ステートメントは、データシート(DESCと略すことがある)(方法II)参照DESCRIBE使用
MySQLを> DESCRIBE tb_grade;
+ ------------- + + ------ ------ ----- + --------- + ------- + +
|フィールド、|タイプ|ヌル|キー|デフォルト|エキストラ|
+ ------- + --- + ------ + ----- + ---------- --------- + ------- +
|上述ID | INT(11)| YES | | NULL | |
|名前| VARCHAR(20)| YES | | NULL | |
|グレード|フロート| YES | | NULL | |
+ ------- + ---------- + ------ + ----- + --- --------- + ------- +
SETの3行

NULL:列がNULL値を格納できるかどうかを示します。
キー:列がインデックス化されているかどうかを示します。
デフォルト:列にデフォルト値があることを示しています。
エクストラ:指定した列に関連が取得され、追加情報を示しています。

3、(TABLE古いテーブル名RENAME [TO]新しいテーブルをALTER;)テーブルを変更
MySQLの> ALTER TABLEは、TOグレードRENAMEをtb_grade;
0行が影響を受け、OKをクエリ

データベース内のすべての表を参照してくださいするには、再度SHOW TABLESステートメントを使用し、正しくテーブル名を修正するかどうかを調べるため
のMySQL> SHOW TABLESを、
+ ------------------ +
| Tables_in_itcast |
+ - + ----------------
|グレード|
+ ------------------ +
1行セットで

4、フィールド名の変更(新しいデータ型のTABLEテーブル名の変更をALTER古いフィールド名新しいフィールド名;)MySQLの> ALTER TABLEグレードCHANGE名のユーザー名VARCHAR(20)と、
OK、0行影響を受けるの照会
レコード:0重複:0警告:0

查看后:
MySQLの> DESCグレード。
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| ID | INT(11)| YES | | NULL | |
| ユーザ名| VARCHAR(20)| YES | | NULL | |
| グレード| フロート| YES | | NULL | |
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
セットで3行


図5に示すように、データ・タイプ・フィールドの変更(ALTER TABLEテーブルMODIFYフィールド名データ型); MySQLの> ALTER TABLE MODIFY IDグレードINT(20)と、
OKを照会し、0行が影響を受ける
レコード:0重複:0警告:0

| 6、フィールドを追加(新しいフィールド名データ型[制約] ADD TABLEテーブル名をALTER [FIRST既存のフィールド名の後に])
MySQLの> ALTER TABLEグレードは、年齢INT(10)を追加し、
[OK]を、影響を受ける0の行の照会
レコード:0重複:0警告:0

查看后:
MySQLの> DESCグレード。
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| ID | INT(20)| YES | | NULL | |
| ユーザ名| VARCHAR(20)| YES | | NULL | |
| グレード| フロート| YES | | NULL | |
| 年齢| INT(10)| YES | | NULL | |
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
組の4行

; 7、フィールドを削除(TABLEテーブルのDROPフィールド名をALTER)
MySQLの> ALTER TABLE DROP年齢グレード、OKを照会し、0行影響を受けた
レコード:0重複:0警告:0

查看后:
MySQLの> DESCグレード。
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| ID | INT(20)| YES | | NULL | |
| ユーザ名| VARCHAR(20)| YES | | NULL | |
| グレード| フロート| YES | | NULL | |
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
セットで3行

図8に示すように、変更されたフィールドの配置位置(最初のテーブルのテーブルMODIFYフィールド名データ型1をALTER | 2フィールド名の後)

(1)
MySQLの> TABLEグレードがFIRSTのユーザー名VARCHAR(20)を変更するALTER;クエリの[OK]を、0行が影響を受けた
レコード:0重複:0警告:0
查看后:
MySQLの> DESCグレード。
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| ユーザ名| VARCHAR(20)| YES | | NULL | |
| ID | INT(20)| YES | | NULL | |
| グレード| フロート| YES | | NULL | |
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
セットで3行

(2)
MySQLの>表グレードグレードAFTERのID INT(20)を変更ALTER、クエリOK、影響を受けた0行
レコード:0重複:0警告:0
查看后:
MySQLの> DESCグレード。
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
| ユーザ名| VARCHAR(20)| YES | | NULL | |
| グレード| フロート| YES | | NULL | |
| ID | INT(20)| YES | | NULL | |
+ ---------- + ------------- + ------ + ----- + --------- + - ------ +
セットで3行

9、データテーブルの削除(DROP TABLEのテーブル名)
> MySQLをDROP TABLEグレードを、
OKを照会し、0行が影響を受けます


図10は、テーブル制約
制約説明
PRIMARY KEY制約、主キーは、一意に対応するレコードを識別する
FOREIGN KEY外部キー制約
NOT NULL非空制約
UNIQUE一意性制約
DEFAULTのデフォルト制約値、フィールドのデフォルト値を


複数フィールドの主キーを指すフィールドの組み合わせの複数の主キー(PRIMARY KEY(フィールド名1、2フィールド名、フィールド名...... N))である
exam_1のMySQL> CREATE TABLE
> -
- >(
- >、INTをstu_id
- > INT Course_IDに、
- >グレードFLOAT、
- > PRIMARY KEY(stu_id、Course_IDに)
- >);
0行が影響を受け、OKをクエリ

MySQLの> DESC exam_1。
+ ----------- + --------- + ------ + ----- + --------- + ---- --- +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ ----------- + --------- + ------ + ----- + --------- + ---- --- +
| stu_id | INT(11)| NO | PRI | 0 | |
| Course_IDに| INT(11)| NO | PRI | 0 | |
| グレード| フロート| YES | | NULL | |
+ ----------- + --------- + ------ + ----- + --------- + ---- --- +
セットで3行

使用AUTO_INCREMENTテーブルのフィールドの値が自動的に増加された設定(フィールド名データ型AUTO_INCREMENTを;)
MySQLの> TABLE exam_2 CREATE
- >(
- > ID INT PRIMARY KEY AUTO_INCREMENTを、
- > INT UNIQUEをstu_id、
- >グレードFLOAT DEFAULT 0
- >)は、
OKを照会します影響を受けた、0行


MySQLの> DESC exam_2。
+ -------- + --------- + ------ + ----- + --------- + ------- --------- +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ -------- + --------- + ------ + ----- + --------- + ------- --------- +
| ID | INT(11)| NO | PRI | NULL | AUTO_INCREMENT |
| stu_id | INT(11)| YES | UNI | NULL | |
| グレード| フロート| YES | | 0 | |
+ -------- + --------- + ------ + ----- + --------- + ------- --------- +
セットで3行

MySQLは> CREATE TABLEをexam_3
- >(
- > ID INT PRIMARY KEY AUTO_INCREMENT、
- > stu_id INT UNIQUE、
- >グレードFLOAT
- >)。
クエリOKは、0行が影響を受けます

MySQLの> DESC exam_3。
+ -------- + --------- + ------ + ----- + --------- + ------- --------- +
| フィールド| タイプ| ヌル| キー| デフォルト| エクストラ|
+ -------- + --------- + ------ + ----- + --------- + ------- --------- +
| ID | INT(11)| NO | PRI | NULL | AUTO_INCREMENT |
| stu_id | INT(11)| YES | UNI | NULL | |
| グレード| フロート| YES | | NULL | |
+ -------- + --------- + ------ + ----- + --------- + ------- --------- +
セットで3行

おすすめ

転載: www.cnblogs.com/p1035/p/11741243.html
おすすめ