代码生成器Sql Server 和 Mysql 数据库脚本
经常用到代码生成器,对于取数据脚本做个记录:
#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 数据库脚本的更多相关文章
- ORM之Dapper操作Sql Server和MySql数据库
1.为什么选择Dapper 1)轻量. 2)速度快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 3)支持多种数据库.Dapper可以在所有Ado.net P ...
- SQL Server和MySQL数据库
导读:接下来的网上商城的项目,需要用到MySQL数据库了.这个对于我来说,是一个新接触的东西,按照惯例,在刚开始学习一个东西的时候,先从宏观上去了解它.本篇博客,先介绍SQL Server的基本内容, ...
- SQL Server 对接MySQL 数据库
1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...
- Dapper操作Sql Server和MySql数据库
1. 在配置文件web.config中添加连接字符串 <connectionStrings> <add name="sqlconnectionString" co ...
- Sql Server 2008 R2 数据库脚本导出方法
经常忘记怎么搞,截几张图记录一下. 1 选中要导出的数据库,右键—>任务—>生成脚本 2 3 4 查看保存的脚本
- 数据库 SQL Server 到 MySQL 迁移方法总结
最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...
- Ubuntu Server下MySql数据库备份脚本代码
明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar. ...
- 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析
对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...
- Decimal为SQL Server、MySql等数据库的一种数据类型
Decimal为SQL Server.MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部份以及小数部分的位数.使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间, ...
随机推荐
- 文件和目录:access函数
access函数是按照实际用户ID和实际组ID进行访问权限测试的: #include <unistd.h> int access( const char *pathname, int mo ...
- kafka go producer 启动基本配置
1.官网上下载kafka安装包:http://kafka.apache.org/downloads.html 2.执行命令运行zookeeper 实例(单点): bin/zookeeper-serve ...
- 根据Url 获取图片尺寸 iOS
// 根据图片url获取图片尺寸 +(CGSize)getImageSizeWithURL:(id)imageURL { NSURL* URL = nil; if([imageURL ...
- C#设计模式(9)——装饰者模式(Decorator Pattern)
一.引言 在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类).A ...
- CoreCLR中超过3万行代码的gc.cpp文件的来源
在CoreCLR的开源代码中,GC的主要实现代码gc.cpp文件大小竟然有1.17MB,打开文件一看,竟然有35490行!第一次见到如此多行的单个代码文件. github都不让直接查看:https:/ ...
- Windows上成功编译CoreCLR源代码
昨天得知微软在GitHub上发布CoreCLR的源代码之后,立马从GitHub上签出代码,并尝试在Windows Server 2012上进行编译. 参考CoreCLR的开发者指南(Developer ...
- [游戏学习28] MFC 时钟
>_<:这是一个时钟小程序 >_<:通过调用获得系统时间然后经过计算得出当前时间,然后再以3个圆环表示时分秒. >_<:TAO_CLOCK.h class CMyA ...
- [J2ME] 基本框架框架
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import jav ...
- 使用Jekyll官方的ReadMore摘要功能
今天才发现,Jekyll官方就支持ReadMore摘要功能,记录一下. 我之前的方法,在index.html中 {{ post.content ||split:'<!-- more --> ...
- JQuery官方学习资料(译):使用JQuery的.index()方法
.index()是一个JQuery对象方法,一般用于搜索JQuery对象上一个给定的元素.该方法有四种不同的函数签名,接下来将讲解这四种函数签名的具体用法. 无参数的.index() < ...