1.插入数据语法
INSERT INTO table_name(column_list) VALUES (value_list);
--简写
INSERT INTO table_name VALUES (value_list);INSERT table_name VALUES (value_list);
2.实例
2.1基本形式(不安全)
insert into 学生表01
values('李明','男','1.70')
该方法将存储到表的每一列数据在values子句中给出,必须每列提供一个值。如果某列没有值应该使用NULL值(假定表允许对该列使用空值),各列必须以他们在表定义中出现的次序填充。
2.2.安全形式
insert into 学生表01(姓名,性别,身高) values('李亮','女','1.60')
该语句与前面的insert语句工作完全相同,但是在表名后的括号里明确给出了列名。
在插入行时,DBMS将用values列表中的相应值填入列表的对应项中。因为提供了列名,
values必须以指定的次序匹配指定的列名,不一定按照各列出现在表中的实际顺序
2.3插入部分行
insert into 学生表 01(性别,姓名)
values('女','大红')
省略的列必须满足以下某个条件:
1、该列定义为允许NULL值(无值或空值)
2、在表定义中给出默认值。这表示如果不给出值,将使用默认值。如果表中不允许有NULL值或者默认值,这时却省略了表中的值,DBMS就会产生错误消息,相应的行不能插入成功。
2.4插入检索出的数据
insert into 学生表02(性别,姓名,身高)
select 性别,姓名,身高
from 学生表01
该例子使用inset select 从学生表01中将所有数据导入学生表02。select 语句从学生表01检索出要插入的数据,而不是列出他们。select中列出的每一列对应学生表02表名后所跟的每一列。insert select中select语句可以包含where子句,以过滤插入的数据。
2.5插入同时返回插入的值
insert into Students(
NickName,StudentNo,Sex,Account,[Password]
) OUTPUT
inserted.Id,
inserted.NickName,
inserted.StudentNo,
inserted.Sex,
inserted.Account,
inserted.[Password]
values
('王五','2003','女','user3','123456')
执行结果:
2.6插入多行数据
insert into Students(
NickName,StudentNo,Sex,Account,[Password]
)
values
('张三','2011','男','user11','123456'),
('李四','2022','男','user12','123456'),
('王麻子','2013','女','user13','123456')
也可以省略括号的内容。