MySQL进阶之表的增删改查
修改表名
ALTER TABLE student RENAME TO stu;
TO
可以省略。
ALTER TABLE 旧表名 RENAME 新表名;
此语句可以修改表的名称,其实一般我们在终端中使用,有可视化工具完全没必要用命令。
修改字段
ALTER TABLE stu CHANGE email mail VARCHAR(50) NOT NULL ;
-- ALTER TABLE 表名 CHANGE 字段名 新字段名 数据类型 [属性(可不写)] ;
这样,我就将stu
表里面的email
改成了mail
,数据类型为VARCHAR(50)
。
说一下,我这里
DataGrip
运行后会及时更新,如果你使用其他工具,有可能要手动刷新才能有反应!!!
增加字段
ALTER TABLE stu ADD demo VARCHAR(10) NOT NULL ;
-- ALTER TABLE 表名 ADD 要加的字段名 数据类型 [属性(可不写)] ;
删除字段
ALTER TABLE stu DROP demo;
-- ALTER TABLE 表名 DROP 字段名;
添加主键约束
-- ALTER TABLE 表名 ADD CONSTRAINT 自定义主键名 PRIMARY KEY 表名(字段);
ALTER TABLE stu ADD CONSTRAINT PK_STU PRIMARY KEY stu(studentNo);
主键名称,它可以随便取名,但是最好按规范来,
pk+下划线+表名,如:
PK_STU`。
添加外键约束
-- ALTER TABLE 外键表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段名) REFERENCES 主键表名(主键字段名);
ALTER TABLE result ADD CONSTRAINT FK_RESULT_STU FOREIGN KEY (studentNo) REFERENCES stu(studentNo);
看好我这个表,主键在
stu
表里面,外键表是result
,不要搞反了。外键名规范是FK_表1_表2
。
小知识
我们发现,我们上面的语句常用ALTER TABLE
这个关键字。
我们可以常识查看帮助文档。
如果英语不咋地,就老老实实搜浏览器吧。