データフィールドの操作LOGIN

データフィールドの操作

ユーザー テーブルがあり、ユーザー構造は次のとおりであるとします。

mysql> desc user;
 +----------+---------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +----------+---------------+------+-----+---------+-------+
 | username | varchar(10) | YES | | NULL | |
 | password | varchar(32) | YES | | NULL | |
 | createtime | int(10) | YES | | NULL | |
 | createip | int(10) | YES | | NULL | |
 +----------+---------------+------+-----+---------+-------+
 4 rows in set (0.01 sec)

テーブルのフィールド タイプを変更します。フィールドを追加するとき

フィールドの追加方法を学びました。注意深く実験してみて、毎回最後に追加されることがわかった場合、最初のフィールドまたはポインティング フィールドの後に追加するにはどうすればよいでしょうか? QQ截图20161009143828.png


mysql> alter table user modify username varchar(20);
 Query OK, 0 rows affected (0.48 sec)
 Records: 0 Duplicates: 0 Warnings: 0
 mysql> desc user;
 +----------+---------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +----------+---------------+------+-----+---------+-------+
 | username | varchar(20) | YES | | NULL | |
 | password | varchar(32) | YES | | NULL | |
 | createtime | int(10) | YES | | NULL | |
 | createip | int(10) | YES | | NULL | |
 +----------+---------------+------+-----+---------+-------+
 4 rows in set (0.01 sec)

テーブルフィールドを削除します

QQ截图20161009143852.png

mysql> alter table emp add column age int(3);
Query OK, 0 rows affected (0.40 sec) Records: 0 Duplicates: 0 Warnings: 0
mysql> desc user;
 +----------+---------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +----------+---------------+------+-----+---------+-------+
 | username | varchar(20) | YES | | NULL | |
 | password | varchar(32) | YES | | NULL | |
 | createtime | int(10) | YES | | NULL | |
 | createip | int(10) | YES | | NULL | |
 | age | int(3) | YES | | NULL | |
 +----------+---------------+------+-----+---------+-------+
 5 rows in set (0.00 sec)

QQ截图20161009143916.png

ALTER TABLE user ADD email VARCHAR(60) AFTER createip; 
 Query OK, 0 rows affected (0.40 sec)
 Records: 0 Duplicates: 0 Warnings: 0

例の説明

ユーザーテーブルで、フィールドのメールフィールドにem

QQ截图20161009143936.pngという名前を付けます

詳細な例:エラー、エラー、

テーブルを変更フィールドの並べ替え順 QQ截图20161009143947.png

前のフィールドの追加および変更ステートメント (追加/変更/変更) では、最後にオプションの first|after を追加できます。

テーブルフィールドを追加するときに順序を調整する方法はすでに学習しました。次に、別の変更または修正によって順序がどのように調整されるかを見てみましょう。

最初にちょっとした実験をしてみましょう。

modifyを使用して順序を調整します

mysql> desc user;
 +----------+---------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +----------+---------------+------+-----+---------+-------+
 | username | varchar(20) | YES | | NULL | |
 | password | varchar(32) | YES | | NULL | |
 | createtime | int(10) | YES | | NULL | |
 | createip | int(10) | YES | | NULL | |
 | email | varchar(60) | YES | | NULL | |
 | age | int(3) | YES | | NULL | |
 +----------+---------------+------+-----+---------+-------+
 6 rows in set (0.00 sec)
mysql> alter table user drop column age;
 Query OK, 0 rows affected (0.27 sec)
 Records: 0 Duplicates: 0 Warnings: 0

テーブル名を変更します

mysql> desc user;
 +----------+---------------+------+-----+---------+-------+
 | Field | Type | Null | Key | Default | Extra |
 +----------+---------------+------+-----+---------+-------+
 | username | varchar(20) | YES | | NULL | |
 | password | varchar(32) | YES | | NULL | |
 | createtime | int(10) | YES | | NULL | |
 | createip | int(10) | YES | | NULL | |
 | email | varchar(60) | YES | | NULL | |
 +----------+---------------+------+-----+---------+-------+
 5 rows in set (0.00 sec)
alter table user   change email em varchar(60);

次のセクション

<?php echo "Hello Mysql"; ?>
コースウェア