导出mssql数据库中的表、字段和类型为SQL语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导出mssql数据库中的表、字段和类型为SQL语句相关的知识,希望对你有一定的参考价值。

导出mssql数据库中的表、字段和类型为SQL语句,并可在另一个数据库中通过执行这些语句来添加相应的表、字段和字段中的数据

打开SQL管理器 ,找到要导出用户表字段信息的那个数据库 ,点击工具上的Sql查询分析器
直接copy下面的Sql语句到查询分析器中,点击F5运行:
SELECT
(case when a.colorder=1 then d.name else '' end)表名,
a.colorder 字段序号,
a.name 字段名,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
(case when (SELECT count(*)
FROM sysobjects
WHERE (name in
(SELECT name
FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid
FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid
FROM syscolumns
WHERE (id = a.id) AND (name = a.name))))))) AND
(xtype = 'PK'))>0 then '√' else '' end) 主键,
b.name 类型,
a.length 占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
(case when a.isnullable=1 then '√'else '' end) 允许空,
isnull(e.text,'') 默认值,
isnull(g.[value],'') AS 字段说明

FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e
on a.cdefault=e.id
left join sysproperties g
on a.id=g.id AND a.colid = g.smallid
order by a.id,a.colorder
这样的话,该数据库中的用户字段信息就出来了,然后可以把结果全选,复制到Excel里面 粘贴。
参考技术A 如果只要保存创建表以及字段的结构,
则用下面的方法基可以了,
在查询分析器中,右击表,在新窗口中编写对象脚本,创建,保存即可。
或者在企业管理器中,右击表,生成SQL脚本,确定,取名,保存即可。

如果还需要保存字段中的数据,
就可以直接使用复制/粘贴将数据粘贴过去,
或者将数据拷贝至Excel等,然后再粘贴或导入进去,
或者使用DTS工具进行导入/导出
呵呵,希望能有帮助,^_^
参考技术B 第一种方法:在查询分析器中,右击表,在新窗口中编写对象脚本,创建,保存即可。
第二种方法:在企业管理器中,右击表,生成SQL脚本,确定,取名,保存即可。

保存的SQL为扩展名的文件,可以在查询分析器、企业管理器及其它数据库接口程序的查询语句中用来建立同样结构的表。本回答被提问者采纳
参考技术C 1.在查询分析器中,右击表,在新窗口中编写对象脚本,创建,保存即可。
2.在企业管理器中,右击表,生成SQL脚本,确定,取名,保存即可。

如何用SQL语句将数据库中的表的某一时间型字段的默认值设置为当前日期

1、如果是创建新表格,创建的SQL语句添加:datetime default getdate() ,即新增行,默认当前日期。

比如:

CREATE TABLE a2(
bh int IDENTITY NOT NULL, 
rq datetime default getdate() , 
CONSTRAINT p_a2 PRIMARY KEY NONCLUSTERED (bh)) ;

2、如果是已创建的表格datetime字段,insert into语句中直接赋值getdate()。

比如: 

insert into 表格名 (rq) values (getdate());
参考技术A 假设表名为aaa,字段名为dt,语句为:
ALTER TABLE aaa ADD CONSTRAINT
DF_aaa_dt DEFAULT getdate() FOR dt

这样aaa的dt字段默认值就是当前系统日期了
参考技术B 设为getdate()即可。 参考技术C update 表名 set 字段名 = getdate() 参考技术D 默认值设为getdate()本回答被提问者和网友采纳

以上是关于导出mssql数据库中的表、字段和类型为SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

sql数据库语句

如何将oracle表中的字段由integer 转变为varchar2(50)

oracle 10G数据库如何插入clob字段的值的简单语句sql语句

如何把含有BLOB字段的表导出成二进制文本文件

MSSQL数据库如何转换为MYSQL数据库?

oracle 怎么导出数据库里 所有的表结构和存储过程