sql server查询分析器,用sql语句往表中批量插入数据怎么做,看图.

sql server查询分析器,用sql语句往表中批量插入数据怎么做,看图.,第1张

参考如下:

导出到excel

EXEC masterxp_cmdshell 'bcp SettleDBdboshanghu out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

/ 导入Excel

SELECT

FROM OpenDataSource( 'MicrosoftJetOLEDB40',

'Data Source="c:\testxls";User ID=Admin;Password=;Extended properties=Excel 50')xactions

/动态文件名

declare @fn varchar(20),@s varchar(1000)

set @fn = 'c:\testxls'

set @s ='''MicrosoftJetOLEDB40'',

''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 50'''

set @s = 'SELECT FROM OpenDataSource ('+@s+')sheet1$'

exec(@s)

/

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名

FROM OpenDataSource( 'MicrosoftJetOLEDB40',

'Data Source="c:\testxls";User ID=Admin;Password=;Extended properties=Excel 50')xactions

/ EXCEL导到远程SQL

insert OPENDATASOURCE(

'SQLOLEDB',

'Data Source=远程ip;User ID=sa;Password=密码'

)库名dbo表名 (列名1,列名2)

SELECT 列名1,列名2

FROM OpenDataSource( 'MicrosoftJetOLEDB40',

'Data Source="c:\testxls";User ID=Admin;Password=;Extended properties=Excel 50')xactions

/ 导入文本文件

EXEC masterxp_cmdshell 'bcp dbnametablename in c:\DTtxt -c -Sservername -Usa -Ppassword'

/ 导出文本文件

EXEC masterxp_cmdshell 'bcp dbnametablename out c:\DTtxt -c -Sservername -Usa -Ppassword'

EXEC masterxp_cmdshell 'bcp "Select from dbnametablename" queryout c:\DTtxt -c -Sservername -Usa -Ppassword'

导出到TXT文本,用逗号分开

exec masterxp_cmdshell 'bcp "库名表名" out "d:\tttxt" -c -t ,-U sa -P password'

BULK INSERT 库名表名

FROM 'c:\testtxt'

WITH (

FIELDTERMINATOR = ';',

ROWTERMINATOR = '\n'

)

--/ dBase IV文件

select from

