经常用到代码生成器,对于取数据脚本做个记录:

        #region SQL-SqlServer
private string SqlTableList = @"SELECT
so.name,
Convert( VARCHAR(10), ep.[value]) AS [description]
FROM
sysobjects so(NOLOCK)
LEFT JOIN sys.extended_properties ep(NOLOCK) ON ep.major_id=so.id AND ep.minor_id=0
WHERE
so.[type]='U' AND so.name<>'sysdiagrams'
ORDER BY
so.name"; private string SqlFieldList = @"SELECT
c.name,
t.name AS [type],
c.length AS maxLength,
c.isnullable AS isNullable,
(
SELECT COUNT(1) FROM sys.identity_columns ic(NOLOCK) WHERE ic.[object_id]=c.id AND ic.column_id=c.colid
) AS isIdentity,
(
SELECT VALUE FROM sys.extended_properties ep(NOLOCK) WHERE ep.major_id = c.id AND ep.minor_id=c.colid
) AS [description],
[IsPk]=CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype='PK' and parent_obj=c.id and name IN (
SELECT name FROM sysindexes WHERE indid in(SELECT indid FROM sysindexkeys WHERE id = c.id AND colid=c.colid))) THEN 1 ELSE 0 END
FROM
syscolumns c(NOLOCK)
INNER JOIN sys.tables ts(NOLOCK) ON ts.[object_id] = c.id
INNER JOIN sys.types t(NOLOCK) ON t.system_type_id=c.xtype
INNER JOIN systypes st(NOLOCK) ON st.name=t.name AND st.name<>'sysname'
INNER JOIN sysusers su(NOLOCK) ON st.uid=su.uid AND su.name='sys'
--INNER JOIN syscolumns s(NOLOCK) ON c.[object_id]=s.id
WHERE
ts.name='{0}'
ORDER BY
c.id ASC";
#endregion #region SQL-MySql
private string SqlTableList_MySql = @"SELECT
TABLE_NAME as name,
TABLE_COMMENT as description
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA='{0}'"; private string SqlFieldList_MySql = @"SELECT
COLUMN_NAME as name,
DATA_TYPE as type,
IFNULL(CHARACTER_MAXIMUM_LENGTH,0) as maxLength,
(CASE IS_NULLABLE WHEN 'NO' THEN 0 ELSE 1 END) as isNullable,
0 as isIdentity,
COLUMN_COMMENT as description,
(CASE COLUMN_KEY WHEN 'PRI' THEN 1 ELSE 0 END) as IsPk
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA='{0}'
AND TABLE_NAME='{1}'
ORDER BY
ORDINAL_POSITION ASC";
#endregion

代码生成器Sql Server 和 Mysql 数据库脚本的更多相关文章

  1. ORM之Dapper操作Sql Server和MySql数据库

    1.为什么选择Dapper 1)轻量. 2)速度快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 3)支持多种数据库.Dapper可以在所有Ado.net P ...

  2. SQL Server和MySQL数据库

    导读:接下来的网上商城的项目,需要用到MySQL数据库了.这个对于我来说,是一个新接触的东西,按照惯例,在刚开始学习一个东西的时候,先从宏观上去了解它.本篇博客,先介绍SQL Server的基本内容, ...

  3. SQL Server 对接MySQL 数据库

    1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...

  4. Dapper操作Sql Server和MySql数据库

    1. 在配置文件web.config中添加连接字符串 <connectionStrings> <add name="sqlconnectionString" co ...

  5. Sql Server 2008 R2 数据库脚本导出方法

    经常忘记怎么搞,截几张图记录一下. 1 选中要导出的数据库,右键—>任务—>生成脚本 2 3 4 查看保存的脚本

  6. 数据库 SQL Server 到 MySQL 迁移方法总结

    最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...

  7. Ubuntu Server下MySql数据库备份脚本代码

    明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar. ...

  8. 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...

  9. Decimal为SQL Server、MySql等数据库的一种数据类型

    Decimal为SQL Server.MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部份以及小数部分的位数.使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间, ...

随机推荐

  1. SWAP空间不足,如何进行添加

    交换分区值过小,可以有两种方法来增加swap分区,一种是将新的分区来作为swap,另一种是在磁盘中创建一个大的文件来作swap. 我们以文件扩展swap [root@xuegod63 ~]# cd / ...

  2. 使用代码在windows-store中打开、搜索应用程序

    //Launcher.LaunchUriAsync(newUri("ms-windows-store:PDP?PFN=" + Package.Current.Id.FamilyNa ...

  3. 解决hibernate中的懒加载(延迟加载)问题

    解决hibernate中的懒加载(延迟加载)问题   我们在开发的时候经常会遇到延迟加载问题,在实体映射时,多对一和多对多中,多的一样的属性默认是lazy="true"(即,默认是 ...

  4. JAVA基于缓冲的文件读写操作

    File f2 = new File("e://index.java"); BufferedReader reader = new BufferedReader(new Input ...

  5. 【Python之路Day12】网络篇之Paramiko

    paramiko模块,基于SSH用于连接远程服务器并执行相关操作. 一.安装 pip3 install paramiko 二.使用 1. SSHClient 用于连接远程服务器并执行基本命令 基于用户 ...

  6. 安装windows git客户端

    从git官网下载安装包,双击安装,一路默认配置,直到完成 打开git bash,运行 ssh-keygen -t rsa -C "573215750@qq.com" 回车,输入“y ...

  7. 个性二维码开源专题<前背景>

    //设置图片资源 private Image imgAgo; public override void SetParam() { base.SetParam(); // 读取前背景 string _i ...

  8. kali linux系列之启用vpn

    kali linux系列之启用vpn 文/玄魂 默认情况下,kali linux的vpn选项是不可用的. 下面是安装openvpn的方法,同样的,可以安装其他类型的vpn. 打开终端输入命令: Apt ...

  9. [51单片机] SPI nRF24L01 无线简单程序 1

    main.c #include <reg51.h> #include <api.h> #define uchar unsigned char /**************** ...

  10. 单线程&浏览器多线程

    知乎答案:http://www.zhihu.com/question/31982417/answer/54136684 copy大牛的好文:from http://www.cnblogs.com/Ma ...