❶ 怎么写sql语句将Excel的数据插入到SQL Server数据库
方法和详细的操作步骤如下:
1、第一步,准备Excel表,并希望将其导入SQL
Server 2012中的QearlTest数据库,见下图,转到下面的步骤。
❷ 怎样用SQL 语句将xls文件导入数据库
方法如下:1、打开要导入的Excel文件,观察第一列是为字段还是数据。2、打开SQLServer,在需要导入的数据点击右键【任务】-【导入数据】出现导入导出向导。3、点击下一步,进入【选择数据源】页面,注意红框设置。4、点击下一步,进入【
❸ sql怎么导入mysql数据库
一、为 MySQL安装ODBC驱动
1、下载MySQL ODBC Connector。
2、配置ODBC驱动(对于mysql的访问,需要配置ODBC驱动,来使得SQLserver能够识别。)
从控制面板-管理工具,打开数据源(ODBC),选系统DNS ,点添加。选择MySQL ODBC 5.2 UnicodeDriver
SELECT*INTOmaterial.dbo.ic_goodsFROMOPENQUERY(MySQL,'select*frommaterial.ic_goods')
❹ 在同数据库服务器上,如何用SQL语句在不同数据库中导入数据
将test1库中表student的数据导入到test2中的student表中
-- 假如 test2中的student表 没有数据的话.
INSERT INTO test2.dbo.student
SELECT * FROM test1.dbo.student
-- 假如 test2中的student表 已经有数据了, 要根据 test1 中的student表 的数据做匹配
-- 如果有数据就 更新, 没有数据就 插入 这一类的操作的话, 使用 MERGE 语句来操作。
下面假设 student 表只有2个字段, 一个 id 是主键, 一个 val 是数值。
MERGE test2.dbo.student USING test1.dbo.student
ON ( test2.dbo.student.id = test1.dbo.student.id ) -- 条件是 id 相同
WHEN MATCHED THEN UPDATE SET test2.dbo.student.val = test1.dbo.student.val -- 匹配的时候,更新
WHEN NOT MATCHED THEN INSERT VALUES(test1.dbo.student.id, test1.dbo.student.val) -- 源表有,目标表没有,插入
WHEN NOT MATCHED BY SOURCE THEN DELETE; -- 目标表有,源表没有,目标表该数据删除.
❺ 求助:用SQL语句将Excel的数据导入到SQL数据库
先将test.xls导入SQL的一个中间表aa中(临时使用)(欠费开始月份欠费结束月份类型选为int型)
建立一个月份对照表bb(year(char),month(int),费款所属期(char))这个可以通过excel来生成
selectb.费款所属期,a.应缴金额(月租)fromaaa,bbb
wherea.year=b.yearanda.欠费开始月份>=b.monthanda.欠费结束月份<=b.month
说明:费款所属期生成时就生成char(7)的格式,就不用再去计算,这个期间的数据量是
可控制的(也可以通过SQL来生成,如果看份不多,手工设一下也方便)。
❻ 如何用sql语句把excel中的数据导入指定数据库中
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
2、将Excel的数据导入SQL server :
======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
3、将SQL SERVER中查询到的数据导成一个Excel文件
======================================================
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
4、在SQL SERVER里往Excel插入数据:
======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, prokt) VALUES (20, 'Test')
总结:利用以上语句,我们可以方便地将SQL SERVER、ACCESS和EXCEL电子表格软件中的数据进行转换,为我们提供了极大方便!
❼ 如何用sql语句将一个文件夹下的所有txt文件导入到数据库中急!在线等
使用场景:
比如将
C:\Test\
目录下的所有
txt文件内容
导入到
Table_1
中
--定义临时表,用于存放获取的文件名称
CREATE
TABLE
#files
(name
varchar(200)
NULL,
sql
varchar(7000)
NULL)
--获取文件名称,存放在#files
INSERT
#files(name)
exec
master..xp_cmdshell
'dir
c:\test
/b'
--删除不要的文件名称
DELETE
#files
WHERE
coalesce(name,
'')
NOT
LIKE
'Code%'
--插入需要
导入文件内容的
命令SQL,需要修改
Table_1(改为导入的Table)和文件路径
UPDATE
#files
SET
sql
=
'BULK
INSERT
Table_1
FROM
'''
+
'C:\Test\'+name
+
'''
WITH
('
+
'DATAFILETYPE
=
''char'',
FIELDTERMINATOR
=
''\t'',
'
+
'ROWTERMINATOR
=
''\n'')'
--开始执行导入
DECLARE
@sql
varchar(8000)
DECLARE
cur
CURSOR
STATIC
LOCAL
FOR
SELECT
sql
FROM
#files
OPEN
cur
WHILE
1
=
1
BEGIN
FETCH
cur
INTO
@sql
IF
@@fetch_status
<>
0
BREAK
EXEC(@sql)
END
DEALLOCATE
cur
主要分为读取文件夹下所有文件和导入文件内容两部分
--读取文件夹下所有文件
declare
@files
table
(ID
int
IDENTITY,
FileName
varchar(100))
insert
into
@files
execute
xp_cmdshell
'dir
c:\test
/b'
select
'c:\'+
[FileName]
AS
FILEPATH
INTO
#temp
from
@files
SELECT
*
FROM
#temp
--导入文件内容
BULK
INSERT
dbo.Table_1
FROM
#temp
WITH
(
ROWTERMINATOR
='\n'
)
还需要开启
/*****
Step
1
开启
xp_cmdshell
Use
Master
GO
EXEC
master.dbo.sp_configure
'show
advanced
options',
1
RECONFIGURE
WITH
OVERRIDE
GO
EXEC
master.dbo.sp_configure
'xp_cmdshell',
1
RECONFIGURE
WITH
OVERRIDE
GO
*******/
参考:
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/47c8edc1-8cad-4a24-a09a-3fc0c943325c/bulk-insert-multiple-files-tsql
❽ 如何用SQL语句将数据批量插入数据库
这种情况使用xml来进行批量插入.
1.asp.net页面上抓取数据,转换成xml字符串
2.将这个字符串作为参数传给存储过程
3.存储过程里,将这个xml读取成临时表
4.整个临时表插入到目标数据表中,这个过程可以使用sql
server的事务;其实在这里用不用事务问题都不大了,因为存储过程出错,数据插不进去的,还会抛出异常到asp.net后台,让后台进行处理异常.
您用游标或asp.net代码来循环,速度会比较慢的.
❾ sqlserver把远程数据库的数据导入到本地数据库的sql语句怎么写
你的本地要建立和远程的连接,比如远程数据库叫DB1
在本地查询分析器直接写就可以
USER_COPY不需要创建,直接用下边的语法创建加复制数据
SELECT
*
INTO
USER_COPY
FROM
DB1..USER
❿ SQL语句如何将Excel表导入到数据库我要的是SQL语句
在查询分析器里,操作数据库对象选择Lee直接写 SQL语句:
如果是导入数据到现有表,则采用
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式
如果是导入数据并新增表,则采用
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式。
以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以
INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
其实可以将 OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:
INSERT INTO eval_channel_employee(channel,employee_id)
SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END
,b.id FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b
WHERE a.员工编码 =b.code
简单的方法:
SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。
操作过程如下:
第一步:登录到 SQL Server Management Studio,
第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在弹出列表中单击 “导入数据 ”
第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”
第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。
你试下下面的吧:
打开SQL Server Configuration Manager,启用SQL Server Agent(实例名)。 启动模式更改为“自动”