2020-04-01 10:14:40 版本 : 获取mysql数据库中的表信息
作者: 陈一奇 于 2020年04月01日 发布在分类 / 人防组 / 人防后端 下,并于 2020年04月01日 编辑
 历史版本

修改日期 修改人 备注
2020-04-01 10:17:51[当前版本] 陈一奇 格式调整
2020-04-01 10:17:27 陈一奇 格式调整
2020-04-01 10:14:40 陈一奇 格式调整
2020-04-01 10:12:57 陈一奇 格式调整

获取数据库表名

 #region 获取数据库表信息列表
        /// <summary>
        /// 获取数据库表信息列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public Task <List<string>> GetTableList(string input)
        {
            using (MySqlConnection conn = GetConnection())
            {
                List<string> dic = new List<string>();
                MySqlCommand cmd = conn.CreateCommand();
                if (string.IsNullOrEmpty(input))
                {
                    cmd.CommandText = "select table_name from information_schema.tables  where table_schema='数据库名称' ";
                }
                else
                {
                    cmd.CommandText =string.Format("select table_name from information_schema.tables  where table_schema='数据库名称' and table_name like '%{0}%'",input);
                }
                using (MySqlDataReader reader = cmd.ExecuteReader())
                {
                   
                    while (reader.Read())
                    {
                        string table = reader.GetString("table_name");

                        dic.Add(table);

                    }
                 


                }
                return Task.FromResult(dic);
            }
}

获取表字段,字段类型,字段描述


        #region 根据表名获取数据库表字段信息
        /// <summary>
        /// 根据表名获取数据库表字段信息
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public Task<List<MyTable>> GetFieldList(string table)
        {
            using (MySqlConnection conn = GetConnection())
            {
                Dictionary<string, MyTable> dic = new Dictionary<string, MyTable>();
                MySqlCommand cmd = conn.CreateCommand();
                
                    cmd.CommandText =string.Format("select table_name,column_name,data_type,column_comment from information_schema.columns  where table_schema='数据库名称' and table_name='{0}'",table);

                using (MySqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                    
                        Columns columns = new Columns();
                        string column = reader.GetString("column_name");
                        string types = reader.GetString("data_type");
                        string comment = reader.GetString("column_comment");
                        columns.ColumnName = column;
                        columns.TypeName = types;
                        columns.comment = comment;
                        if (dic.ContainsKey(table))
                        {
                            dic[table].ColumnList.Add(columns);
                        }
                        else
                        {
                            MyTable t = new MyTable();
                            t.Table = table;
                            t.ColumnList.Add(columns);
                            dic.Add(t.Table, t);
                        }
                    }
                }
                return Task.FromResult(dic.Values.ToList());
            }
        }
        #endregion


        public MySqlConnection GetConnection()
        {
            MySqlConnection conn = new MySqlConnection(ConfigurationManager.conns);
            conn.Open();
            return conn;
        }

获取连接数据库字符串


    public class ConfigurationManager
    {
        public readonly static IConfiguration Configuration;
        static ConfigurationManager()
        {
            //
            Configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: true)
                .Build();
        }

        public static string conns
        {
            get { return Configuration.GetConnectionString("Default"); }
        }
    }

public  class MyTable
    {
        public string Table { get; set; }
        public List<Columns> ColumnList { get; set; } = new List<Columns>();
    }

    public class Columns
    { 
    public string ColumnName { get; set; }
    public string TypeName { get; set; }
     public string comment { get; set; }
    }

历史版本-目录  [回到顶端]
    知识分享平台 -V 4.8.7 -wcp