使用C#导出MSSQL表数据Insert语句,支持所有MSSQL列属性
在正文开始之前,我们先看一下MSSQL的两张系统表sys.objects 、 syscolumns
MSDN中 sys.objects表的定义:在数据库中创建的每个用户定义的架构作用域内的对象在该表中均对应一行。
sys.syscolumns表的定义:为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。
第一个表作用是存储所有的表数据的,包括我们新建的表、视图、存储过程等。
第二个表作用是存储表的列名、存储过程的参数等。
有了以上两个表的数据我们就可以开始我们的工程项目了。
首先我们取出新建的数据表,按MSDN的说明 sys.objects中的 列xtype 属性,当xtype=U时,可以查出所有的表名。
select name,id from dbo.sysobjects where xtype = 'U'
有了表名再继续查找列属性。sys_objects和sys.syscolumns是有关联的。
select * from dbo.syscolumns where id =@id
查询语句中的@id是我们上表中查出的表ID.

name是列名我们看出来了,那这个列名对应的是什么类型呢?有了相应的类型我们才能生成相应的Insert语句呀。以下是对应关系

好了。有了以上数据我们就可以生成我们的Insert语句了。
源码地址:下载
使用C#导出MSSQL表数据Insert语句,支持所有MSSQL列属性的更多相关文章
- Oracle 使用PLSQL 导出 一个表的insert 语句
1. 使用工具 plsql . GUI的方法,如图示 2. 操作界面 3. 然后就看到了插入语句
- sqlserver数据库导出表结构和表数据生成创建表和insert语句
问题描述: 有时候我们只需要导出一张表和表数据到另外一个数据库,如果是备份整个库的话,就会很麻烦那样,没法满足需求. 解决方法: 以sqlserver2014为例:把MGActivity数据库的bat ...
- SQLServer导出导出单表数据
1.SQLServer导出单表数据为TXT文件 数据库--任务--导出数据
- 使用java生成备份sqlserver数据表的insert语句
针对sqlserver数据表的备份工具很多,有时候条件限制需要我们自己生成insert语句,以便后期直接执行这些插入语句.下面提供了一个简单的思路,针对mysql或oracle有兴趣的以后可以试着修改 ...
- PLSQL导出表的数据insert语句
“Where clause”可以设置查询条件.设置好文件导出的路径(“Output file”),点击[Export]按钮,就可以导出INSERT语句了. 导出之后使用nodepad打开: 但是如果我 ...
- linux下用命令导出mysql表数据
由于数据库服务器是内网环境,只能通过linux跳板机连接,所以navicat工具暂时用不上. 1.用Xshell工具连接跳板机 2.再通过跳板机连接数据库服务器 >ssh -p port ip ...
- plsql 工具怎样导出 oracle 表数据
一.双击 plsql 工具,输入登陆用户.登陆密码以及登陆数据库名称,如下图: 二.菜单 Tools --> Export Tables...,如下图: 三.进入导出界面后,可以选择单个表,进行 ...
- oracle 复制表结构 复制表数据 sql 语句
1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table ta ...
- SAP导出内表数据到excel
DATA: EXCEL TYPE OLE2_OBJECT, SHEET TYPE OLE2_OBJECT, CELL TYPE OLE2_OBJECT, ...
随机推荐
- cocos基础教程(2)Window环境下搭建(补充)
一.环境搭建 1.JDK.Eclipse与SDK 我用的JDK是1.7 Eclipse用的是Luna版的 这些之前都已经设好了,相关下载自己网上找吧 2. 下载最新的Cocos2d-x,我下的是3.5 ...
- jvm内存模型和内存分配
1.什么是jvm? (1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的. (2)jvm包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和 ...
- php面试题之五——MySQL数据库(基础部分)
五.MySQL数据库 mysql_num_rows() mysql_affected_rows() 这两个函数都作用于 mysql_query($query)操作的结果,mysql_num_rows( ...
- Controller之间传递数据:协议传值
http://itjoy.org/?p=416 前边介绍过从第一个页面传递数据到第二个页面,那么反过来呢我们该如何操作?还是同一个例子,将第二个页面的字符串传递到第一个页面显示出来,这中形式就可以使用 ...
- 详解mysql int类型的长度值问题
我的朋友海滨问我mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个 ...
- neutron 中 flat vlan gre vxlan的区别
In a flat network, everyone shares the same network segment. For example, say 2 tenants are sharing ...
- 如何在命令行下运行kettle的作业(job)和转换(transform)
pan 是执行转换的. Pan.bat /file C:\test.ktr /logfile c:\log.txt /level Basic kitchen是执行job的. kitchen.bat / ...
- Android的Observable和iOS的NotificationCenter
使用起来很类似,参看以下网址http://stackoverflow.com/questions/10327200/equivalent-of-ios-nsnotificationcenter-in- ...
- Ubuntu 14.04的vim编辑器配置Python开发环境
#1 $ sudo apt-get install exuberant-ctags vim-scripts $ vim-addons install taglist #2 到:http://www.v ...
- 22.python笔记之web框架
一.web框架本质 1.基于socket,自己处理请求 #!/usr/bin/env python3 #coding:utf8 import socket def handle_request(cli ...