sql 插入数据的三种常用方法及小贴士
(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )
复制代码 代码如下:
INSERT INTO table1(id, name, address) VALUES(1, ygl, ‘beijing') 适用于T-sql和PL/SQL
SELECT id, name, address INTO table2 FROM table1 自动创建table2,T-sql用法
INSERT INTO table2(id, name, address) SELECT id, name, address FROM table1
这里简单说一下第三句,由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下简写格式:
复制代码 代码如下:
INSERT INTO table2 SELECT id, name, address FROM table1
此时,我们如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。
INSERT INTO table1(id, name, address) VALUES(1, ygl, ‘beijing') 适用于T-sql和PL/SQL
SELECT id, name, address INTO table2 FROM table1 自动创建table2,T-sql用法
INSERT INTO table2(id, name, address) SELECT id, name, address FROM table1
这里简单说一下第三句,由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下简写格式:
复制代码 代码如下:
INSERT INTO table2 SELECT id, name, address FROM table1
此时,我们如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。
下一篇:数据库触发器(Trigger)的一点使用心得