Assume we have a user table, and the user structure is as follows:
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)
Modify table field type modify
Category Detailed explanation Basic syntax alter table table name modify field name varchar(20); ##Examplealter table user modify username varchar(20); Example descriptionChange the type of username in the user table to varchar(20) Let’s execute it and see the result:
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) Add table fields
CategoryDetailed explanation ##Basic syntaxalter table table name add column field name type;Example alter table user add column age int(3);Example description Add a field as age, type is integer, length is 3 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)
Control the order of fields when adding fields We just learned to add fields. If you carefully experiment and find that every time it is added at the end, how to add it at the first one or after the pointing field?
Category Detailed explanation Basic syntax ALTER TABLE table name ADD field name field type AFTER field name; Example ALTER TABLE user ADD email VARCHAR(60) AFTER createip; Example description In the user table, add a field as email after createip, the type is varchar, the length is 60
Category Detailed explanation ##Basic syntaxALTER TABLE table name ADD Field name Field type; ExampleALTER TABLE user ADD id INT(10) FIRST; Example descriptionIn the user table, add a field as id at the beginning, type is int, length is 10 ALTER TABLE user ADD email VARCHAR(60) AFTER createip;
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 | |
| email | varchar(60) | YES | | NULL | |
| age | int(3) | YES | | NULL | |
+----------+---------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
删除表字段 类别 详细解示 基本语法 alter table 表名 drop column 字段名; 示例 alter table user drop column age; 示例说明 在user表中删除字段age
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)
Table field renameCategory Detailed explanation Basic syntax alter table table name change field original name field new name field type; Example alter table user change email em varchar(60); Example description In the user table, name the email field in the field em Detailed example:
mysql> alter table user change email em varchar(60); Query OK, 0 rows affected (0.38 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 |
| em | varchar(60) | YES | | NULL |
+----------+---------------+------+-----+--------- +-------+
5 rows in set (0.00 sec)
Modify the order of table fields In the previous field addition and modification statements (add/change/modify), you can add one at the end Optional first|after.
We have already learned how to adjust the order when adding table fields. Let's now take a look at how another change or modify can adjust the order.
Let’s do a small experiment with first.
Use modify to adjust the ordermysql> alter table user modify em varchar(60) first;
Query OK, 0 rows affected (0.41 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc user;
+----------+---------------+------+-----+--------- +-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
| em | varchar(60) | YES | | NULL |
| username | varchar(20) | YES | | NULL |
| password | varchar(32) | YES | | NULL |
| createtime | int(10) | YES | | NULL |
| createip | int(10) | YES | | NULL |
+----------+---------------+------+-----+--------- +-------+
5 rows in set (0.00 sec)
Modify table name Category Detailed explanation Basic syntax alter table old table name rename new table name; Example alter table user rename new_user; Example description Change the user table name to new_user
##mysql> alter table user rename new_user;
Query OK, 0 rows affected (0.35 sec)
mysql> desc new_user;
+----------+---------------+------+-----+--------- +-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+--------- +-------+
| em | varchar(60) | YES | | NULL |
| username | varchar(20) | YES | | NULL |
| password | varchar(32) | YES | | NULL |
| createtime | int(10) | YES | | NULL |
| createip | int(10) | YES | | NULL |
+----------+---------------+------+-----+--------- +-------+
5 rows in set (0.00 sec)
<?php
echo "Hello Mysql";
?>
Course Recommendations
Courseware download
The courseware is not available for download at the moment. The staff is currently organizing it. Please pay more attention to this course in the future~
Students who have watched this course are also learning