當前位置:首頁 » 編程語言 » 導入資料庫用sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

導入資料庫用sql語句

發布時間: 2022-05-31 17:53:37

❶ 怎麼寫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(實例名)。 啟動模式更改為「自動」