MySQL进阶之表的增删改查

2022-04-22 08:09:32 浏览数 (1)

修改表名

代码语言:javascript复制
ALTER TABLE student RENAME TO stu;

TO可以省略。

代码语言:javascript复制
ALTER TABLE 旧表名 RENAME 新表名;

此语句可以修改表的名称,其实一般我们在终端中使用,有可视化工具完全没必要用命令。

修改字段

代码语言:javascript复制
ALTER TABLE stu CHANGE email mail VARCHAR(50) NOT NULL ;
-- ALTER TABLE 表名 CHANGE 字段名 新字段名 数据类型 [属性(可不写)] ;

这样,我就将stu表里面的email改成了mail,数据类型为VARCHAR(50)

说一下,我这里DataGrip运行后会及时更新,如果你使用其他工具,有可能要手动刷新才能有反应!!!

增加字段

代码语言:javascript复制
ALTER TABLE stu ADD demo VARCHAR(10) NOT NULL ;
-- ALTER TABLE 表名 ADD 要加的字段名 数据类型 [属性(可不写)] ;

删除字段

代码语言:javascript复制
ALTER TABLE stu DROP demo;
-- ALTER TABLE 表名 DROP 字段名;

添加主键约束

代码语言:javascript复制
-- ALTER TABLE 表名 ADD CONSTRAINT 自定义主键名 PRIMARY KEY 表名(字段);
ALTER TABLE stu ADD CONSTRAINT PK_STU PRIMARY KEY stu(studentNo);

主键名称,它可以随便取名,但是最好按规范来,pk 下划线 表名,如:PK_STU`。

添加外键约束

代码语言:javascript复制
-- 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这个关键字。

我们可以常识查看帮助文档。

如果英语不咋地,就老老实实搜浏览器吧。

0 人点赞