- MySQL数据库应用与管理 第2版
- 鲁大林主编
- 816字
- 2021-11-12 11:38:53
3.5 修改表结构
修改表结构主要包括添加新的字段、修改原有字段的数据类型、删除原有的字段等。
3.5.1 使用Navicat对话方式修改表结构
以修改学生管理数据库( stuInfo )中的学生表( student )为例,使用Navicat对话方式修改表结构的步骤如下。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/48_01.jpg?sign=1739058756-1yWO6m0UAm5eanTshlS4IIPX4uYfe4uG-0-4df7785b25dae16e437845dcea64f133)
3.5.1
1)在Navicat控制台中,双击展开LDL连接对象,再次双击数据库列表中的stuinfo,打开该数据库,在数据表列表中的student上单击鼠标右键,选择“设计表”命令(或者单击工具栏上的“设计表”按钮),则打开学生表(student)的表结构设计窗口,如图3-12所示。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/48_02.jpg?sign=1739058756-xGLfGidkF2X4BLeNMwH4sTUZDOLyyAwY-0-f160598b2fea14355e2c1b94eb012c1b)
图3-12 学生表(student)的表结构设计窗口
2)在该窗口中,可以添加字段、插入字段、删除字段,可以修改某一字段的名称、数据类型、数据长度、是否允许为空值等。
3)修改完成后,单击工具栏上的“保存”按钮即可。
3.5.2 使用ALTER TABLE语句修改表结构
修改表结构使用ALTER TABLE语句,其语法格式如下。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/48_03.jpg?sign=1739058756-KXUwMm9rQvNbjq5c9OnZCmrF1WM44gzY-0-1c1fe036cfa98abf6b70710091043b23)
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/48_04.jpg?sign=1739058756-yHDalWivblBgZ3R8czuCyj4od1LYgQUQ-0-e0e1cd9e68e19a3209734e9da14f7d74)
3.5.2
说明:
● ADD用来添加一个新的字段,如果没有指定FIRST或AFTER,则在表的列尾添加一个字段,否则在表的列头或者指定字段的后面添加新的字段。
● MODIFY用来更改指定字段的数据类型等。
● CHANGE也用来更改指定字段的数据类型等,但可以同时把指定字段更改为一个新的名字。
● DROP用来删除指定字段。
● AUTO_INCREMENT=n用来设置AUTO_INCREMENT的初始值。
● RENAME AS用来给数据表重新命名。
【示例3-9】 在学生表(student)中birthday字段的后面添加一个新的入学日期entryDate字段。运行结果如图3-13所示。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_01.jpg?sign=1739058756-NO3keZIjx4V65EQRUvGlEGZ5K8U5w9Yb-0-320c048d4231532b775c7d1516a6a44f)
说明:执行成功以后,可以使用DESC命令查看表结构来进行验证,如图3-14所示。输入“DESC student;”语句后并选中,单击“运行已选择的”按钮即可。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_03.jpg?sign=1739058756-gxvTDycxdZ18uJlvIlllpkwdezgrV9VW-0-736189a47327ed47cddd09d1604e8433)
图3-13 使用ALTER TABLE语句修改学生表(student)——添加字段
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_04.jpg?sign=1739058756-0zxWLcLJQgVLShaBDnZe4pnXH5tV7gmx-0-0d9f4f4587abcad0e6f6fae6606a8187)
图3-14 使用ALTER TABLE语句修改学生表(student)——执行结果
【示例3-10】 将学生表(student)中entryDate字段的数据类型更改为TIMESTAMP。运行结果如图3-15所示。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_05.jpg?sign=1739058756-C2Q6Z88TfVi2UX8Xes4h14yQtQHM6rBd-0-dd813e6a21a2377ed2ccbb1e092b84c4)
【示例3-11】 将学生表(student)中entryDate字段的名字更改为rxDate、数据类型更改为DATETIME。运行结果如图3-16所示。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_06.jpg?sign=1739058756-E6cECML9Ltv2Hhu8Px45gegACPFy8so8-0-e336c15777349c57092f963e03edefff)
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_07.jpg?sign=1739058756-mIh8UJAY2taIyNZkm0qCKuiCqKETfR4M-0-313edf4371fc9ba6b9b1d8f2388c4549)
图3-15 使用ALTER TABLE语句修改学生表(student)——更改字段类型
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/49_08.jpg?sign=1739058756-XWSIek00G3xZA9eZ4odsX68mSzXmeKrg-0-72f99d993fd7b3791ff80670055e95e5)
图3-16 使用ALTER TABLE语句修改学生表(student)——更改字段名
【示例3-12】 删除学生表(student)中的rxDate字段。运行结果如图3-17所示。
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/50_01.jpg?sign=1739058756-c6eUJZSnIAyIBsaybMQwsPkshOW7GQzi-0-2ea6ddc8f46c12fcb5da36b274d5659c)
![](https://epubservercos.yuewen.com/6BB263/21570844108788506/epubprivate/OEBPS/Images/50_02.jpg?sign=1739058756-YsCedMvg0B3LqW9Rhj2YCFkYHOytCoYZ-0-b95d349b182c01d3299fd33cf2d3aa77)
图3-17 使用ALTER TABLE语句修改学生表(student)——删除字段