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格式就行了