1.修改表名
    MySQL通过ALTER TABLE语句来实现表名的修改

    语法规则:
    ALTER TABLE <旧表名> RENAME [TO] <新表名>;
    其中TO为可选参数,使用与否均不会影响结果


2.修改字段的数据类型
    修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型

    语法规则:
    ALTER TABLE <表名> MODIFY <字段名>  <数据类型>
    其中“表名”指要修改数据类型的字段所在表的名称,“字段名”指需要修改的字段,“数据类型”指修改后字段的新数据类型


3.修改字段名
    语法规则:
    ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>
   其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,但数据类型不能为空

    注意:CHANGE也可以只修改数据类型,实现和MODIFY同样的效果,方法是将SQL语句中“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”


4.添加字段
    一个完整的字段包括字段名、数据类型、完整性约束

    语法规则:
    ALTER TABLE <表名> ADD <新字段名> <数据类型>
        [约束条件] [FIRST | AFTER 已存在字段名];
    新字段名为需要添加的字段的名称;“FIRST”为可选参数,其作用是将新添加的字段设置为表的第一个字段;“AFTER”为可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。
    如果SQL语句中没有“FIRST”或“AFTER 已存在字段名”这两个参数,则默认将新添加的字段设置为数据表的最后列


5.删除字段
    删除字段是将数据表中的某个字段从表中移除

    语法规则:
    ALTER TABLE <表名> DROP <字段名>;


6.修改字段的排列位置
    语法格式:
    ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST | AFTER <字段2>;
    “字段1”指要修改位置的字段,“数据类型”指“字段1”的数据类型,“FIRST”为可选参数,指将“字段1”修改为表的第一个字段,“AFTER 字段2”指将“字段1”插入到“字段2”后面


7.修改表的存储引擎
    存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎。可以使用SHOW ENGINES; 语句查看系统支持的存储引擎

    语法规则:
    ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

    用SHOW CREATE TABLE 可以查看表的存储引擎


8.删除表的外键约束
    对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表和从表之间的关联关系

    语法规则:
    ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
    【外键约束名】指在定义表时CONSTRAINT关键字后面的参数


通过修改表添加约束
ALTER TABLE <表名> ADD CONSTRAINT <约束名> 约束条件
ALTER TABLE emp4 ADD CONSTRAINT uq_name UNIQUE(e_name)

删除唯一键约束
ALTER TABLE <表名> DROP INDEX <约束名>
ALTER TABLE emp4 DROP INDEX uq_name


9.删除数据表
    删除数据表就是将数据库中已经存在的表从数据库中删除。删除之前注意备份!备份!!备份!!!

    a.删除没有被关联的表
        DROP TABLE [IF EXISTS] 表1,表2,...表n;

    b.删除被其他表关联的主表
        数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。原因是直接删除,将破坏表的参照完整性。如果必须要删除,可以先删除与它关联的字表,再删除父表,只是这样同时删除了两个表中的数据。但有的情况下可能要保留子表,这时如果要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表