欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

程序员文章站 2022-06-21 22:04:05
之前我自己建立好了一个数据库xscj;表xs是已经定义好的 具体的定义数据类型如下: 为了复制表xs,我们新建一个表名为xstext,使用下列语句进行复制xs,或者说是备份都可以; 我们可以看到,复制的表的字段与xs表的字段相同,不同之处在于复制的表没有主键或主码,同时复制的表里存储了与原表相同的信 ......

之前我自己建立好了一个数据库xscj;表xs是已经定义好的

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

具体的定义数据类型如下:

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

为了复制表xs,我们新建一个表名为xstext,使用下列语句进行复制xs,或者说是备份都可以;

create table xstext as select * from x
create table xstext select * from xs;

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

我们可以看到,复制的表的字段与xs表的字段相同,不同之处在于复制的表没有主键或主码,同时复制的表里存储了与原表相同的信息

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

完成了表的复制,下面设置xstext表的主键,使用下列语句

alter table xstext add constraint ky_xstext primary key (学号);

xstext是我自己的表名,学号是表里的一个字段,换成自己的记好了

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

这样之后,就可以看到复制的表里主键已经设置成功了

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

因为表有主键,使用insert语句,会出错

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

换用replace语句,可以成功插入

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace

数据来源:郑阿奇的《mysql数据库教程》