A. 求教sqlserver通過命令行生成建表語句
declare@sqlvarchar(8000),@tablenamevarchar(100)
set@tablename='test'--這里輸入表名
set@sql='createtable['+@tablename+']
(
'
select@sql=@sql+b.name+''+
c.name+
casewhenc.collation_nameisnotnullthen'('+
casewhenb.max_length<>-1thenconvert(varchar(100),b.max_length)
else'MAX'
end+')'
else''
end+
casewhenb.is_identity=1then'identity('+convert(varchar(100),IDENT_SEED(@tablename))+','+convert(varchar(100),IDENT_INCR(@tablename))+')'else''end+
casewhend.definitionisnotnullthen'default('+d.definition+')'else''end+
casewhenb.is_nullable=0then'notnull'else'null'end+
',
'
fromsys.objectsajoinsys.columnsb
ona.object_id=b.object_id
joinsys.typesc
onb.system_type_id=c.system_type_idandb.user_type_id=c.user_type_id
leftjoinsys.default_constraintsd
onb.default_object_id=d.object_id
wherea.name=@tablename
orderbyb.column_id
ifexists(select*fromsys.indexeswhereobject_id=object_id(@tablename)andis_primary_key=1)
begin
select@sql=@sql+'CONSTRAINT['+name+']PRIMARYKEY'+type_desc+'
(
'fromsys.indexeswhereobject_id=object_id(@tablename)andis_primary_key=1
select@sql=@sql+b.name+casewhena.is_descending_key=1then'DESC'else'ASC'end+',
'fromsys.index_columnsajoinsys.columnsb
ona.object_id=b.object_idanda.column_id=b.column_id
wherea.object_id=object_id(@tablename)
select@sql=left(@sql,len(@sql)-3)+'
)'
select@sql=@sql+'
)ON[PRIMARY]'
end
else
begin
select@sql=left(@sql,len(@sql)-1)+'
)ON[PRIMARY]'
end
print@sql
B. SQL Server 怎樣使用SQL輸出建表語句
DECLARE@SelectTableNameVARCHAR(400)
--查詢表名
SET@SelectTableName='表名';
WITHt1
AS(SELECTt.nameAStableName,
c.nameAScolumnName,
ty.nameAStypeName,
CASEc.is_nullable
WHEN1THEN'null'
ELSE'notnull'
ENDnotNullConstraint,
c.max_lengthAStypeLength,
CASEWHENc.max_lengthIN(8000,1,-1,4,8)
THENc.name+''+ty.name+','
ELSEc.name+''+ty.name+'('
+CONVERT(VARCHAR,c.max_length)+')'+','
ENDcolumnDef
FROMsys.columnsc
INNERJOINsys.tablestONt.object_id=c.object_id
INNERJOINsys.schemasschONt.schema_id=sch.schema_id
INNERJOINsys.typestyONty.system_type_id=c.system_type_id
WHEREty.name<>'sysname'
ANDt.name=@SelectTableName
)
SELECT'CreateTable'+@SelectTableName+'('+LEFT((SELECT
columnDef+''
FROM
t1
FOR
XML
PATH('')
),LEN((SELECT
columnDef+''
FROM
t1
FOR
XML
PATH('')
))-1)+');'CreateTableQuery
C. 求SQL很多資料庫之間導表語句
--如胡磨果在B服遲模務器上操作,首先在B中建立一個鏈接伺服器指向A,假設鏈接伺服器名是A1:
declare @i int
declare @d_name varchar(10)
declare @code varchar(max),voucher varchar(max), vouchinfo varchar(max)
set @i=1
while @i<101
begin
set @d_name='data'+REPLICATE('0',3-len(@i))+cast(@i as varchar(3))
set @code='insert into ['+@d_name+'].dbo.code select * from [A1].['+@d_name+'].dbo.code'褲旦斗
set @voucher='insert into ['+@d_name+'].dbo.voucher select * from [A1].['+@d_name+'].dbo.voucher'
set @vouchinfo='insert into ['+@d_name+'].dbo.vouchinfo select * from [A1].['+@d_name+'].dbo.vouchinfo'
exec(@code);
exec(@voucher);
exec(@vouchinfo);
set @i=@i+1
end
也可以將上述代碼創建存儲過程來執行。
D. 怎樣用SQL語句查詢一個資料庫中的所有表
查詢一個資料庫中的所有表sql語句是show tables;
顯示所有資料庫的命令是:show databases;要查看某個資料庫先要進入資料庫使用user <資料庫名>命令;進入資料庫之後才能查詢資料庫中有哪些表。使用以下命令即可查出所有表:
show tables;
(4)sql下載表語句擴展閱讀
mysql資料庫的基本sql操作命令介紹:
1、顯示當前資料庫伺服器中的資料庫列表:mysql> SHOW DATABASES;
2、建立資料庫:mysql> CREATE DATABASE 庫名;
3、建立數據表:mysql> USE 庫名;mysql> CREATE TABLE 表名 (欄位名 VARCHAR(20), 字
名 CHAR(1));
4、刪除資料庫:mysql> DROP DATABASE 庫名;
5、刪除數據表:mysql> DROP TABLE 表名;
6、將表中記錄清空:mysql> DELETE FROM 表名;
7、往表中插入記錄:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中數據:mysql-> UPDATE 表名 SET 欄位名1='a',欄位名2='b' WHERE 欄位名3='c';
9、用文本方式將數據裝入數據表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、導入.sql文件命令:mysql> USE 資料庫名;mysql> source d:/mysql.sql;
E. SQL Server 怎樣使用SQL輸出建表語句
方法/步驟
1、首先找到這個資料庫,右擊-》任務-》生成腳本
2、然後就進入了生成腳本的向導,點擊下一步。
這里會有很多個資料庫,我們選擇自己想要建表的那個資料庫,選擇以後點擊下一步。
這里可以選擇編寫所有腳本,也可以不選直接下一步。
在這里,因為我們只是建表,所以我們把表勾上,不要勾選全部,不然下面就不能繼續了。
這里我們選擇要導出sql語句的表,勾上以後點擊下一步。
在這個界面,我們選擇將腳本保存到文件,然後瀏覽要存放的位置,還能選擇文本的編碼方式,一般默認是Unicode編碼方式。。
選擇生成的文件的名字,並選擇保存的路徑。
點擊瀏覽選擇保存後,點擊完成。
在這個界面你什麼都不用管,點擊完成就行。
點擊完成後,會看到生成腳本的進度,生成的狀態。
最後我們在保存的路徑下找到這個文件,用記事本打開看看,可以看到這個建表的sql語句。證明我們導出的建表語句是成功的。
F. SQL多表查詢語句怎麼寫(mysql資料庫多表查詢的語法)
SQL多表查詢畝畢芹語句的步驟如下:
我們需要准備的材料分別是:數洞電腦、sql查詢器。
1、首先,打開sql查詢器,連接上相應的數迅畢據庫表,例如m1表和m2表。
2、點擊「查詢」按鈕,輸入:selectmax(km)fromm1joinm2onm1.md=m2.mdwhereid=14andlx=15;。
3、點擊「運行」按鈕,此時查詢到km的最大值為20。
G. sql下表應如何寫語句
select銷售段散分店,
銷售品種,
sum(casewhen月份=1then銷或讓售量else0end)一月,
sum(casewhen月份=2then銷售量else0end)二月,
sum(casewhen月份=3then銷售量else0end)三月,
sum(casewhen月份=3then銷售量else0end)四月,
sum(casewhen月份=4then銷售量else0end)五月,
sum(casewhen月份=5then銷售量else0end)六握團氏月
from表名groupby銷售分店,銷售品種
H. 如何SQL語句導出資料庫里的所有表(SQL2012)
新建一個備份庫,將bak文件還原
然後excel中直接連接資料庫
I. 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(實例名)。 啟動模式更改為「自動」
J. SQL導出表為excel的sql語句怎麼寫
查詢出來的結果,全選,再右鍵另存為CVS格式就行了