SQL 如何插入一行或多行记录

SQL 如何插入一行或多行记录

在本文中,我们将学习如何在结构化查询语言(SQL)的表中插入一行或多行记录。

SQL中的 INSERT INTO 命令允许数据库用户将一行或多行记录插入SQL表中。

以下是在表中插入单行记录的两种语法:

语法1:

INSERT INTO Table_Name(Column_Name_1, Column_Name_2, Column_Name_3, ....., Column_Name_N) VALUES ( Value_1, Value_2, Value_3, ....., Value_N);

这种语法通过指定表的列名将行插入SQL表中。

语法2:

INSERT INTO Table_Name VALUES( Value_1, Value_2, Value_3, ....., Value_N);

在此语法中,我们无需为将行插入SQL表格中指定列名。

如果要将记录插入到表格中,您需要按照给定顺序逐步执行以下步骤:

  1. 在系统中创建数据库。
  2. 在数据库中创建表格。
  3. 向表格中插入一行数据。
  4. 查看表格。

现在,我们将用例子逐步说明每个步骤:

步骤1:创建数据库

在结构化查询语言中,创建数据库是在数据库中存储结构化表格的第一步。

使用以下SQL语法创建数据库:

CREATE DATABASE Database_Name;

假设您想创建 学校 数据库。为此,请在结构化查询语言中输入以下命令:

CREATE DATABASE School;

步骤2:创建表并插入数据

现在,您必须使用以下语法在SQL数据库中创建表:

CREATE TABLE table_name
(
column_Name_1 data type (size of the column_1),  
column_Name_2 data type (size of the column_2),  
column_Name_3 data type (size of the column_3),  
...  
column_Name_N data type (size of the column_N)
);  

假设您想要在 School 数据库中创建 Teacher 表。为此,您需要在SQL应用程序中键入以下查询语句:

CREATE TABLE Teacher
(
Teacher_ID INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (80),  
Teacher_Subject VARCHAR (30) NOT NULL,    
Teacher_Address VARCHAR (30),  
Teacher_Age INT
) ;

步骤3:在表中插入一行数据

以下查询将只插入一条 教师 的记录到Teacher表中:

INSERT INTO Table_Name (Teacher_ID, Teacher_Name, Teacher_Subject, Teacher_Address, Teacher_Age) VALUES( 2001, Manoj, Maths, Delhi, 27);

步骤4:查看表格

如果你想查看 “教师” 表格的数据,那么你需要在SQL应用程序中编写以下查询语句:

SELECT * FROM Teacher;
Teacher_ID Teacher_Name Teacher_Subject Teacher_Address Teacher_Age
2001 Manoj Maths Delhi 27

表:Teacher

向表中插入多行数据

在SQL中,您可以使用单个查询轻松地在表中插入多个行。

以下 插入语句 将五名教师的记录插入到 Teacher 表中:

INSERT INTO Table_Name (Teacher_ID, Teacher_Name, Teacher_Subject, Teacher_Address, Teacher_Age) VALUES( 2002, Anita, Hindi, Ghaziabad, 28),
( 2003, Vishal, English, Gorakhpur, 26),
( 2004, Shobhit, SST, Kanpur, 27),
( 2005, Rohit, Science, Lucknow, 29),
( 2006, Yogesh, Computer, Jaipur, 28) ;

要检查上述INSERT查询的结果,您必须在SQL中编写以下SELECT查询:

SELECT * FROM Teacher;

输出:

Teacher_ID Teacher_Name Teacher_Subject Teacher_Address Teacher_Age
2001 Manoj Maths Delhi 27
2002 Anita Hindi Ghaziabad 28
2003 Vishal English Gorakhpur 26
2004 shobhit SST Kanpur 27
2005 Rohit Science Lucknow 29
2006 Yogesh Computer Jaipur 28

表:教师

从SELECT语句中插入行

如果您想将另一个表的数据插入新表中,请使用带有SELECT语句的INSERT语句。

以下语句将一个表的数据传递到另一个表中:

INSERT INTO New_Table_Name (Column_Name_1, Column_Name_2, Column_Name_3, ....., Column_Name_N) 
SELECT 
(Column_Name_1, Column_Name_2, Column_Name_3, ....., Column_Name_N) 
FROM Old_Table_Name
WHERE [ condition ];

示例

下表显示了旧表的数据:

Teacher_ID Teacher_Name Teacher_Subject Teacher_Address Teacher_Age
2001 Manoj Maths Delhi 27
2002 Anita Hindi Delhi 28
2003 Vishal English Gorakhpur 26
2004 shobhit SST Delhi 27
2005 Rohit Science Lucknow 29
2006 Yogesh Computer Delhi 28

表:Old_Teacher

假设您有一个结构与Old_Teacher表相同的New_Teacher表,并且您希望将那些地址为Delhi的老师的数据从旧表转移到新表中。对于此操作,您必须使用以下带有SELECT查询的INSERT语句:

INSERT INTO New_Teacher (New_Teacher_ID, New_Teacher_Name, New_Teacher_Subject) 
SELECT Teacher_ID, Teacher_Name, Teacher_Subject
FROM Old_Teacher
WHERE Teacher_Address = 'Delhi' ;

要检查上述查询的结果,请使用以下SELECT语句:

SELECT * FROM New_Teacher;
Teacher_ID Teacher_Name Teacher_Subject
2001 Manoj Maths
2002 Anita Hindi
2004 shobhit SST
2006 Yogesh Computer

表:新的老师

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程