OPENROWSET('MICROSOFTJETOLEDB40'

,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select from [客户资料4dbf]')

--/

--/ dBase III文件

select from

OPENROWSET('MICROSOFTJETOLEDB40'

,'dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select from [客户资料3dbf]')

--/

--/ FoxPro 数据

select from openrowset('MSDASQL',

'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',

'select from [aaDBF]')

--/

/导入DBF文件/

select from openrowset('MSDASQL',

'Driver=Microsoft Visual FoxPro Driver;

SourceDB=e:\VFP98\data;

SourceType=DBF',

'select from customer where country != "USA" order by country')

go

/ 导出到DBF /

如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

insert into openrowset('MSDASQL',

'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',

'select from [aaDBF]')

select from 表

说明:

SourceDB=c:\ 指定foxpro表所在的文件夹

aaDBF 指定foxpro表的文件名

/导出到Access/

insert into openrowset('MicrosoftJetOLEDB40',

'x:\Amdb';'admin';'',A表) select from 数据库名B表

/导入Access/

insert into B表 selet from openrowset('MicrosoftJetOLEDB40',

'x:\Amdb';'admin';'',A表)

文件名为参数

declare @fname varchar(20)

set @fname = 'd:\testmdb'

exec('SELECT a FROM opendatasource(''MicrosoftJetOLEDB40'',

'''+@fname+''';''admin'';'''', topics) as a ')

SELECT

FROM OpenDataSource( 'MicrosoftJetOLEDB40',

'Data Source="f:\northwindmdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')产品

导入 xml 文件

DECLARE @idoc int

DECLARE @doc varchar(1000)

--sample XML document

SET @doc ='

<root>

<Customer cid= "C1" name="Janine" city="Issaquah">

<Order oid="O1" date="1/20/1996" amount="35" />

<Order oid="O2" date="4/30/1997" amount="134">Customer was very satisfied

</Order>

</Customer>

<Customer cid="C2" name="Ursula" city="Oelde" >

<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue

white red">

<Urgency>Important</Urgency>

Happy Customer

</Order>

<Order oid="O4" date="1/20/1996" amount="10000"/>

</Customer>

</root>

'

-- Create an internal representation of the XML document

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

-- Execute a SELECT statement using OPENXML rowset provider

SELECT

FROM OPENXML (@idoc, '/root/Customer/Order', 1)

WITH (oid char(5),

amount float,

comment ntext 'text()')

EXEC sp_xml_removedocument @idoc

declare @i int

set @i=0

while(@i<1000)

begin

insert into a(url) values('XXXXXX_'+cast(@i as varchar))

set @i=@i+1

end

常见的insert语句,向数据库中,一条语句只能插入一条数据:

insert

into

persons

(id_p,

lastname

,

firstname,

city

)

values(204,'haha'

,

'deng'

,

'shenzhen');

(如上,仅插入了一条记录)

怎样一次insert插入多条记录呢?

使用示例:

insert

into

persons

(id_p,

lastname

,

firstname,

city

)

values

(200,'haha'

,

'deng'

,

'shenzhen'),

(201,'haha2'

,

'deng'

,

'gd'),

(202,'haha3'

,

'deng'

,

'beijing');

这样就批量插入数据了,

遵循这样的语法,就可以批量插入数据了。

执行成功,截图:

据说,在程序开发中,一次插入多条数据,比逐次一条一条的插入数据,效率高很多

所以在程序开发的时候,使用此批量插入,也是比较不错的。

此语句在mysql

5,

postgresql

93执行通过。

<%

textarea=Request("textarea")'获取输入框的内容

If inStr(textarea,chr(13)&chr(10))>0 then'判断是否有换行符

textarea=Split(textarea,chr(13)&chr(10), -1, 1)'用换行符把内容分割成数组

For i=0 to UBound(textarea)'循环数组

ConnExecute "Insert Into [表名] (username,shuju,password) Values ('username值','"&textarea(i)&"','password值')" '写入数据库

Next

End If

%>

代码如下:

--创建测试表

CREATE TABLE [Identity](

Id INT IDENTITY(1,2) NOT NULL PRIMARY KEY,--种子的起始值1,步长2

Number VARCHAR(20) UNIQUE NOT NULL,

Name VARCHAR(20) NOT NULL,

Password VARCHAR(20) DEFAULT(123),

Description VARCHAR(40) NULL

)

--插入记录

INSERT INTO [Identity](Number,Name,Description) VALUES('001','1st','Id=1,因为起始值1')

INSERT INTO [Identity](Number,Name,Description) VALUES('002','2nd','Id=3,因为起始值1,步长2')

INSERT INTO [Identity](Number,Name,Description) VALUES('003','3rd','Id=5,由于字符长度超长,报错插入失败,造成此Id产生后被放弃')

INSERT INTO [Identity](Number,Name,Description) VALUES('004','4th','Id=7 not 5,因为第三条记录插入失败')

--检索记录,查看结果

SELECT FROM [Identity]

数据库是没有真正的批量新增记录。因为每新增一个条记录数据库系统要进行校验,比如触发器。

可以用多条insert语句,类似批量添加多条记录。

比如 :

insert into table values(var1);

insert into table values(var2);

insert into table values(varN);

不过,实质上数据库还是逐条添加的,并不是同时添加所以尽量。

这个在sqlserver里面不好做,要用到sql语言中的变量并且sql语音没有for不过有while,不过一般数据都不会这样批量输入,毕竟不是每条数据都之间都存在内在的联系。如果你真的想用for语句进行录入的话,你就用visual studio连接你的数据库用c#代码来完成这个活。

DECLARE @id INT,@username NVARCHAR(50),@Pwd NVARCHAR(50)

SET @id=0

SET @username ='kk'

SET @Pwd='12345'

WHILE @i<10000      --10000为你要执行插入的次数

BEGIN

INSERT INTO xx ( id, username,Pwd )  --xx为表名

VALUES  ( @id, @username,@Pwd  )

SET @i=@i+1

END

以上就是关于sql server查询分析器,用sql语句往表中批量插入数据怎么做,看图.全部的内容,包括:sql server查询分析器,用sql语句往表中批量插入数据怎么做,看图.、求一sql批量插入数据库的语句、怎么批量插入mysql数据库(1000条)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9308950.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存