insert into 语句怎么写?(Sqlserver)

我的表的数据如下:

i_id(自动编号) i_text(varchar 50) i_insert(varchar 50)
1 abc
2 abc
3 abc

然后我的具体要求如下:
怎样使用insert语句插入数据?效果如下:
i_id(自动编号) i_text(varchar 50) i_insert(varchar 50)
1 abc aaa
2 abc bbb
3 abc ccc

插入书写方式:

1、 INSERT INTO t1(field1,field2) VALUE(‘001‘,‘002‘);

最好的做法明确插入的每一列,列于查错,而且漏列的几率会降低。

2、INSERT INTO t1 (field1,field2) values (‘001‘,‘002‘),(‘003‘,‘004‘)......;

能够批量插入数据最好批量插入,但是数据过于庞大时,最好分批次批量插入。

3、INSERT INTO t2 (field1,field2) SELECT col1,col2 FROM t1 WHERE ……;

这里由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活,但我们也必须注意,在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入。

容易出错的地方,当我们写成如下方式3的变形简写格式:

变形:  INSERT INTO t2 SELECT id, name, address FROM t1。

此时,如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。

扩展资料

结构化查询语言(SQL)语句结构

结构化查询语言的3个部分:

一:数据查询语言(DQL:Data Query Language)

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language)

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL)

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROL

参考资料来源:百度百科  结构化查询语言(SQL)



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-09-03

插入书写方式:

1、 INSERT INTO t1(field1,field2) VALUE(‘001‘,‘002‘);

最好的做法明确插入的每一列,列于查错,而且漏列的几率会降低。

2、INSERT INTO t1 (field1,field2) values (‘001‘,‘002‘),(‘003‘,‘004‘)......;

能够批量插入数据最好批量插入,但是数据过于庞大时,最好分批次批量插入。

3、INSERT INTO t2 (field1,field2) SELECT col1,col2 FROM t1 WHERE ……;

这里由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活,但我们也必须注意,在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入。

容易出错的地方,当我们写成如下方式3的变形简写格式:

变形:  INSERT INTO t2 SELECT id, name, address FROM t1。

此时,如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。

扩展资料

[ WITH <common_table_expression> [ ,...n ] ]INSERT {        [ TOP ( expression ) [ PERCENT ] ] 

[ INTO ] 

{ <object> | rowset_function_limited 

[ WITH ( <Table_Hint_Limited> [ ...n ] ) ]

}

{        [ ( column_list ) ] 

[ <OUTPUT Clause> ]

{ VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n     ] 

| derived_table 

| execute_statement        

| <dml_table_source>

| DEFAULT VALUES 

}

}

}[;]

在该结构中,INSERT为该语句的实际操作,INTO关键字无真正含义,目的是为增强这个语句的可读性。INTO关键字为可选,建议在语句中加入该关键字。在使用Entity Framework添加数据时,执行的INSERT语句是没有使用INTO关键字的。

参考资料来源:百度百科 - SQL INSERT INTO

本回答被网友采纳
第2个回答  推荐于2019-11-03

方式1、 INSERT INTO t1(field1,field2) VALUE(v001,v002);            // 明确只插入一条Value

方式2、 INSERT INTO t1(field1,field2) VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402);

在插入批量数据时方式2优于方式1.

方式3.1、  INSERT INTO t2(field1,field2) SELECT col1,col2 FROM t1 WHERE ……

由于可以指定插入到talbe2中的列,以及可以通过相对较复杂的查询语句进行数据源获取,可能使用起来会更加的灵活一些,但我们也必须注意,我们在指定目标表的列时,一定要将所有非空列都填上,否则将无法进行数据插入,还有一点比较容易出错的地方就是,当我们写成如下简写格式:

方式3.2、  INSERT INTO t2 SELECT id, name, address FROM t1

此时,如果略掉了目标表的列的话,则默认会对目标表的全部列进行数据插入,且SELECT后面的列的顺序 必须和目标表中的列的定义顺序完全一致 才能完成正确的数据插入,这是一个很容易被忽略的地方,值得注意。

扩展资料

SQL中INSERT INTO 语句

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

插入新的行

"Persons" 表:

SQL 语句:

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

在指定的列中插入数据

"Persons" 表:

SQL 语句:

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

本回答被网友采纳
第3个回答  推荐于2018-03-02
这只是插入
insert into 表名(i_text,i_insert) values(abc,aaa)
insert into 表名(i_text,i_insert) values(abc,bbb)
insert into 表名(i_text,i_insert) values(abc,ccc)
照你的题目来看,好像是要把
1 abc
2 abc
3 abc
修改为
1 abc aaa
2 abc bbb
3 abc ccc
那么、得用UPdate语句
update 表名 set i_insert='aaa' where i_id=1
update 表名 set i_insert='bbb' where i_id=1
update 表名 set i_insert='ccc' where i_id=1本回答被网友采纳
第4个回答  2007-06-04
insert into 表名(i_text,i_insert) values('abc','aaa')
insert into 表名(i_text,i_insert) values('abc','bbb')
insert into 表名(i_text,i_insert) values('abc','ccc')
你这样插入就对了。试试看吧!!!!!
相似回答