sql語句輸入到哪里-如何用sql語句把excel中的數據導入指定數據庫?
在查詢分析器里,直接寫 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(實例名)。 啟動模式更改為“自動” 以上是對這個問題的回答,希望對您有幫助。
如果excel中想使用sql語句怎么使用
例如簡單的從sheet1表中的數據取到表二:
Sub 簡單查詢()
Set cn = CreateObject("*tion")
Set rs = CreateObject("*set")
* "provider=*.4.0;Extended Properties='Excel 8.0';data source=" & *me
Sql = "select * from [sheet1$]"
Sheets(2).[A2].CopyFromRecordset *e(Sql)
MsgBox "取數據成功"
Sheets("sheet2").Select
*
Set rs = Nothing
Set cn = Nothing
End Sub
SQL語句查詢結果作為第二個語句的表格
--創建測試表 這里需要問一下你后面你篩選的name 和no 的列名有1,2,3嗎?
CREATE TABLE #T
(
name VARCHAR(20) ,
no VARCHAR(10)
)
DECLARE @name VARCHAR(20)= ''
DECLARE @str NVARCHAR(100)
--創建游標
DECLARE cursor_tb CURSOR FAST_FORWARD
FOR
( SELECT tablename
FROM tablemain
)
OPEN cursor_tb
FETCH NEXT FROM cursor_tb
INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @str = 'select name,no from '
+ QUOTENAME(@name)
INSERT INTO #T EXEC(@sql);
FETCH NEXT FROM cursor_tb
INTO @name
END
CLOSE cursor_tb
DEALLOCATE cursor_tb
SELECT *
FROM #T
--刪除臨時表
DROP TABLE #T
用SQL語句建立表格
要求:創建表或者增加列時,請為每列選擇合適的數據類型
學號 姓名 籍貫 數學
200601 張海 山東 59
200602 李四 海南 78
200603 楊海 山東 88
(1)寫出創建如上所示表STUINFO的SQL語句
create table STUINFO(學號 int, 姓名 nvarchar(50), 籍貫 nvarchar(50), 數學 int)
(2)插入值為(200605,王五,北京,89)的一行數據,寫出SQL語句
insert into STUINFO
values (200605,'王五','北京',89)
(3)刪除姓名中包含海的SQL語句
delete from STUINFO where 姓名 like '%海%'
(4)寫出查詢籍貫為山東的總人數的SQL語句
select count(*) from STUINFO where 籍貫 like '%山東%'
(5)寫出按照數學成績由高到低排序的SQL語句
select * from STUINFO order by 數學 desc
(6)在表中增加列,列名為聯系方式,寫出SQL語句
alter table STUINFO add 聯系方式 nvarchar(50)
(7)寫出取出前3條記錄的學號,姓名字段的SQL語句
select top 3 姓名 from STUINFO
(8)寫出為數學成績低于60分的成績增加10分的SQL語句
update STUINFO
set 數學 = 數學 + 10
where 數學 < 60
(9)寫出為該表建立按學號升序唯一索引的SQL語句
create index ix_STUINFO_math on STUINFO(數學)
(10)寫出刪除上面所創建表的SQL語句
drop table STUINFO