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);
            
           ##Example
          
           alter table user modify username varchar(20); 
            
           Example description
          
           Change 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
         
         
        
         Category
         
          
           Detailed explanation
            
            
           ##Basic syntax
          
         
          alter 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
                
               
              
            
            
             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)
             删除表字段 
            
             
              
               Category
                Detailed explanation
                
               
              
             
              ##Basic syntax
              
               ALTER TABLE table name ADD Field name Field type; 
                
               Example
              
               ALTER TABLE user ADD id INT(10) FIRST; 
                
               Example description
              
               In the user table, add a field as id at the beginning, type is int, length is 10 
                
               
              
            
            
             
              
               类别 
               详细解示 
               
              
             
              
               基本语法 
               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 renameDetailed 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)
             
 
            
             mysql> 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 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
                
               
              Modify the order of table fieldsIn 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 order
            
            
             
              
               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)
             
             
             
             
             
             
              
               
                
                 
                  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