SQL 复制表
如果您想将一个SQL表的数据复制到同一SQL服务器上的另一个SQL表中,可以使用SELECT INTO语句来实现。
结构化查询语言中的SELECT INTO语句将一个现有表的内容复制到新表中。SQL根据现有表的结构创建新表。
SQL中SELECT INTO语句的语法
SELECT * INTO New_table_name FROM old_table_name;
SQL中SELECT INTO语句的示例
在本文中,我们提供了以下三个不同的SQL示例,这将帮助您如何将一个表的内容复制到另一个表中:
示例 1: 在这个例子中,我们有一个名为 Cars 的表,具有三个列:
Car Name | Car Color | Car Cost |
---|---|---|
Hyundai Creta | White | 10,85,000 |
Hyundai Venue | White | 9,50,000 |
Hyundai i20 | Red | 9,00,000 |
Kia Sonet | White | 10,00,000 |
Kia Seltos | Black | 8,00,000 |
Swift Dezire | Red | 7,95,000 |
表格: 汽车
- 假设您想将上面的汽车表格的内容复制到新表格 Car_Details。 为此,您需要在SQL中键入以下查询:
SELECT * INTO Car_Details FROM Cars;
- 让我们检查数据库中是否成功创建了 Car_Details 表:
SELECT * FROM Car_Details;
Car Name | Car Color | Car Cost |
---|---|---|
Hyundai Creta | White | 10,85,000 |
Hyundai Venue | White | 9,50,000 |
Hyundai i20 | Red | 9,00,000 |
Kia Sonet | White | 10,00,000 |
Kia Seltos | Black | 8,00,000 |
Swift Dezire | Red | 7,95,000 |
表: Car_Details
示例2: 在这个例子中,我们有一个名为 Employee 的表,有四列:
Emp_Id | Emp_Name | Emp_Salary | Emp_City |
---|---|---|---|
201 | Abhay | 25000 | Goa |
202 | Ankit | 45000 | Delhi |
203 | Bheem | 30000 | Goa |
204 | Ram | 29000 | Goa |
205 | Sumit | 40000 | Delhi |
- 假设您想将上述Employee表的记录复制到新表 Coding_Employees 中。 为此,您需要在SQL中键入以下查询:
SELECT * INTO Coding_Employees FROM Employee;
- 让我们检查数据库中是否成功创建了 Coding_Employees 表:
SELECT * FROM Coding_Employees;
Emp_Id | Emp_Name | Emp_Salary | Emp_City |
---|---|---|---|
201 | Abhay | 25000 | Goa |
202 | Ankit | 45000 | Delhi |
203 | Bheem | 30000 | Goa |
204 | Ram | 29000 | Goa |
205 | Sumit | 40000 | Delhi |
表: 编码员工
示例 3: 在这个示例中,我们有一个名为 学生 的表,它有四列:
RollNo | Name | Marks | Age |
---|---|---|---|
1001 | Bhanu | 88 | 17 |
1002 | Raman | 82 | 16 |
1003 | Sumit | 80 | 16 |
1004 | Shobhit | 95 | 15 |
1005 | Akash | 85 | 16 |
表: 学生
- 假设你想将上述学生表的记录复制到新表 Class_12_Students. 为此,你需要在SQL中输入以下查询语句:
SELECT * INTO Class_12_Students FROM Student;
- 让我们来检查表格是否在数据库中成功创建了 Class_12_Students 表格:
SELECT * FROM Class_12_Students;
RollNo | Name | Marks | Age |
---|---|---|---|
1001 | Bhanu | 88 | 17 |
1002 | Raman | 82 | 16 |
1003 | Sumit | 80 | 16 |
1004 | Shobhit | 95 | 15 |
1005 | Akash | 85 | 16 |
表格: Class_12_Students
例子 4: 在这个例子中,我们有一个叫做 Cars 的表格,有三列:
Car Name | Car Color | Car Cost |
---|---|---|
Hyundai Creta | White | 10,85,000 |
Hyundai Venue | White | 9,50,000 |
Hyundai i20 | Red | 9,00,000 |
Kia Sonet | White | 10,00,000 |
Kia Seltos | Black | 8,00,000 |
Swift Dezire | Red | 7,95,000 |
表格: Cars
- 假设您想要复制以上Cars表中的 Car_Color 和 Car_Name 列到新表 Car_Color 。为此,您需要在SQL中键入以下查询:
SELECT Car_Name, Car_Color INTO Car_Color FROM Cars;
- 让我们检查数据库中是否成功创建了 Car_Color 表:
SELECT * FROM Car_Color;
Car Name | Car Color |
---|---|
Hyundai Creta | White |
Hyundai Venue | White |
Hyundai i20 | Red |
Kia Sonet | White |
Kia Seltos | Black |
Swift Dezire | Red |
表: Car_Color
SQL中带有WHERE子句的SELECT INTO语句的语法
SELECT * INTO New_table_name FROM old_table_name WHERE [ condition ] ;
SQL中带有WHERE子句的SELECT INTO语句的示例
在这里,我们拿了以下三个不同的SQL示例,它们将帮助您如何在SQL中将一个表的内容复制到另一个表中,并具有特定条件:
示例1: 在这个示例中,我们有一个名为 Cars 的表,它有三列:
Car Name | Car Color | Car Cost |
---|---|---|
Hyundai Creta | Black | 10,85,000 |
Hyundai Venue | Black | 9,50,000 |
Hyundai i20 | Red | 9,00,000 |
Kia Sonet | White | 10,00,000 |
Kia Seltos | Black | 8,00,000 |
Swift Dezire | Red | 7,95,000 |
表格: Cars
- 假设我们只想复制那些颜色为黑色的汽车的记录。为此,我们必须在SQL中输入以下查询语句:
SELECT * INTO Black_Car_Details FROM Cars WHERE Car_Color = 'Black';
- 让我们检查数据库中是否成功创建了 Black_Car_Details 表:
SELECT * FROM Black_Car_Details;
Car Name | Car Color | Car Cost |
---|---|---|
Hyundai Creta | Black | 10,85,000 |
Hyundai Venue | Black | 9,50,000 |
Kia Seltos | Black | 8,00,000 |
表格: Black_Car_Details
示例2: 在此示例中,我们有一个名为 Employee 的表格,有四个列:
Emp_Id | Emp_Name | Emp_Salary | Emp_City |
---|---|---|---|
201 | Abhay | 45000 | Goa |
202 | Ankit | 45000 | Delhi |
203 | Bheem | 38000 | Goa |
204 | Ram | 49000 | Goa |
205 | Sumit | 40000 | Delhi |
表格: 员工
- 假设我们只想复制那些薪水超过40,000的员工的记录。为此,我们必须在SQL中键入以下查询:
SELECT * INTO Emp_Salary_40000 FROM Cars WHERE Emp_Salary > 40000;
- 让我们来检查数据库中是否成功创建了名为 Emp_Salary_40000 的表:
SELECT * FROM Emp_Salary_40000;
Emp_Id | Emp_Name | Emp_Salary | Emp_City |
---|---|---|---|
201 | Abhay | 45000 | Goa |
202 | Ankit | 45000 | Delhi |
204 | Ram | 49000 | Goa |
表格: Emp_Salary_40000