在 MySQL 数据库中复制行
今天的主题是关于在 MySQL 数据库中复制行。我们将学习如何复制一行并将其粘贴到具有自动增量 ID 和自定义 ID 的同一个表中。
我们还将了解如何从一个表的多行复制多个字段并将它们粘贴到另一个表中。
在 MySQL 数据库中复制行
当需要另一个表中的两个或多个精确列时,复制行很有用。我们可以将一行(一条记录)从一个表复制到另一个表,而不是手动插入它们。
我们可以使用不同的方法来复制 MySQL 数据库中的行。首先,为了学习这些方法,让我们创建一个包含两个表 tb_students
和 tb_attendance
的 test
数据库。
示例代码:
# create a database
CREATESCHEMA`test`;# create students table
CREATETABLE`test`.`tb_students`(`ID`INTNOTNULLAUTO_INCREMENT,`FIRSTNAME`VARCHAR(45)NOTNULL,`LASTNAME`VARCHAR(45)NOTNULL,`DEPARTMENT`VARCHAR(45)NOTNULL,`GENDER`VARCHAR(10)NOTNULL,`PHONE`BIGINTNOTNULL,`CITY`VARCHAR(45)NOTNULL,PRIMARYKEY(`ID`));# create attendance table
CREATETABLE`test`.`tb_attendance`(`ID`INTNOTNULL,`FIRSTNAME`VARCHAR(45)NOTNULL,`LASTNAME`VARCHAR(45)NOTNULL,`GENDER`VARCHAR(45)NOTNULL,`DEPT`VARCHAR(45)NOTNULL,`ATTENDANCE`DATETIMENOTNULLDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`ID`));
在 MySQL 数据库中使用 INSERT
和 SELECT
语句将行从一个表复制到另一个表
我们必须将数据插入到一个表中,才能将该表中的行复制到另一个表中。为此,我们按如下方式填充名为 tb_students
的表。
示例代码:
#insert data into the table
INSERTINTO`test`.`tb_students`(FIRSTNAME,LASTNAME,DEPARTMENT,GENDER,PHONE,CITY)VALUE('Mehvish','Ashiq','Computer Science','Female','1234567890','Lahore'),('Thomas','Christopher','Physics','Male','2546317908','Miami'),('Daniel','James','Business Administration','Male','7854123690','Texas'),('Saira','Kethy','History','Female','3254169870','Michigan');#display table data
SELECT*FROMtest.tb_students;
输出:
现在,从 tb_students
表中复制数据并将其插入 tb_attendace
表中。请注意,我们不是复制所有数据,而是复制特定字段以填充 tb_attendance
表。
#insert data into the table
INSERTINTO`test`.`tb_attendance`(ID,FIRSTNAME,LASTNAME,GENDER,DEPT)SELECTID,FIRSTNAME,LASTNAME,GENDER,DEPARTMENTFROM`test`.`tb_students`;#display table data
SELECT*FROMtest.tb_attendance;
输出:
使用 INSERT
和 SELECT
语句在具有自动增量 ID 的同一表中复制行
在本节中,我们从 tb_students
表中复制一行,其中包含四条记录,使用自动增量 ID 插入它,并更新 PHONE
和 CITY
属性的值。
示例代码:
INSERTINTO`test`.`tb_students`(FIRSTNAME,LASTNAME,DEPARTMENT,GENDER,PHONE,CITY)SELECTFIRSTNAME,LASTNAME,DEPARTMENT,GENDER,'2564138790','Dubai'FROM`test`.`tb_students`WHERE`test`.`tb_students`.ID=1;SELECT*FROM`test`.`tb_students`;
输出:
使用 INSERT
和 SELECT
语句复制具有自定义 ID 的同一表中的行
如果我们不想在 tb_students
表中使用自增 ID 而是自定义 ID,我们可以在 INSERT
语句中写入列名,在 SELECT
语句中写入其值,如下所示。
示例代码:
INSERTINTO`test`.`tb_students`(ID,FIRSTNAME,LASTNAME,DEPARTMENT,GENDER,PHONE,CITY)SELECT10,FIRSTNAME,LASTNAME,DEPARTMENT,GENDER,'2564138790','Dubai'FROM`test`.`tb_students`WHERE`test`.`tb_students`.ID=1;SELECT*FROM`test`.`tb_students`;
输出:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。