Get table information in mysql database

 

 

 

 


#regionGet database table information list /// <summary> /// Get database table information list /// </ summary> /// <param name = "input"> </ param> /// <returns> < / returns> public Task <List <DetailMessageInfoDto >> GetTableList ( string input) { using (MySqlConnection conn = GetConnection ()) { List <DetailMessageInfoDto> dic = new List <DetailMessageInfoDto> (); MySqlCommand cmd = conn.CreateCommand (); if (string.IsNullOrEmpty(input)) { cmd.CommandText = "select table_name from information_schema.tables where table_schema='"+ dataName + "' and table_name <>'__efmigrationshistory'"; } else { cmd.CommandText =string.Format("select table_name from information_schema.tables where table_schema='"+ dataName + "' and table_name like '%{0}%'",input); } using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { string table = reader.GetString("table_name"); DetailMessageInfoDto model = new DetailMessageInfoDto() { TableName = table }; dic.Add(model); } } conn.Close(); return Task.FromResult(dic); } } #endregion
  #regionGet database table field information based on table name
         ///  <summary> 
        /// Get database table field information based on table name
         ///  </ 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='"+ dataName + "' 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);
                        }
                    }
                }
                conn.Close();
                
                return Task.FromResult(dic.Values.ToList());
            }
        }
        #endregion


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

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; } }
 public class DetailMessageInfoDto
    {
        /// <summary>
        /// 描述
        /// </summary>
        public string TableName { get; set; }
    }
 
 

 

 

 

Guess you like

Origin www.cnblogs.com/cyqdeshenluo/p/12712064.html