MySQL 中获取用户表、用户视图、用户表中列信息
2019-04-23 20:15 音乐让我说 阅读(1048) 评论(0) 编辑 收藏 举报直接贴代码了:
/// <summary> /// MySql 数据库维护中心 /// </summary> public class MySqlDbMaintenance:DbMaintenanceProvider { /// <summary> /// 获取视图信息列表 Sql语句 /// </summary> protected override string GetViewInfoListSql => @"select TABLE_NAME as Name,TABLE_COMMENT as Description from information_schema.tables where TABLE_SCHEMA=(select database()) AND TABLE_TYPE='VIEW'"; /// <summary> /// 获取数据表信息列表 Sql语句 /// </summary> protected override string GetTableInfoListSql => @"select TABLE_NAME as Name,TABLE_COMMENT as Description from information_schema.tables where TABLE_SCHEMA=(select database()) AND TABLE_TYPE='BASE TABLE'"; /// <summary> /// 根据数据库表名获取列信息 Sql语句 /// </summary> protected override string GetColumnInfosByTableNameSql { get { string sql = @"SELECT 0 as TableId, TABLE_NAME as TableName, column_name AS DbColumnName, CASE WHEN left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1)='' THEN COLUMN_TYPE ELSE left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1) END AS DataType, CAST(SUBSTRING(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)+1,LOCATE(')',COLUMN_TYPE)-LOCATE('(',COLUMN_TYPE)-1) AS signed) AS Length, column_default AS `DefaultValue`, column_comment AS `ColumnDescription`, CASE WHEN COLUMN_KEY = 'PRI' THEN true ELSE false END AS `IsPrimaryKey`, CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity, CASE WHEN is_nullable = 'YES' THEN true ELSE false END AS `IsNullable` FROM Information_schema.columns where TABLE_NAME='{0}' and TABLE_SCHEMA=(select database()) ORDER BY TABLE_NAME"; return sql; } } }
代码来自于:https://github.com/jianxuanbing/Bing
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2013-04-23 中文女和程序员的爱情奇遇[转]
2011-04-23 一个小的 Quartz Demo