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

        #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. 第一个python程序hello.py

    使用vim编辑代码: #!/usr/bin/python2.7 #-*-coding:utf-8-*- name = raw_input('请输入你的名字:') print 'Hello,',name ...

  2. mysql.sock

    Mysql有两种连接方式: (1)TCP/IP (2)socket 对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用. 例如你无须定义连接host的具 ...

  3. 斯坦福第十四课:降维(Dimensionality Reduction)

    14.1  动机一:数据压缩 14.2  动机二:数据可视化 14.3  主成分分析问题 14.4  主成分分析算法 14.5  选择主成分的数量 14.6  重建的压缩表示 14.7  主成分分析法 ...

  4. 导入module

    1.http://blog.csdn.net/cryssdut/article/details/50357876 2.直接把lib复制黏贴到项目里,无法直接用:需要在 settings.gradle中 ...

  5. 关于oralce字符集问题(复制别人的,纯属自己学习)

    本文主要讨论以下几个部分: 1.如何查看查询oracle字符集. 2.修改设置字符集以及常见的oracle utf8字符集 3.oracle exp 字符集问题 正文: 一.字符集参数 影响Oracl ...

  6. [MSSQL2012]LEAD函数

    LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本 DECLARE @TestData TABLE(     ID INT IDENTITY(1,1), ...

  7. windows下重启mysql

    其中第二种方法对我这无效,以后再搞清楚! 一.MYSQL服务 我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止.重启动) 二.命令行方式 Windows 1.点击“开始” ...

  8. [ucgui] 彩色条函数

    /* 颜色条 */ void ShowColorBar(void) { , y0 = , yStep = , i; int NumColors = LCD_GetDevCap(LCD_DEVCAP_N ...

  9. JavaScript中的property和attribute

    property,attribute都作“属性”解,但是attribute更强调区别于其他事物的特质/特性. 而在JavaScript中,property和attribute更是有明显的区别.众所周知 ...

  10. jQuery document window load ready 区别详解

    用过JavaScript的童鞋,应该知道window对象和document对象,也应该听说过load事件和ready事件,小菜当然也知道,而且自认为很了解,直到最近出了问题,才知道事情并不是那么简单. ...