MySQL进阶之表的增删改查

我的小站

修改表名

ALTER TABLE student RENAME TO stu;

TO可以省略。

ALTER TABLE 旧表名 RENAME 新表名;

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

MySQL进阶之表的增删改查_第1张图片

修改字段

ALTER TABLE stu CHANGE email mail VARCHAR(50) NOT NULL ;
-- ALTER TABLE 表名 CHANGE 字段名 新字段名 数据类型 [属性(可不写)] ;

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

MySQL进阶之表的增删改查_第2张图片

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

增加字段

ALTER TABLE stu ADD demo VARCHAR(10) NOT NULL ;
-- ALTER TABLE 表名 ADD 要加的字段名 数据类型 [属性(可不写)] ;

MySQL进阶之表的增删改查_第3张图片

删除字段

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);

MySQL进阶之表的增删改查_第4张图片

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

添加外键约束

-- ALTER TABLE 外键表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键字段名) REFERENCES 主键表名(主键字段名);
ALTER TABLE result ADD CONSTRAINT FK_RESULT_STU FOREIGN KEY (studentNo) REFERENCES stu(studentNo);

MySQL进阶之表的增删改查_第5张图片

看好我这个表,主键在stu表里面,外键表是result,不要搞反了。外键名规范是FK_表1_表2

小知识

我们发现,我们上面的语句常用ALTER TABLE这个关键字。

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

MySQL进阶之表的增删改查_第6张图片

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

你可能感兴趣的:(数据库mysqlsql)