2.3.1 INSERT…VALUES语句语法
INSERT语句是SQL语句中最常用的用于向数据表中插入数据的方法,使用INSERT语句可向表中添加一个或多个新行。INSERT语句的使用很简单,其基本的语法格式如下所示:
INSERT [INTO] table_or_view [(column_list)] VALUES data_values
上述语句中个参数的说明如下所示:
l table_or_view 用于指定向数据表中添加数据的表或视图名称。
l column_list 用于指定该数据表的列名,可以指定一列或多列,所有这些列都必须放在圆括号“()”中。如果要指定多个列时,各列必须用逗号隔开。如果指定了列名,那么在目标数据表中所有未被指定的列必须支持空值或者默认值。
l data_values 用于指定向数据表中插入的数据值。这些值也必须放在圆括号内,如果指定的值为多个时,这些值之间也必须用逗号隔开。如果指定了列名,那么该数据必须与各列一一对应。如果没有指定列名,该数据必须与数据表中各列的顺序一一对应。
例如,在【工资管理系统】数据库中的【员工信息】表中插入一条新记录,该记录包含一名新员工的所有信息。具体的SQL语句如下所示:
USE工资管理系统
INSERT INTO员工信息VALUES ('10018','张帅','1001','员工','男','5','3','2')
上述语句向【员工信息】表插入一条新的员工信息记录。因为语句是将数据添加到一行中的所有列,所有无须给出所有列名,但插入的数据值必须与数据表定义时给出的列名的顺序完全相同。执行语句将返回如下结果:
返回结果说明已经向数据表中成功插入数据,可以使用SELECT语句查看刚新添加的员工信息记录,语句如下所示:
USE工资管理系统
select * from员工信息
语句的执行结果如图所示。从图2-21中最后一行记录可以看到我们刚插入的员工信息记录已经成功添加到数据表中。

图2-21 向【员工信息】表中添加一条新记录
| 在插入数据时,如果遗漏了列表和数值表中的一列,那么当该列存在默认值时,将使用默认值。如果该列不存在默认值时,SQL Server将尝试补一个空值。如果该列声明了NOT NULL,那么将会导致插入出错。 |