用命令方式管理数据库表结构主讲人:张永萍
用命令方式管理数据库表结构
用命令方式管理表结构ALTERTABLE命令用于对已有表进行结构调整,是最常用的表结构维护命令。
用命令方式管理表结构可以用它修改表名、字段类型,增加、删除列等,语法格式如下所示:ALTERTABLE表名ADD[COLUMN]字段名数据类型|MODIFY[COLUMN]字段名新数据类型|DROP[COLUMN]字段名|CHANGE旧字段名新字段名数据类型|RENAME[TO]新表名
ADD子句——给表添加新字段向student表中添加s_email字段,数据类型为VARCHAR(50)。ALTERTABLEstudentADDs_emailVARCHAR(50);执行该语句后,在表的末尾增加了一个数据字段s_email。
ADD子句——给表添加新字段若想将字段添加到表的第一列,则应该在句尾增加FIRST关键字。ALTERTABLEstudentADDs_emailVARCHAR(50)FIRST;则新字段s_email将插入到student_name字段之后。若需将新字段添加至指定列之后,可使用AFTER关键字。ALTERTABLEstudentADDs_emailVARCHAR(50)AFTERstudent_name;
MODIFY子句——修改字段类型/约束MODIFY子句的作用修改现有列的数据类型或约束,但不改变列名——这是它和后面要学的CHANGE子句的核心区别。假设student表中原有major字段(专业)的数据类型是VARCHAR(20),现在需要扩大长度到VARCHAR(50),用MODIFY子句即可。ALTERTABLEstudentMODIFYmajorVARCHAR(50);这里提醒大家:修改数据类型时要注意兼容性,比如不能把存储了字符串的VARCHAR类型直接改成INT,否则会导致数据丢失或执行失败。
CHANGE子句——同时修改列名和类型CHANGE子句如果既想改列名,又想调整数据类型,就需要用到CHANGE子句,它的功能是同步修改列名和数据类型。我们要student表中的major字段更名为m_major,同时将数据类型从VARCHAR(50)调整为VARCHAR(100),语法如下:ALTERTABLEstudentCHANGEmajorm_majorVARCHAR(100);需要注意的是,CHANGE子句在修改列时必须重新指定数据类型,即便类型不变也需重复声明。此语句可实现列名与类型的同步修改。
DROP子句——删除表中的指定字段如果我们不再需要student表中的s_email字段,执行以下命令即可删除。ALTERTABLEstudentDROPs_email;删除字段时需确保无外键约束或依赖对象,否则将导致执行失败。
RENAME子句——修改表名称RENAME子句用于给整个表重新命名,语法非常简洁。要将student表更名为students,执行如下命令即可。其中,“TO”关键字可以省略。ALTERTABLEstudentRENAMETOstudents;
各子句核心要点总结为了方便大家快速回顾和区分,这里给大家整理了各子句的核心信息:子句核心功能关键注意点ADD添加新列可通过FIRST/AFTER指定位置MODIFY修改列类型/约束(不改名)注意数据类型兼容性CHANGE同时修改列名和类型必须重新指定数据类型DROP删除指定列无外键约束/依赖,建议先备份RENAME修改表名TO关键字可选,后续需使用新表名
课堂小结ALTERTABLE命令的5个核心子句,从添加字段、修改类型/列名,到删除字段、重命名表,每个操作都结合了实际案例和关键注意点。